我试图在我的新mac OSX 10.9上设置我的本地环境。我知道它已经安装了apache,所以我一直在使用它。无论我如何设置我的httpd-vhosts.conf / hosts / httpd.conf文件,我在浏览器上访问localhost或“test.com”时都会不断收到403禁用错误。错误/文件/其他信息如下所示。
这是我访问任一网页时遇到的错误
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
我的/ private / etc / hosts文件
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 test.com
127.0.0.1 www.test.com
我的/private/etc/apache2/httpd.conf文件
This file is in its original form besides the following changes:
Uncommented Include /private/etc/apache2/extra/httpd-vhosts.conf
我的/ private / etc / apache2 / extra / httpd-vhosts文件
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents/
</VirtualHost>
<VirtualHost *:80>
ServerName test.com
ServerAlias www.test.com
DocumentRoot “/Users/[my_name]/Sites/test”
<Directory “/Users/[my_name]/Sites/test”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
其他说明
I've created a config file my user account in /private/etc/apache/users/
I've given that file read and write permissions to "everyone"
I've restarted apache after every save to any config file
I've reset the cache on my browser every time I make a change to these files
I have an index.html file set up in my /Users/[my_name]/Sites/test/ folder
使用命令sudo apachectl -t
时Warning: DocumentRoot [/usr/\xe2\x80\x9c/Users/joshwoelfel/Sites/test\xe2\x80\x9d] does not exist
httpd: Could not reliably determine the server's fully qualified domain name, using Joshs-MacBook-Air.local for ServerName
Syntax OK
我不知道在这一点上要尝试什么。我花了几个小时看着人们发布的教程和其他问题。看起来我的文件和权限是正确的!
答案 0 :(得分:9)
我刚刚解决了这个问题。尝试添加&#39;要求所有已授予的&#39;而不是“允许所有人”。
<VirtualHost *:80>
ServerName test.com
ServerAlias www.test.com
DocumentRoot “/Users/[my_name]/Sites/test”
<Directory “/Users/[my_name]/Sites/test”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
答案 1 :(得分:1)
当你在mac os上设置DocuemntRoot“/ Users / xxx / xxx”时,你必须确保你的httpd用户&amp;&amp;组有权读取目录。默认情况下,/ Users / xxx / xxx所有者为root,group为admin,因此您没有权限。如果您的目录组是滚轮,它可能会工作。
答案 2 :(得分:0)
在最后一次升级到MacOS HighSierra 10.13.4之后,我收到了相同的消息。我已经尝试了不同的解决方案,但真正让我感到惊讶的是一篇文章提到,当你收到这条消息时,它通常只是权限问题。所以最后我只需要确保文档根目录的组和所有者,我不会保留在我的配置文件路径下,并且子目录由<中指定的相同用户和组所有。 em> httpd.conf ,设置为我的组和用户名。 httpd.conf中的默认值分别为:_www和wheel。如果您不确定您的用户名是否使用
whoami
在终端窗口。
如果您有兴趣将文件保留在个人资料目录this guide may help you下。