欢迎来到奇迪科技(深圳)有限公司,超值服务提供卓越产品!

云主机和虚拟主机

Linux云主机Apache中,DocumentRoot must be a directory错误解决办法

作者:qvdv来源:www.qvdv.com更新时间:2015-01-27

在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能够正常启动,亦无错误提示。


本文版权所有,转载须注明:来源 http://www.qvdv.com/qvdv-zhuji-758.html