在SELINUX启用的时候,如果你需要修改Apache的默认根目录路径,很多时候会提示“DocumentRoot must be a directory”错误。这是由于SELinux的安全策略引起的。网上很多处理办法都是直接关闭SELINUX,如果禁用了,安全性会有所降低,因此在这里不建议禁用。这里介绍如何在不仅用SELINUX的情况下,解决在Linux云主机中“DocumentRoot must be a directory”错误,导致无法启动Apache的方法:
1.确认你的DocumentRoot目录名称不含中文。
2.查看目录的类型,使用“ 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
如上,蓝色字符部分是你的站点根目录,红色字符部分,显示的是你这个目录的类型,如此的一个类型的目录在SELINUX启用的时候是不可以被设置为站点根目录的,我们需要修改为“ httpd_sys_content_t”类型.
a.操作指令为“chcon -R -h -t httpd_sys_content_t /rrc78_com”
b.之后再使用“ 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:httpd_sys_content_t wwwroot
-rwxrwxr-x root root root:object_r:file_t
看绿色字符部分,已经修改过来了,这时候我们需要的就是重启Apache,这时候你会发现Apache能够正常启动,亦无错误提示。
本文版权所有,转载须注明:来源 https://www.qvdv.net/qvdv-zhuji-758.html