重命名目录后,出现“禁止访问:您无权访问此服务器上的/index.html。”

重命名目录后,出现“禁止访问:您无权访问此服务器上的/index.html。”

当我尝试本地浏览 index.html(或我指定的 html 根目录中的任何其他文件)时,出现了标题中提到的错误,我不知道原因。以下是我发布此帮助/建议请求的时间表:

昨天,我在一台稳定运行了两年多的 Ubuntu 14.04 机器上安装了全新的 LAMP。我按照这里指定的方式设置了所有内容:https://help.ubuntu.com/community/ApacheMySQLPHP

安装后我做的第一件事就是重新配置 apache2,使我的主目录中的 html-root 不同:/home/user/Websites/MySite/。我在 MySite 中创建了一个 index.html,并能够在 Firefox 中使用“http colon-backwhack-backwhack localhost”浏览它。然后我创建了一个 test.php 文件,我也可以成功浏览(http colon-backwhack-backwhack localhost/test.php)。

今天早上,我将 MySite 重命名为 MyNewSite。我创建了新的 apache2 配置文件(按照上面指定的链接中的说明进行操作),就像我昨天所做的一样。我已仔细检查了四遍,确保配置文件中没有任何拼写错误。我在以下位置尝试了所有建议,或者确定它们不相关: Apache‘您无权访问此服务器上的/’

(由于声誉点数不足,无法发布另外 4 个链接)

我不知道为什么它昨天运行正常,而将它更改为指向新目录却让它瘫痪了。具体来说,为什么 apache2 尝试访问根目录 (/) 中的任何内容?我需要查看/更改什么才能让它再次运行?

答案1

听起来您的 Apache 用户没有权限读取该目录中的指定文件。请确保 www-data(Ubuntu 上的默认用户)可以读取该文件。

更多信息请点击这里:

https://serverfault.com/a/357109

答案2

通过结合下面的 carnau 的建议和上面的 Progrock 的建议,我成功了!

正如 carnau 所建议的:我研究了权限,发现相关文件夹的权限不太正确。我是这些对象的用户所有者和组所有者。我修复了这个问题,确保 www-data 是组所有者,并且 www-data 组具有 rx 权限。现在所有对象都设置为“755”权限。

不幸的是,当我尝试浏览 index.html 时,在修复权限问题后,仍然出现同样的错误。

然后我尝试了 Progrock 的解决方案。我认为它不会改变任何东西,因为我在更改配置文件后已经使用 重新加载了 apache2 sudo service apache2 reload。显然,sudo apache2ctl graceful它做了一些不同的事情,因为在发出该命令后,现在一切都正常了。

感谢 carnau 和 Progrock!

相关内容