php5-fpmを更新したらphpが表示されなくなる場合の対処方法

昨日寝る前にRaspbianのアップデートをして動作確認せずに寝たんですけど(ぁ、改めて確認したらphpだけ表示できなくなっていました。
表には公開していないテスト用の子なのでテキトーにやってたんですけど、それでもちゃんと見てアップデートしないといけないなーと…
とりあえずログを見てみると、次の文字列が出てました。

connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) ~

この子のWebサーバは nginx なんですけど、要は nginx から “php5-fpm.sock” にアクセスができないと。
php5 まわりがアップデート対象だったのは覚えていたので、ちょいと確認してみました。

php5-fpmは “5.4.4-14+deb7u9” から “5.4.4-14+deb7u10” にアップデートされてるんですけど、脆弱性対策でSocketファイルのデフォルトパーミッションが “0666” から “0660” になって、これで nginx から php5-fpm に接続できないから怒られてたみたい。

参考: DSA-2943-1 php5 — セキュリティ更新

この子の nginx は user / group が “nginx:nginx” で動いているんですけど、 php5-fpm の設定ファイルの中で “/etc/php5/fpm/pool.d/www.conf” の “listen-owner” と “listen-group” を正しく記述してあげればとりあえず良さげ。
というわけで、次のような感じで修正。

44,45c44,45
< ;listen.owner = www-data
< ;listen.group = www-data
---
> listen.owner = nginx
> listen.group = nginx

なお、アップデートするときに「今の設定ファイルをそのまま使うか、ディストリビューションの新しいファイルどちらを使う?」的なダイアログが出てくるので、変更すべき点がわかっているなら素直にディストリビューションのconfに置き換えてから、必要な設定を変更し直したほうが良いかも。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中