繁体   English   中英

OSX El Capitan - Apache 403 Forbidden

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM