阿帕奇 - 403 禁止

阿帕奇 - 403 禁止

我知道这个问题已经被问过很多次了,但我完全被困住了。我的/var/www/html文件夹包含:

mbfr/
|-- index.html
|
school/
|-- index.html

我想为目录exemple.com提供服务mbfr,并为目录exemple.com/school提供服务school。这是我的VirtualHosts配置文件:

<VirtualHost *:80>
    ServerName exemple.com

    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    Alias / /mbfr
    Alias /school /school

    <Directory "/var/www/html/school">
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>

    <Directory "/var/www/html/mbfr">
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

exemple.com工作正常但exemple.com/school给了我

Forbidden
You don't have permission to access /school/ on this server.

答案1

您是否对 */school 文件夹设置了正确的权限?最近,在操作系统升级后重新安装 /var/www/html 中的文件夹后,我收到了相同的 403 消息。事实证明,各个文件的权限都没有问题,但在该文件夹上,只有我自己作为所有者拥有读取、写入和执行权限。组和其他人也需要读取和执行权限,所以一个简单的方法chmod a+rx对我来说就成功了。可能值得检查。

答案2

请理解,我下面的答案不是实际的解决方案,而是一种解决方法,因为它删除了 httpd 周围的安全强制措施,并且无法预测此操作的效果。尽管如此,在你弄清楚什么是好的、永久的解决方案之前,它是有效的。

作为服务器上的 root 用户,执行以下命令

setenforce 0
service httpd start

setenforce 0命令将 apache 置于 SELinux Permissive 模式。由于我不是网络管理员,也没有 apache 的内在知识,因此我不知道此操作的影响。也许有人可以启发我们俩。由于我的网络服务器并不重要,所以我真的不在乎。如果我必须从头开始安装服务器,我也没关系。但你的情况可能有所不同。所以,请对我的建议持保留态度。那是一大粒。

相关内容