3/16 に発売された「WordPress 高速化&スマート運用必携ガイド」ですが、ありがたいことに Facebook ページやメールで、内容についていくつかお問い合わせをいただいています。
僕が執筆担当したセクションで、特につまずきそうなところや、執筆時から事情が変わったところ、および間違っているところについて、ちょっと解説を入れようと思います。
[P153][P160] epel リポジトリのインストールができない
本書では、epel リポジトリ登録用の rpm パッケージを download.fedora.redhat.com からインストールするように指定しています。
書籍執筆時は download.fedora.redhat.com が利用できたのですが、現在はこのサイトは利用できなくなっており、代わりに dl.fedoraproject.org からダウンロードするようになったようです。
以下のコマンドで、dl.fedoraproject.org から epel リポジトリ登録用の rpm パッケージをインストールできます。
$ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL $ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
また、現在のさくらVPS では CentOS 6 がデフォルトになっています。
上記の rpm パッケージは CentOS 5.x 用のモノですので、もし CentOS 6 を使用されているようであれば、2行目は以下のコマンドを使用してください。
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
参考:
- Please update your links: download.fedora.redhat.com -> dl.fedoraproject.org « Kevin's musings
- 「download.fedora.redhat.com」が繋がらない « メモとか
[P170] Nginx の最新バージョン
Nginx の最新バージョンは 1.0.12 となっていますが、現時点での最新バージョンは 1.0.15 です。
特に 1.0.14 では、セキュリティ Fix が行われていますので、1.0.14 以降を利用することをオススメします。
nginx security advisories
1.0.15 のソースのダウンロード先は、以下になります。
http://nginx.org/download/nginx-1.0.15.tar.gz
[P171] rpm ビルド用のソースパッケージがダウンロードできない
これも「[P153][P160] epel リポジトリのインストールができない」と同じ理由で、download.fedora.redhat.com が利用できなくなっているからです。
以下からダウンロードしてください。
- CentOS 5.x: http://dl.fedoraproject.org/pub/epel/5/SRPMS/nginx-0.8.55-2.el5.src.rpm
- CentOS 6: http://dl.fedoraproject.org/pub/epel/6/SRPMS/nginx-1.0.14-1.el6.src.rpm
[P173] Nginx の rpm ビルドが失敗する
もし、以下のようなエラーが表示されて、失敗するのであれば perl-ExtUtils-Embed というパッケージが、サーバにインストールされていないために失敗しています。
error: Failed build dependencies: perl(ExtUtils::Embed) is needed by nginx-1.0.1x-2.el6.x86_64
以下のコマンドで、perl-ExtUtils-Embed パッケージをインストールできます。
$ sudo yum install perl-ExtUtils-Embed
「~ is needed by nginx-1.0.1x-2.el6.x86_64」というエラーは、Nginx をビルドするために必要なパッケージが
サーバに存在しないというエラーです。
他にも、このようなエラーが表示された場合は、指摘されたパッケージを yum でインストールしてやってください。
[P180] Apache, PHP を導入したのに phpinfo() の結果が表示されない
手順の中に Apache を再起動して、設定を反映する所が抜けていました。
ターミナルで ssh 接続して、以下のコマンドで Apache を再起動して、設定を反映してみてください。
$ sudo /sbin/service httpd restart
[P183] Nginx を導入し、PHP の設定を行ったのに phpinfo() の結果が表示されない
具体的には、以下のようなメッセージが画面に表示されるのみの状況に陥る。
File not found.
提示していた nginx.conf の設定が、イマイチうまく有りませんでした。
Gist に、正常に動作するように修正した nginx.conf の設定を載せておいたので、修正してみてください。
WordPress 高速化&スマート運用必携ガイド P183〜P184 修正 — Gist
[P225] ngx_cache_purge モジュールのバージョン
ngx_cache_purge モジュールの最新バージョンは 1.4 と記述してありますが、現時点では 1.5 です。
ダウンロード先は、以下になります。
http://labs.frickle.com/files/ngx_cache_purge-1.5.tar.gz
[P233] リバースプロキシ設定で nginx.conf の構文エラーが発生する
具体的には、以下のようなエラーメッセージが表示される。
the size 4194304 of shared memory zone "cache1" conflicts with already declared size 0 in /etc/nginx/nginx.conf:73 nginx: configuration file /etc/nginx/nginx.conf test failed
P220 の「プロキシキャッシュの基本設定」で提示しているコードが間違っていました。
proxy_cache cache1; proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache1:4m max_size=50m inactive=120m; proxy_temp_path /var/tmp/nginx; proxy_cache_key "$scheme://$host$request_uri"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1行目の「proxy_cache cache1;」は不要です。この行を削除してください。