Apache在macOS Catalina上出现访问被拒绝的问题

17

我在我的Macbook上运行Apache Web服务器(由Apple提供的那个),一直运行良好,直到我升级到Catalina 10.15为止。我使用了相同的httpd.conf,但现在显示:

您没有访问此资源的权限。服务器无法读取.htaccess文件,为了安全起见拒绝访问

我认为这是Catalina限制了对文件夹的访问,但我不知道如何让Apache访问Web根文件夹(在我的/Users/me/Documents文件夹中)。因为Apache不是一个普通的/Application。

当我使用 lsof -nP -i4TCP:80 | grep LISTEN 或 nmap 进行检查时,端口80是开放的,所以Apache确实启动了。

我在根目录中设置了一个简单的index.html文件,但问题仍然存在。而当我从Apache根目录中删除.htaccess文件时,出现以下错误:

您没有访问此资源的权限。

此外,在尝试使用ErrorDocument处理请求时遇到了403 Forbidden错误。

可能的问题是什么?

4个回答

33

我已经找到了解决方案。

这是一个卡塔利娜的问题:

  1. 进入系统偏好设置 => 安全性与隐私 => 完全磁盘访问
  2. 点击“+”按钮添加一个应用程序,转到磁盘的根文件夹并按下Cmd + Shift + .(点)
  3. 进入/usr/sbin/并选择httpd

这对我有效。


2
完全磁盘访问? - fulvio
1
这对我有用!请注意,在第二步中,您需要单击左下角的锁以允许进行更改。如果没有列出应用程序,请单击“+”打开文件选择面板。 - smohadjer
我不理解你的第二步。你所说的“进入磁盘的根目录”是什么意思?请问你指的是哪个文件夹作为根目录? - Aika
非常感谢。这对我有用。我已经在尝试解决这个问题两天了。我几乎尝试了互联网上找到的所有解决方案,但没有一个适用于我。 - Mit Mehta
很奇怪,我正在重新启动 /usr/sbin/apachectl 但需要授予 /usr/sbin/httpd 完全访问权限。不管怎样,这个解决方案有效。 - user3072843
显示剩余2条评论

5
我遇到了相同的错误,在我的情况下,问题在于macOS Catalina默认禁用了php模块,在错误日志中出现如下提示:

tail /private/var/log/apache2/error_log

[Wed Feb 26 18:10:57.123036 2020] [autoindex:error] [pid 3145] [client 127.0.0.1:53734] AH01276: Cannot serve directory /Library/WebServer/Documents/subdir/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

Apache服务器正在寻找index.html而不是index.php,因此阻止了列出目录,我取消了/etc/apache2/httpd.conf中的#LoadModule php7_module libexec/apache2/libphp7.so行的注释,并重新启动了Apache服务器。

sudo apachectl restart

它就工作了。希望对您有所帮助。


0

上面的答案救了我的命!

我尝试了所有可能的Apache配置,但都没有起作用。

对于第二步,只需要进行一个小修正 - 点击“+”号添加应用程序,导航到根文件夹,然后按下Cmd + Shift + .(点),这将显示所有隐藏的文件夹,并允许您在第3步中看到文件夹(/usr/sbin/)。

我希望苹果至少在这种情况下能显示一些错误信息...


该死的苹果。每次发布新的操作系统都会破坏所有人的设置! - smohadjer

-1

Mac Catalina Apache 禁止访问问题

步骤1:sudo code /etc/apache2/httpd.conf

步骤2:搜索 #LoadModule php7_module libexec/apache2/libphp7.so 这一行,并将其取消注释,无需删除。

步骤3:sudo apachectl restart

步骤4:打开 Web 浏览器,输入 localhost

步骤5:完成


这对我有用。我必须取消注释php7_module和mod_rewrite。 - sk03

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接