Centos7

Apache 未使用新的文件根目錄

  • December 30, 2020

我已經在我的 Centos 7 上安裝了 apache Web 伺服器,並且我已經啟用mod_ssl了它。但是當我嘗試將其預設文件根目錄更改為新的(例如/home/user/public_html)時,它會顯示一個403 Forbidden頁面。我想可能是因為目錄的權限,但我不知道如何處理它以及如何更改它。我現在該怎麼辦?非常感謝任何幫助。

不要將文件根目錄放在使用者主目錄中。由於多種原因,這是不安全的,SELinux 預設不允許 Web 伺服器讀取使用者主目錄中的文件。使用 SELinux 可辨識的目錄,例如/srv/www,在該目錄下為每個虛擬主機創建目錄,並為必須訪問內容的使用者授予適當的權限和 ACL。

如果由於某種原因您不能遵循良好的做法並且必須讓 Web 伺服器從使用者主目錄讀取內容,您可以設置httpd_read_user_content布爾值。

setsebool -P httpd_read_user_content 1

但請注意,再次出於安全考慮,SELinux 永遠不會允許寫入使用者主目錄,因此期望寫入內容(例如使用者上傳)的 Web 應用程序功能將無法工作。在另一個目錄下,例如/srv/www,必須可寫的目錄可以指定類型httpd_sys_rw_content_t

引用自:https://serverfault.com/questions/1047973