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

首先:保证修改后的DocumentRoot的目录具有apache访问权限,也为apache服务器是以apache用户启动的,他对/home/username/目录不一定有访问权限。我做的方法是首先给该目录777权限,同时增加两行代码:user username;gourp username
可以参考:http://stackoverflow.com/questions/10873295/error-message-forbidden-you-dont-have-permission-to-access-on-this-server


1 关闭 防火强 和  SElinux 进程 ,需要重启服务器

//这个是确保内部没有安全因素的问题下的

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


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

  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

  DirectoryIndex index.html index.php index.htm

</VirtualHost>


发布了24 篇原创文章 · 获赞 33 · 访问量 18万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览