我试图将我的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>