Laravelで、404エラー permission deneidに対処
2019年02月18日
LaravelをCentOS、nginx環境にインストールしたのですが、初期設定完了後にサイトへアクセスすると、404エラーが発生しました。
エラーログを確認すると
permisson denied
が発生
phpファイルへのアクセスが拒否されているようです。
該当のエラーが起きているファイルやディレクトリを
chmod 777 エラーが起きているファイル
にしています。
結果、そこから先のファイルがさらにエラー
プロジェクトフォルダとファイルを全て777にしたらいけるんでしょうけど、それはそれでセキュリティに不安が残ります。
そもそも、nginx環境のphpのサイトで、プロセスを実行しているユーザってどのユーザなのでしょうか。
ps コマンドでプロセスを監視してみます。
すると
httpd php-fpm
となっていたので、ユーザ「httpd」が実行しているようです。
ユーザ「http」が属しているグループはどこなのでしょうか。
groups httpd
httpd : www
ということで、httpdユーザは、グループ「www」に所属していました。
プロジェクトフォルダのオーナーをwwwに変更してみます。
chown -R ユーザ名:www プロジェクトフォルダ名
これで、該当のフォルダのオーナーのグループが「www」になりました。
これで、サイトにアクセスするとエラーが消えて無事にサイトが表示されました。