私のCentOS7サーバーに「/var/www/html/myProject」フォルダにあるLaravelプロジェクトがあります。
「DocumentRoot」とディレクトリの/etc/httpd/conf/httpd.confにあるドキュメントルートを「/var/www/html/myProject/public」に変更したので、ブラウザにIPを入力すると項目が自動的に表示されます。
これを行い、ブラウザを介して自分のIPにアクセスしようとすると、次のメッセージが表示されます。
アクセス禁止 このサーバーの /form にアクセスする権限がありません。サーバーが htaccess ファイルを読み取れません。セキュリティのためにアクセスが拒否されました。
さらなる調査の結果、/var/log/httpd/error_logからアクセスしようとするたびに次のエラーが発生することがわかりました。
[Thu May 10 19:39:33.683522 2018] [core:crit] [pid 1994] (13)Permission denied: [client 79.182.62.1:51091] AH00529: /var/www/html/myProject/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/html/myProject/' is executable
パスは/var/www/html/myProject/publicでなければなりませんが、「public」が欠落しているため、これは奇妙に見えます。
私はApacheを数回再起動し、更新されたことを確認するためにDocumentRootパスを仮想パスに変更しました。
.htaccessファイルに何かがある可能性がありますか?ファイルは変更しませんでしたが、Laravelが作成したままにしておきました。
答え1
これは、公開ファイルに対する権限によるものかもしれません。今度は完全な権限を与え、どのようなことをするのかを確認してください。
chmod 0777 /var/www/html/myProject/public
または
chmod -R 0777 /var/www/html/myProject
ページにまだアクセスできない場合は、ホストのSElinuxステータスを確認してください。
sestatus
現在のモードを入力して確認してください。無効または許可モードにする必要があります。強制モードでは、httpd
Webページにコンテンツが期待どおりに表示されないことがあります。
SElinux を許可モードに設定するには、次のコマンドを入力します。
setenforce 0