在Sites目录中创建符号链接

时间:2010-09-23 02:44:08

标签: macos apache2

我的~/Sites目录中有一个文件,当我通过coderama.local/~coderama/index2.php

浏览时,该文件正常工作

现在我想变得棘手并将我的index2.php文件移到我系统上的其他位置,所以我通过创建符号链接来实现这一点。但是,当我尝试访问coderama.local/~coderama/index2.php时,我现在收到以下错误。

任何想法?

谢谢!

  

禁止

     

您无权访问此服务器上的/~coderama/index2.php。

6 个答案:

答案 0 :(得分:101)

这是一个可配置的Apache选项。默认情况下,Macs(可能是大多数安装)似乎将Apache配置为不遵循符号链接。我猜测(正如上面提到的那样)是出于安全目的。

但是,有时可以非常方便地启用符号链接,特别是在开发某些类型的应用程序时。您需要做的是1)更改Apache配置以允许以下符号链接,然后2)重新启动Apache。

配置步骤如下:

a)cd / etc / apache2(默认情况下,这是Apache的配置文件在Mac上)

b)你会在这里看到几个目录。一个叫做用户

c)cd用户

d)ls应该显示一个带有您的登录名的.conf文件(登录 .conf)我是“marvo”所以我的名字叫“marvo.conf”

e)编辑此文件(我使用vi) - 但你必须使用sudo:

sudo vi marvo.conf

f)你会看到像

这样的东西
<Directory "/Users/marvo/Sites/">
    Options Indexes MultiViews 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

g)添加“FollowSymLinks”选项,以便该.conf文件的第二行如下所示:

Options Indexes MultiViews FollowSymLinks

(你可以在网上找到其他配置选项。我找到了这个页面:http://httpd.apache.org/docs/2.0/mod/core.html#directory

h)保存文件。

现在你必须重启Apache才能获得配置更改。谷歌搜索了一下,我发现使用以下命令从命令行最容易做到这一点:

sudo /usr/sbin/apachectl restart

(发现在http://mcapewell.wordpress.com/2006/09/22/restart-apache-in-mac-os-x/

现在,符号链接在您的网站页面上应该可以正常工作。

答案 1 :(得分:56)

有同样的问题。不幸的是,Marvo的答案还不够。

问题在于从~/开始,路径中每个文件夹上设置的权限。目录需要设置execute标志才能递归目录树。所以,就我而言,我将~/Dropbox/projects/theme中的主题文件夹符号链接到~/Site/wordpress上的wordpress安装。

答案是:

chmod a+x ~/Dropbox/
chmod a+rx ~/Dropbox/projects

这是一个老问题,但如果有人到达此页面,它可能会有用。 :)

答案 2 :(得分:5)

似乎是一个安全问题(Matt也建议)

http://discussions.apple.com/thread.jspa?threadID=1771399

答案 3 :(得分:1)

我不记得具体原因,但它不起作用。这是一个安全问题。您可以使用XAMPP http://www.apachefriends.org/en/xampp-macosx.html或MAMP http://www.mamp.info/en/index.html来解决此问题。

答案 4 :(得分:1)

除了Marvo的回答。帮助我的是更改文档文件夹的权限:

cd ~
chmod a+rx Documents/

答案 5 :(得分:0)

还要确保在httpd-vhosts.conf中有一个指令

否则你会在浏览器中获得相同的'403禁止',错误日志中的服务器配置拒绝客户端。