目次
はじめに
本日の08:00~09:30頃まで当サイトが404エラーでページが表示されなくなっていました。
nginxの再起動をしたところ、この状態になってしまいました。
エラーログを確認
エラーログを確認したところ下記のようなエラーが発生していました。
[crit] open() "/hogehoge_html/DocumentRoot/index.php" failed (13: Permission denied), client: xxx.xx.x.xx, server: www.kabanoki.net, request: "GET / HTTP/1.1", host: "www.kabanoki.net"
ファイルのパーミッションを変更
エラーのログに(13: Permission denied)とあるので、権限に問題があるのかな?と試しにindex.phpのパーミッションを777に変更するも404から変わらず・・・
やけくそでディレクトリのパーミション変更
だんだん視界が滲んできたので、やけくそでルートディレクトリまでパーミッションを変更してみました。
home 701 -> 711 sitename 701 -> 711 sitename_html 701 -> 755 DocumentRoot 711 -> 755
これでアクセスしてみると・・・
キターーー!!
なんとかサイトが表示されるところまで辿り着きました!
原因
nginxを再起動しただけでパーミッションの問題が起きるのはおかしいなと調査してみると・・・
usermod -G hoge httpd usermod -G hoge www usermod -G hoge nginx
あっ・・・
グループ追加に-aを付け忘れてる・・・
-aがないとセカンダリグループが置き換えられます。
これだね・・・
まとめ
- nginxがPermission deniedのエラーを発生させていたら権限が問題
- グループ追加でusermodには必ず-aを付与する