我刚刚在我的Fedora 16上设置了apache。而且我无法让我的vhost工作!
虽然localhost / phpmyadmin正常工作..
我在httpd.conf
中得到了这个<Directory /home/renat/www>
AllowOverride All
Options +Indexes +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName fabbro.fm
DocumentRoot /home/renat/www/fabbro
</VirtualHost>
一切都很好,也有权限:
ls -l
drwxr-xr-x. 32 renat renat 4096 янв. 7 16:12 www
我尝试访问fabbro.fm时遇到403错误 error_log说:
[client 127.0.0.1] (13)Permission denied: access to / denied
我该怎么做?
答案 0 :(得分:26)
我解决了这个问题! 由于SELinux安全设置,Apache无法访问这些目录。 我所要做的就是将此命令应用于文档根目录路径中的目录:
chcon -R -t httpd_sys_content_t
答案 1 :(得分:2)
我遇到了SELinux问题。我首先尝试chcon -t httpd_sys_content_t
但是没有解决它。之后我做了setsebool -P httpd_read_user_content 1
并且它有效。我不知道第一个命令是必要的还是只有第二个命令。
答案 2 :(得分:1)
这一行:
[client 127.0.0.1](13)权限被拒绝:访问/拒绝
让我觉得某处存在错误配置 - 例如,第二个VirtualHost
或全局DocumentRoot
定义。
第二个定义以某种方式将DocumentRoot
设置为系统的根目录。 Apache否认这一点是对的。
您需要找到导致此问题的定义,然后将其删除。
答案 3 :(得分:1)
我必须运行以下命令才能使其正常工作。前面提到的chcon和setsebool没有帮助。
firewall-cmd --add-service = http
这是Fedora版本20(Heisenbug),顺便说一下。