さくらのVPSで当inoccu.netを運用するようになって6日目。環境的にも、パフォーマンス的にも落ち着きつつある。その間、多くのサイトでの情報提供のお世話になったので、感謝の気持ちを込めてまとめておく。

いま、さくらのVPSを契約しようかと考えている人の多くは、さくらのレンタルサーバをはじめとする共有型のレンタルサーバの契約者だと思う。そういう人たちは、きっと独自ドメインを持っていて、サーバではWordPressを動かしてブログをやっている。だから、さくらのVPSをそれまでのレンタルサーバの移行先と考えるならば、やっぱりWordPressを動かしたいのではないだろうか。

WordPressを動かすまでにやるべきことを順序立てると、以下のようになる。

  1. 基本的なセキュリティ対策をする
  2. Apache、PHP、MySQLを導入する
  3. メールを使えるようにする
  4. 独自ドメインを使えるようにする
  5. vsftpdをインストールする
  6. WordPressをインストールする
  7. 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

トラックバック一覧

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">

トラックバックURL

最新の記事一覧

  • アーカイブ

  • サイト内検索

ページ上部に