为什么 apache 报告“客户端被服务器配置拒绝”?

为什么 apache 报告“客户端被服务器配置拒绝”?

我正在运行带有 Apache 2.4 和 PHP 5.6.27 的 Fedora 23。 Apache 和 PHP 都是从标准 Fedora 存储库安装的。

我的问题是,尽管Require all granted在我的网站的虚拟主机配置中进行了设置,但在尝试浏览我的网站(以及我的浏览器中的 a)时,我仍然收到以下错误403 Forbidden

AH01630:客户端被服务器配置拒绝:/home/kevin/appsdev/mywebapp/phpinfo.php

这是我的虚拟主机配置:

<VirtualHost 172.16.3.52:80>
    ServerName localdev.mywebapp.net
    DocumentRoot /home/kevin/appsdev/mywebapp

    <Directory /home/kevin/appsdev/mywebapp>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

上述配置被附加到 Apache 附带的开箱即用配置文件的末尾httpd.conf

Apache 以用户身份运行apache

我还将所有权设置为/home/kevin/appsdev/mywebapp

chown -R apache:apache /home/kevin/appsdev/mywebapp

我的权限为:

chmod -R 755 /home/kevin/appsdev/mywebapp

我什至尝试(相当顽皮地)改变:

<Directory />
    AllowOverride none
    Require all granted   ## default is: Require all denied
</Directory>

我还禁用了selinux。

.htaccess网站中没有文件。

我已经重新启动了 apache,但浏览器中仍然出现AH01630: client denied by server configuration..错误和 a 。403 Forbidden

跑步httpd -t告诉我Syntax OK,所以没有什么不好的。

我做错了什么,我有点困惑?

答案1

运行网络服务器的用户(apache默认情况下)必须能够打开该文件。这意味着所有的路径必须可以访问它。我看到,您正在使用您的 home dir /home/kevin。这些目录仅针对用户和用户组(例如0750)进行了正确设置,因此 apache 无法访问那里。

您可以允许使用 访问其中的文件和目录chmod o+x /home/kevin,但任何人都可以读取您的主目录(如果他或她知道正确的路径)。更好的解决方案是不使用主目录并将文件放入/var/www/or/srv/并为 apache 和您的用户提供正确的权限。

无论如何,请始终将错误日志的相应部分附加到您的问题中。应该有更多有关该问题的信息。

相关内容