Centos7
Apache 未使用新的文件根目錄
我已經在我的 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
。