Linux云主機Apache中,DocumentRoot must be a directory錯誤解決辦法_云主機和虛擬主機_奇迪科技(深圳)有限公司(m.cheanjie.com)
在SELINUX啟用的時(shí)候,如果你需要修改Apache的默認根目錄路徑,很多時(shí)候會(huì )提示“DocumentRoot must be a directory”錯誤。這是由于SELinux的安全策略引起的。網(wǎng)上很多處理辦法都是直接關(guān)閉SELINUX,如果禁用了,安全性會(huì )有所降低,因此在這里不建議禁用。這里介紹如何在不僅用SELINUX的情況下,解決在Linux云主機中“DocumentRoot must be a directory”錯誤,導致無(wú)法啟動(dòng)Apache的方法:
1.確認你的DocumentRoot目錄名稱(chēng)不含中文。
2.查看目錄的類(lèi)型,使用“ ls -laZ”命令:
drwxrwxr-x root root system_u:object_r:file_t .
drwxr-xr-x root root system_u:object_r:root_t ..
drwxrwxr-x root root system_u:object_r:file_t lost+found
drwxr-xr-x root root root:object_r:file_t wwwroot
-rwxrwxr-x root root root:object_r:file_t
如上,藍色字符部分是你的站點(diǎn)根目錄,紅色字符部分,顯示的是你這個(gè)目錄的類(lèi)型,如此的一個(gè)類(lèi)型的目錄在SELINUX啟用的時(shí)候是不可以被設置為站點(diǎn)根目錄的,我們需要修改為“ httpd_sys_content_t”類(lèi)型.
a.操作指令為“chcon -R -h -t httpd_sys_content_t /rrc78_com”
b.之后再使用“ ls -laZ”命令查看,結果類(lèi)似如下:
drwxrwxr-x root root system_u:object_r:file_t .
drwxr-xr-x root root system_u:object_r:root_t ..
drwxrwxr-x root root system_u:object_r:file_t lost+found
drwxr-xr-x root root root:object_r:httpd_sys_content_t wwwroot
-rwxrwxr-x root root root:object_r:file_t
看綠色字符部分,已經(jīng)修改過(guò)來(lái)了,這時(shí)候我們需要的就是重啟Apache,這時(shí)候你會(huì )發(fā)現Apache能夠正常啟動(dòng),亦無(wú)錯誤提示。
本文版權所有,轉載須注明:來(lái)源 http://m.cheanjie.com/qvdv-zhuji-758.html