apache遇到403问题 -- DocumentRoot设置在某个用户目录中了

来源:百度文库 编辑:神马文学网 时间:2024/04/25 21:07:34
问题1 : 403问题
apache2使用的是/etc/httpd中的, tomcat启动,以及tomcat中所有内容,使用的是tomcat用户的
把apache2的DocumentRoot链接到tomcat/webapps/ROOT目录
访问:ROOT中的images目录中的文件,产生403错误: Forbidden

images目录,以及目录中的文件的权限: 都是777
apache的error日志报:
Permission denied: acess to ......


将DocumentRoot换成httpd目录下的htdocs,链接到tomcat的root,也不行

访问: http://111.111.112.218/BugFree2可以访问的
访问: http://111.111.112.218/index.html也是403
这样应该是 的配置有问题
看配置中,没有 deny,也没有allow,在Directory中加上

  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  allow from all

也不行

检查apache的log ,apache的error日志报 发现:
:Symbolic Link not allowed, 不允许链接

重新修改配置:
将DoucmentRoot修改成tomcat下的root,又恢复原来的错误:
Permission Denied: ..

无论: Order设置成 allow,deny  还是 deny,allow

联想到网上说的selinux问题,但是我用的不是selinux,

将DocumentRoot修改成/var/www/html,同样的文件copy到这个目录下,可以的,难道是文件所有权问题?(包括目录)
但是在/home/tomcat下用root建一个同样的目录,放同样的文件,还是不行
但是将该目录移动到opt下可以了?
难道是在/home/tomcat目录下不行?

网上查了老半天,都是selinux的问题,好不容易找到对应的问题:
http://bbs2.chinaunix.net/thread-1352109-1-1.html
除了要将DocumentRoot目录设置成755权限,还要将/home/tomcat --- 用户的目录权限也设置成755

果真好了,可以运行了

总结网上的一些403问题 :
1. DocumentRoot设置要正确
2. 文件本身的读写权限要正确,755肯定是可以的 (包括上层目录,我这个问题比较蹊跷)
3. selinux问题: 网上到处是
4. 还有人说文件类型不对,也会发生403问题 (没有配置过的mime type)
5. 在我这里遇到的symlink问题 -- 这个小问题,也不做解答了

其实最主要的还是看log,首先判断什么问题,但是问题的产生原因不同,采用的解决方式也不同