Apache 无法访问 Web 根目录

问题描述 投票:0回答:1

首先我想为我糟糕的英语道歉。 我在 MacOS Sierra 上有 Apache 2.4.23。一切都运行良好,但在某些时候它不再运行良好。当我尝试打开网络服务器上的某些文件或目录时,它会抛出错误:

Forbidden
You don't have permission to access / on this server.
Server unable to read htaccess file, denying access to be safe

虽然它必须显示页面的内容。我的所有文件和目录都会发生这种情况。我已经将它们添加到 Apache 运行的组 _www 中,并制作了

chmod -R 775
但没有帮助。也没有帮助
chmod -R 777
。我可以与其他用户或组一起运行 Apache 吗?我认为,不,因为在配置中也将 _www 设置为用户和组。这就是“
ps aux | grep httpd
”所说的:

_www              9877   0,0  0,0  2480792   2040   ??  S     6:43     0:00.01 /usr/sbin/httpd -D FOREGROUND
_www              9864   0,0  0,0  2480792   1612   ??  S     6:43     0:00.00 /usr/sbin/httpd -D FOREGROUND
_www              9863   0,0  0,0  2480792   2020   ??  S     6:43     0:00.01 /usr/sbin/httpd -D FOREGROUND
_www              9862   0,0  0,0  2480792   1628   ??  S     6:43     0:00.00 /usr/sbin/httpd -D FOREGROUND
_www               222   0,0  0,0  2480792   1744   ??  S    сб08    0:00.02 /usr/sbin/httpd -D FOREGROUND
root                90   0,0  0,1  2481048   7808   ??  Ss   сб08    0:01.40 /usr/sbin/httpd -D FOREGROUND
alankabisov      10122   0,0  0,0  2423384    240 s000  R+    6:58     0:00.00 grep httpd

我们可以看到它在 _www 下运行。此时我有两个问题:

  1. 为什么有一些不同的 httpd 实例?
  2. 为什么要root?正如我所想,因为我通过“
    sudo apachectl start
    ”运行它

这是我的 Apache 虚拟主机配置:

<Directory "/Users/alankabisov/Sites">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

<Virtualhost *:80>
  VirtualDocumentRoot "/Users/alankabisov/Sites/%1/"
  ServerName sites.dev
  ServerAlias *.dev
  UseCanonicalName Off
</Virtualhost>

这样我就可以通过 *.dev 域访问我的网站。例如 abc.dev 指向 Web 根目录中的 abc 文件夹。

我的 Apache 错误日志中也有一些奇怪的错误:

[Mon Mar 13 18:45:27.113487 2017] [core:crit] [pid 9877] (13)Permission denied: [client 127.0.0.1:58513] AH00529: /Users/alankabisov/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/Users/alankabisov/' is executable, referer: http://php1.dev/

[Mon Mar 13 18:45:27.297229 2017] [core:crit] [pid 9877] (13)Permission denied: [client 127.0.0.1:58513] AH00529: /Users/alankabisov/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/Users/alankabisov/' is executable

[Mon Mar 13 18:45:27.359012 2017] [core:crit] [pid 9877] (13)Permission denied: [client 127.0.0.1:58513] AH00529: /Users/alankabisov/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/Users/alankabisov/' is executable, referer: http://php1.dev/

我觉得很奇怪,Apache 抱怨读取位于 /Users/alankabisov/ 目录中的 htaccess 文件出现问题,但不在我的虚拟主机配置上设置的 /Users/alankabisov/Sites 中。

希望你能帮助我。谢谢。

php macos apache .htaccess web
1个回答
1
投票

所以,看来我已经解决了这个问题。 Apache 在 Web 根目录的父目录中查找 htaccess 文件,但无权读取该目录。因此,我已将此目录添加到组 _www 中,并为其授予读取权限。它帮助了我。也许解决方案不是最好的,但它有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.