发新话题
打印

httpd.conf中一旦修改DocumentRoot为其他的目录,则出现Forbidden

httpd.conf中一旦修改DocumentRoot为其他的目录,则出现Forbidden

尊敬的斑竹:

我用的配置组合如下     RedHat linux AS 4+httpd2.2.9+mysql-5.0.37 +PHP5.1.6
1、安装完毕后,修改httpd.conf 默认目录/usr/local/apache2/htdocs  为另一目录如 /var/www,其下有/var/www/index.htm  ,修改后访问出现如下情况:
     
http://ip    出现  Forbidden     You don't have permission to access / on this server.
或者
http://ip/index.htm     出现      HTTP 错误 403 - 禁止访问

2、但是如果我修改默认目录如/usr/local/apache2/htdocs/new   ,就没有问题


对站点斑竹以往支持表示感谢!






[ 本帖最后由 msheep 于 2008-6-22 12:30 编辑 ]      
附件: 您所在的用户组无法下载或查看附件

TOP

注意你的SELinux设置,如果你不清楚SELinux是什么,请参考这个帖子:
http://www.linuxsense.org/viewnews-72.html
或用google搜索答案。
如果你在局域网使用web服务器,完全可以将SELinux关掉。但是如果在公网使用,还是使用SELinux比较好,可以使得你的服务器的安全级别提高一个量级。      
林子大了,什么鸟都有......

TOP

还要检查文件夹的权限      

TOP

回复 #2 bwb 的帖子

你的回复使我问题解决有了进展,谢谢!
1、根据你关于SElinux帖子,我意识到系统是集成了该功能的,
问题1:只是我想如何知道该安全功能默认是开启的呢?是从配置文件中了解吗,SElinux有没有运行的进程存在?

2、解决方法1 google后,我发现出现上述问题的原因不在于SElinux,而是因为httpd.conf中有
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all    ..........修改为Allow from all 后解决
</Directory>
将Deny from all  修改为Allow from all ,就可以访问到我虚拟主机设置文件中的其他目录了!如可访问/var/www,附虚拟主机文件 httpd-vhosts.conf
<VirtualHost *:80>
  DocumentRoot /var/www
  ServerName www.xxx.cn
  DirectoryIndex index.html index.php index.htm
</VirtualHost>
问题2:在主文件httpd.conf中修改为Allow from all 后,apache的默认根目录及/var/www目录的安全性又如何?

3、解决方法2     或者不改变主文件httpd.conf,在虚拟主机文件 httpd-vhosts.conf中,按如下设置也可以访问到该虚拟主机目录
<Directory /var/www>               
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

<VirtualHost *:80>
  DocumentRoot /var/www
  ServerName www.xxx.cn
  DirectoryIndex index.html index.php index.htm
</VirtualHost>
问题3:究竟如何设置虚拟主机才更为安全?

[ 本帖最后由 msheep 于 2008-6-22 01:18 编辑 ]      
本帖最近评分记录
  • bwb 贡献积分 +1 谢谢你的对这个问题的解答 2008-6-22 09:50
感谢伊甸园斑竹!

TOP

有了进一步的解答,对于维护服务器的兄弟姐妹来说是一个福音。
如果服务器用在公网中,使用SELinux是明智之举。这样可以将你的服务器安全等级从简单的C2级别一下提高到军用级的B1。      
林子大了,什么鸟都有......

TOP

发新话题