さくらのVPSで当inoccu.netを運用するようになって6日目。環境的にも、パフォーマンス的にも落ち着きつつある。その間、多くのサイトでの情報提供のお世話になったので、感謝の気持ちを込めてまとめておく。
いま、さくらのVPSを契約しようかと考えている人の多くは、さくらのレンタルサーバをはじめとする共有型のレンタルサーバの契約者だと思う。そういう人たちは、きっと独自ドメインを持っていて、サーバではWordPressを動かしてブログをやっている。だから、さくらのVPSをそれまでのレンタルサーバの移行先と考えるならば、やっぱりWordPressを動かしたいのではないだろうか。
WordPressを動かすまでにやるべきことを順序立てると、以下のようになる。
一般的なレンタルサーバだと、6が必須で、3,4,7といったあたりを適宜やれば良いという程度だろう。しかし、さくらのVPSでは1~7まですべてが必須だ。やはり、やることが多い。
1.基本的なセキュリティ対策をする
これぞ基本のキ。さくらのVPSを契約した直後、VPSは停止状態になっている。コントロールパネルから起動すると、そこに現れるのは無防備な公開サーバーだと思って良い。だから、セキュリティ対策が必要なのだが、私は下記2つのサイトを参照して実施した。
CentOSをサーバーとして活用するための基本的な設定 (さくらインターネット創業日記)
さくらの格安VPSを借りたらいつもやっている設定いろいろ – IDEA*IDEA ~ 百式管理人のライフハックブログ
SSHの設定については、特に下記サイトが詳しい。
myfinder’s blog: さくらのVPSを借りたら真っ先にやるべきssh設定
あと、すでに導入されているパッケージの一括アップデートをしておいた方が良い。yum updateでOKだ。
2.Apache、PHP、MySQLを導入する
Apache、PHP、MySQLを導入すればLAMP環境が出来上がる。WordPressの動作環境が揃うわけだ。上記IDEA*IDEAの記事を見れば良いと思う。
当ブログでも簡単にまとめてある。
さくらのVPSに移行するときにやったこと – inoccu blog
MySQLのインストール後に、WordPress用のユーザとデータベースを作成する。WordPress用に作成したユーザが全権限を持つ、WordPress専用のデータベースを1つ作れば良いのではないだろうか。さくらのVPSでは、当然ながらMySQLデータベースを無制限に作成可能だ。レンタルサーバのように1つまでとか5つまでといった上限がないのだから、お大尽に使っても良いと思う。管理上もセキュリティ上もアプリケーション毎にユーザとデータベースを作っておいた方が良い。
3.メールを使えるようにする
WordPressのインストール時に管理人のメールアドレスを入力する必要がある。ふつうに使えるアドレスなら何でも良いのだが、せっかく独自ドメインがあるのだから、その独自ドメインのメールアドレスを入力したい。メールに関してはGoogle Appsを使うというのも良い選択肢だと思うが、VPS環境でメールサーバを立てるのも良い。
inoccu.netでは、現時点ではsendmail+cyrus-imapdを使っている。cyrus-imapdを使うとUNIXユーザとメールユーザを個別に管理できる。WordPressでケータイ投稿が出来るようにすると、モブログ専用のメールアドレスが必要になる。その際にモブログ用ユーザをUNIXユーザとして作らなくても良いというのがメリットだ。
設定は、まずsendmailで外部からのメールを受信できるようにする。
さくらのVPS(CentOS+sendmail)で外部からのメールを受信する方法 – IDEA*IDEA ~ 百式管理人のライフハックブログ
次に、cyrus-imapdをインストールする。
#yum -y install cyrus-imapd cyrus-imapd-utils cyrus-imapd-perl db4-utils lm-sensors
PKI認証鍵を作る。
#yum -y install openssl #cd /etc/pki/tls/certs #make localhost.crt 作成された秘密鍵を移動する #mv /etc/pki/tls/certs/localhost.key /etc/pki/tls/private/ パスフレーズの削除 #my localhost.key localhost.key.org #openssl rsa -in localhost.key.org -out localhost.key
/etc/imapd.conf(抜粋)は、こんな感じにする。
admins: cyrus (cyrus-imapの管理ユーザ名) sasl_pwcheck_method: auxprop sasl_mech_list: PLAIN, CRAM-MD5, DIGEST-MD5 tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/aaa.crt (作成したPKI認証鍵) servername: aaa.inoccu.net (適宜)
sasl_pwcheckがここでのポイント。CentOS5のデフォルトでは、UNIXユーザのID/Passwordで認証されるようになっている。(sasl_pwcheck_methodがsaslauthdになっていて、そのsaslauthdデーモンがshadowメカニズムを使用するように設定されているから。sasldb2で認証するならsaslauthdデーモンは不要だ。)
しかし、UNIXユーザとメールユーザを切り分けたいので、sasl_pwcheckをauxpropとする。また、sasl_mech_listも上記のようにする。これでsasldb2で認証するようになる。
sasldb2のユーザ追加は、下記のとおり。
#saslpasswd2 ユーザID (対話型でパスワードが聞かれる)
ここで、メールユーザのほか、cyrus-imapdの管理ユーザのパスワードも設定(コマンド:saslpasswd2 cyrus)する。作成したユーザは、sasldblistusers2コマンドで確認できる。
sasldb2がcyrus-imapdからアクセスできるように、所属グループを変更しておく。(mailグループで良い)
#chgrp mail /etc/sasldb2
続いて、cyrus-imapdの管理コンソールにログインし、メールボックスを作成。
#cyradm –-user cyrus(cyrus-imapdの管理ユーザ) localhost
パスワードを聞かれるので入力し、ログイン。管理コンソールでのコマンドは、ログイン後にhelpコマンドで表示される。メールボックスを作成するには、createmailboxコマンドを使う。略してcmでも良い。
#createmailbox user.foo (user.作成するメールボックスのユーザ名)
4.独自ドメインを使えるようにする
yumでインストールされるapacheでは、マルチドメインが使用できる。当ブログのようにサブドメインを使用するなら、マルチドメインを使用した方が良いだろう。
/etc/httpd/conf/httpd.confを以下のように設定する。
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@inoccu.net DocumentRoot (WordPressをインストールするディレクトリ) ServerName blog.inoccu.net ErrorLog logs/blog.inoccu.net-error_log CustomLog logs/blog.inoccu.net-access_log common </VirtualHost>
※上記の設定は、blog.inoccu.netの直下にWordPressをインストールする場合の設定だ。
当然、使用するドメインのDNSの設定で、さくらのVPSで割り当てられたIPアドレスを指定する必要がある。
5.vsftpdをインストールする
さくらのVPSではデフォルトでSSHが使えるので、SCPを使ってファイル転送可能だ。しかし、WordPressでプラグインなどの自動アップデートなどをしようと思うと、FTPも必要になる。インストールは、yum –y install vsftpdでOK。
6.WordPressをインストールする
WordPressのインストールは、一般的なレンタルサーバと同様だ。レンタルサーバによってはPHPがセーフモードで動いているから云々といった特殊な設定が必要になるが、VPSなのでその辺は自分の設定次第だ。
7.WordPressのパフォーマンスチューニングをする
ここまでやると、ふつうにWordPressが動いているはずだ。ただ、私はここでハマってしまった。パフォーマンスが出ないのだ。ちょっとアクセスすると平気でLoadAverageが1を超え、数件の同時アクセスがあると一気にLoadAverageが10を超え、20を超え・・・と、とんでもないことになった。いろいろ調べて設定した結果、現時点では非常に安定している。LoadAverageはゼロコンマいくつのレベルにへばりついている。見事だ。
AKIBE – さくらのVPS CentOSでサーバ構築 13 – パフォーマンス
上記サイトの記事は、さくらVPSでの設定内容なので、そのまま実施して良い。特にPHPアクセラレータの導入、MySQLのキャッシュ有効化、Apacheの設定変更の3点セット。
PHPの設定でzlib.output_compressionをOnにする件は、現時点では当サイトではやっていない(Offにしている)。WP-SuperCacheと衝突するためだ。
WordPressのプラグインでは、WP-SuperCacheを使用している。Cachingのモードがデフォルトでは「Use PHP to serve cache files」となっているが、当サイトの設定は推奨の「Use mod_rewrite to serve cache files」にしている。.htaccessの編集が必要なるが、現時点で動作上の問題は出ていない。
プラグインの自動アップデートするだけならFTP必要無いかも。
wp-config.phpに下追記すれば、
パーミッションの設定だけで行ける気がする。
define('FS_METHOD','direct');
2011/11/16 19:42 | c2nprds
c2nprdsさん、たしかにそうですね。
やってみたら、それで出来ました。
2011/11/23 11:27 | Kenichi Inoue
[...] さくらのVPSでWordPressを使うまでのまとめ – INOCCU VISION http://inoccu.net/blog/2010/11/08/150834.html カテゴリー: 未分類 タグ: vps, wordpress 作成者: admin この投稿のパーマリンク [...]
2012/03/18 17:10 | さくらVPSでサブドメインをつくりWordPressをインストールする | nemo