[英]OSX El Capitan - Apache 403 Forbidden
我刚从Yosemite升级到El Capitan,但遗憾的是忘了复制我的旧httpd.conf,现在我需要再次配置它的所有设置。
我已经将documentroot更改为上一个/ users / admin / www,并且还配置为释放对此文件夹的访问权限:
<Directory "/users/admin/www">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
重新启动Apache,但即使这样,我在尝试访问127.0.0.1时也会收到“Forbidden”错误。
我在这里缺少什么?
请执行下列操作:
跑:
cd /etc/apache2/ sudo mv httpd.conf httpd.conf.OLD sudo mv httpd.conf~previous httpd.conf sudo apachectl restart
在这个问题上花费3小时后-这为我工作 !
我刚刚发现旧的.conf文件在El Captain更新期间保存在此文件夹中:
/private/etc/apache2/httpd.conf.pre-update
所以我只是将旧的定义复制到新的:)
您可以导航到/private/etc/apache2/
然后diff httpd.conf httpd.conf.pre-update
以查看旧的conf文件与已添加的新文件之间的差异。
对我来说,有很多LoadModules
行注释掉了,我的apache用户/组已经改回_www
我不熟悉Apache 2.4的变化,所以这个真的让我困了大约30分钟。 我刚刚从Mavericks升级到El Capitan(Apache 2.2到2.4),我无法加载我的个人站点目录( http:// localhost /〜 {username}。我一直得到“禁止”。经过一番研究后我发现我需要修改/etc/apache2/users/{username}.conf来添加“需要所有授权”。由于我从未升级到Yosemite(也使用Apache 2.4),我从来没有偶然发现这个。
我希望这些信息有助于某人
更新目录访问控制对我有用:
在此示例中,允许所有请求。
2.2配置:
Order allow,deny Allow from all
2.4配置:
Require all granted
来源: http : //httpd.apache.org/docs/trunk/upgrading.html (在访问控制下)
注意 :我将自定义设置分别保存在/private/etc/apache2/other/
。
就像@delphirules说的那样,你可以像这样复制旧的httpd.conf文件:
sudo cp /etc/apache2/httpd.conf.pre-update /etc/apache2/httpd.conf
我在整天连接到我的本地主机时遇到了问题,但终于找到了这个问题: https : //mallinson.ca/web-development-with-el-capitan/
只需运行copy命令,然后执行sudo apachectl restart
我还在恢复模式下禁用了SIP(系统完整性保护)。 我不知道它是否真的做了什么..你可以在这里找到这些说明: https : //forums.developer.apple.com/thread/3981
我有一个类似的问题,在尝试访问本地站点目录中的页面后,在用户级别启用自己升级到El Capitan后为站点提供服务时收到404错误。 问题是Apache将httpd.conf文件重置为其默认值,这会禁用用户文件夹以从中加载文件。 所以http:// localhost加载正常但http://localhost/~username/index.html不会加载。 这是修复:
备份已创建的“新”配置文件:
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf_capitan
恢复重命名的“旧”配置文件:
sudo cp /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf
如果您对DocumentRoot目录中的某些项目有符号链接,升级到El Capitan后,您可以获得这些项目的403,就像我一样。 您需要以下内容才能使它们再次运行:
1)您的apache用户(默认情况下为_www)应具有对包含您链接目录的目录的执行访问权限。 在我的apache DocumentRoot案例中,我有:
MyProject -> /Users/Me/Documents/Aptana Studio 3 Workspace/MyProject
由于某种原因, /Users/Me/Documents/Aptana Studio 3 Workspace/MyProject
访问设置是-rw------- 1 Me staff
我的猜测是在OS x升级期间设置的。 所以在sudo chmod 755 Aptana\\ Studio\\ 3\\ Workspace
错误解决后。
2)由于升级也会更改httpd.conf,请确保将其用于DocumentRoot目录,或者如上所述从备份httpd.conf恢复:
Options Indexes FollowSymLinks
如果您从Mavericks或更早的OS x升级并恢复备份httpd.conf,您应该像jcfranko所说的那样,用以下内容替换apache 2.2设置以获取请求限额:
Require all granted
在/Users/{user name}/Sites
文件夹中创建符号链接
ln -s /Path/To/Target/Files /Users/{user name}/Sites/{name}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.