fcgiwrapでUNIX Socketを使おうとすると(13: Permission denied)が発生する。

php-fpmとfcgiwrapをTCP Socketで動かしていたのですが、色々調べてるうちにUNIX Socketのほうがよさそうな気がしたのでUnix Socketで動かすことにしました。
php-fpmは問題なかったのですが、fcgiwrapのほうが死んでいました。
netstat -aで調べてみてもちゃんとLISTENしてるしなーと思ってnginxのエラーログを見たら以下のエラーが出力されていました。

unix:/var/run/fcgiwrap.socket failed (13: Permission denied)

www-dataに権限がないらしいので/var/run/fcgiwrap.socketのパーミッションを777にして無理やり解決しました。どうやったら根本的に解決するんだこれ。

追記

自己解決して追記を書いてませんでした。nginxの実行ユーザがwww-dataじゃなかったのが原因でした。
/etc/nginx/nginx.confのuserでnginxの実行ユーザを変更可能です。

/etc/init.d/fcgiwrapをそれにあわせて変更するとfcgiwrap.socketのパーミッションが設定通りになります。
設定箇所は以下。
FCGI_USER=”nginxの実行ユーザ”
FCGI_GROUP=”nginxの実行グループ”

コメントを残す

お手数ですが半角数字で計算結果を入力してください。 *