Linux

httpd 未按預期讀取 conf/httpd.conf 中的文件根目錄

  • May 11, 2018

我的 CentOS7 伺服器上有一個 Laravel 項目,它位於文件夾“/var/www/html/myProject”上。

我已經在“DocumentRoot”和目錄配置中將/etc/httpd/conf/httpd.conf中的文件根目錄更改為“/var/www/html/myProject/public”,所以當我在瀏覽器中輸入IP時它將自動顯示項目。

當我嘗試這樣做並通過瀏覽器訪問我的 IP 時,我收到了以下消息:

Forbidden 您無權訪問此伺服器上的 /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 創建它時留下了它。

這可能是因為公共文件的權限。現在只需授予完全權限,看看它做了什麼

chmod 0777 /var/www/html/myProject/public

或者

chmod -R 0777 /var/www/html/myProject

如果頁面仍然無法訪問,請檢查主機上的 SElinux 狀態。

鍵入sestatus並檢查目前模式。它應該被禁用或處於許可模式。如果它處於強制模式,則httpd網頁可能無法按預期顯示內容。

要將 SElinux 設置為許可模式,請鍵入以下命令:

setenforce 0

引用自:https://unix.stackexchange.com/questions/443143