在Fedora中设置Apache DocumentRoot

我试图将我的DocumentRoot从APACHE_ROOT / htdoc更改为Fedora 16中的/ home / user / www。我获得了403禁止访问:您无权访问/在此服务器上。

我修改conf / httpd.conf中的DocumentRoot为:

.. DocumentRoot "/home/user/www" ... 

我改变了我的“www”权限

 chmod -R 777 www 

我重新启动Apache服务器,我仍然得到错误“你没有permision访问/在这台服务器上”

我甚至试过将SELinux设置为

 echo 0 > /selinux/enforce 

问题仍然存在。

我认为这是configuration文件本身的问题..是否有任何其他参数需要改变。

说哟必须改变目录指令也是你的根path

 .... DocumentRoot /home/user/www .... <Directory /home/user/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> 

你也应该更好地调整你的许可政策给我…

我build议不要使用777.首先,你需要find哪个用户httpd / apache设置为运行。 通常是www数据或“nobody”。 这将在主要的Apacheconfiguration文件(“httpd.conf”?)。 我也得到这个组织,并且有任何ftp开发者帐户是apache组的一部分。

那你就是

 chown -Rv nobody /home/user/www 

没有人是apache用户,或者如果你想使用这个组,也可以

 chown -Rv nobody:nogroup /home/user/www 

然后,我build议设置您的chmod更安全的使用

 chmod -Rv 0775 /home/user/www 

你将不得不为自己决定最好的chmod。 如果你使用组来pipe理谁可以编辑文件,那么可能是775,如果不是,那么755。我通常用644开始一切,并在需要时给予额外的许可。 但是,这可能会在大型系统上烦人

以root身份更改terminal中的SELinux上下文:

 chcon -R -t httpd_user_content_t /home/user/www 

不要修改conf / httpd.conf。 创build文件/etc/httpd/conf.d/mysites.conf并插入该内容:

 NameVirtualHost *:80 <VirtualHost *:80> ServerName localhost DocumentRoot /home/user/www <Directory /home/user/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>