求apache出现访问403错误的根本原因以及解决

天涯明月稻 发布于 2012/08/06 10:05
阅读 4K+
收藏 0
修改Apache 默认的DocumentRoot路径后,Apache启动失败,失败提示DocumentRoot must be a directory,但确认修改后的路径是目录,且具有linux读写权限。在网上查找了很多,大部分都是由于selinux权限机制引起的,网上的解决方法大多为以下两种:
1,修改目录权限,因为apache默认的用户和用户组为apache,该用户只能访问权限为httpd_sys_content_t 的目录文件,假设想把DocumentRoot改为目录/home/user/www,就修改该目录的权限,命令如下:
     chcon -R -t httpd_sys_content_t /home/user/www
如此,就使得apache可以访问该目录

2,禁用selinux
编辑 /etc/sysconfig/selinux  把其中 SELINUX=enforcing 改为SELINUX=disable
保存后重启系统,问题解决

而我根据第一种方法修改权限后,服务器仍不能启动,禁用selinux后,服务器可以启动了,但浏览器访问时却出现了403错误,提示没有访问权限,真是愁死人了,但这个403错误是之前遇到过的,还好,直接把apache配置文件中的User 和Group的值都从apache 改为当前用户,问题解决,但对于问题的根本原因还是觉得很迷惘,权限都已经授好了,为什么该用户还是不能用呢,求高人解释!可否有其他解决方法?
加载中
0
行者java
行者java
我的也是啊,自定义了一个500页面,总是报告403
0
归海一刀
归海一刀
我一般的做法是将SELinux给禁用了。
0
天涯明月稻
天涯明月稻
我禁用了selinux,apache可以启动,但访问的时候还是会出现403错误,只有把apache中的User 和Group 改为当前用户访问时才不会出现这个错误,搞不明白~
返回顶部
顶部