DocumentRoot 设置为 /var/www2,出现 403 Forbidden

DocumentRoot 设置为 /var/www2,出现 403 Forbidden

最初我在 /var/www/dir 里面有一个虚拟主机,运行良好。

但是,我想将此站点与其他站点分开,因此我创建了 /var/www2/

我将 DocumentRoot 设置为 /var/www2/

现在,当我导航到新网站时,它会抛出 403 Forbidden 错误。

答案1

您是否检查过 /var/www2 目录的权限和所有权?错误日志中应该有错误,可以让您更好地了解正在发生的事情。

答案2

正如 Hans 所说,检查权限,该目录至少应由运行 apache 的用户拥有,并设置了执行位。您可能将其设置为 world/other 读取和执行 (chmod o+rx /var/www2)。

此外,您还应验证 SELinux 是否没有抱怨 /var/www2 被设置为错误的上下文。无论哪种情况,您都应该在 error_log 文件中看到错误,并准确告诉您问题所在。

答案3

您是否在 VirtualHost 指令中设置了权限:

<Directory /var/www2>
    Options Indexes FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

另外,正如 Hans 所说,请检查您对该目录的权限。Apache 服务器在其下运行的用户和组必须可以读取该目录。

答案4

您可能希望在 /var/www/anotherdir 中创建 vhost,因为如果我没记错的话,apache 默认情况下没有 SELinux 权限来提供该目录结构之外的文件。您可以使用 ls -Z /var/www /var/www2 查看这些目录的 SELinux 安全上下文信息。如果您收到 SELinux 权限被拒绝错误,您会在 /var/log/audit/audit.log 中看到它们。如果您确实将 /var/www2 移动到 /var/www,您可能希望使用 restorecon -R /var/www 根据其规则重置文件的安全上下文。

相关内容