apache启动提示Document root must be a directory
2013-09-09 16:32
507 查看
解决办法:方法一:把目录或文件的策略类型改成 httpd_sys_content_t 就可以了。
# chcon -R -h -t httpd_sys_content_t /www/web/
然后可以用 ls -laZ 命令查看文件目录的策略类型。
方法二:禁用SELinux
linux系统貌似还有个SElinux安全机制,查看一下状态吧。[root@localhost home]# getenforceEnforcing果然SElinux被开启了,而且还是强制模式。目录被设成了user_home_t类型,apache的进程没有权限,无法访问。针对Apache的进程所使用的SELinux target policy规定了apache的进程只能访问httpd_sys_content_t类型的目录或文件。所以只要修改相关的权限就可以了。 解决办法:1.更改文件夹权限chcon -t httpd_sys_content_t /home/www/chcon -t httpd_sys_content_t /home/www/html/然后ls -Z查看目录权限
看,权限被改为httpd_sys_content_t了吧。这样就可以启动httpd了。2.关闭SElinux关闭SElinux的话需要重启系统,修改方法为:vi /etc/selinux/config修改SELINUX=disabled然后重启系统就关闭SElinux了。
++++++++++++++++++++++++++++++++++++++++++++++++
另外一篇参考文章:apache提示DocumentRoot must be a directory系统环境:Scientific Linux release 6.2将DocumentRoot改为 /home/godontop/www 后提示:Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory[root@sl ~]# getsebool -a |grep httpd_enable_homedirs httpd_enable_homedirs --> off原来是SELinux不允许使用home目录作为web目录!修改 SELinux 设定view sourceprint?1 [root@sl ~]# setsebool httpd_enable_homedirs on之后重启apache,一切正常[root@sl ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
# chcon -R -h -t httpd_sys_content_t /www/web/
然后可以用 ls -laZ 命令查看文件目录的策略类型。
方法二:禁用SELinux
linux系统貌似还有个SElinux安全机制,查看一下状态吧。[root@localhost home]# getenforceEnforcing果然SElinux被开启了,而且还是强制模式。目录被设成了user_home_t类型,apache的进程没有权限,无法访问。针对Apache的进程所使用的SELinux target policy规定了apache的进程只能访问httpd_sys_content_t类型的目录或文件。所以只要修改相关的权限就可以了。 解决办法:1.更改文件夹权限chcon -t httpd_sys_content_t /home/www/chcon -t httpd_sys_content_t /home/www/html/然后ls -Z查看目录权限
看,权限被改为httpd_sys_content_t了吧。这样就可以启动httpd了。2.关闭SElinux关闭SElinux的话需要重启系统,修改方法为:vi /etc/selinux/config修改SELINUX=disabled然后重启系统就关闭SElinux了。
++++++++++++++++++++++++++++++++++++++++++++++++
另外一篇参考文章:apache提示DocumentRoot must be a directory系统环境:Scientific Linux release 6.2将DocumentRoot改为 /home/godontop/www 后提示:Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory[root@sl ~]# getsebool -a |grep httpd_enable_homedirs httpd_enable_homedirs --> off原来是SELinux不允许使用home目录作为web目录!修改 SELinux 设定view sourceprint?1 [root@sl ~]# setsebool httpd_enable_homedirs on之后重启apache,一切正常[root@sl ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
相关文章推荐
- apache提示DocumentRoot must be a directory
- WAMP的apache无法启动DocumentRoot must be a directory
- apache提示DocumentRoot must be a directory
- linux CentOs 权限导致的Apache - "DocumentRoot must be a directory"的解决方案
- Windows更改Apache网站目录出错:Document root must be a directory
- Linux更改Apache网站目录出错:Document root must be a directory解决
- apache启动出错:ServerRoot must be a valid directory
- Apache - "DocumentRoot must be a directory"的解决方案
- Linux更改Apache网站目录出错:Document root must be a directory
- apache服务器: ServerRoot must be a valid directory,Cannot load modules/mod_actions.so into server:
- 设置httpd.conf的DocumentRoot值为其他目录时出现“Document root must be a directory”的问题
- Document root must be a directory解决办法
- 设置httpd.conf的DocumentRoot值为其他目录时出现“Document root must be a directory”的问题
- Apache安装报错:ServerRoot must be a valid directory
- Document root must be a directory
- smb4k提示:smbmnt must be installed suid root怎么版
- ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....
- Document root element "beans", must match DOCTYPE root "null".的错误提示
- the markup in the document preceding the root element must be well-formed