有没有办法将目录符号链接ln
到 OS X 上的 ~/Sites/ 目录,以便权限正确,以便当我在本地机器上进行 Web 开发时可以在 Web 浏览器中查看它?
这就是我在目录上所做的,ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio
但chmod 755
它仍然无法读取。
任何帮助将不胜感激。
答案1
问题出在我的 Apache 配置上。下面是允许它工作的原因,只是规则FollowSymLinks
。
<Directory "/Users/Joe/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
答案2
您有以下几种选择:
1.如果你正在apache
使用其他用户(不是你自己的用户)运行,并且明确希望DocumentRoot
指向你家里面的某个目录,你需要将你的主目录的权限(默认必须是750
或700
)更改为755
如果这是您的笔记本电脑或个人电脑并且没有其他人可以访问它,我才会推荐它。
2.第一个不是一个选项,但你仍然想要DocumentRoot
在你的家里,那么你可以更改运行的用户apache
。编辑其配置文件并查找指令User
和Group
。
3.第二个仍然不是一个选项,而且……你仍然想要在你的家中的东西。使用 apache 的 mod_userdir。使用以下配置:
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
这是 Debian 上 Apache 的 mod_userdir 的默认配置。您将能够访问:
/home/your-username/public_html/*
在您的浏览器上访问以下地址:
http://somewhere/your-username/*
4.最后,您可以将其放置在DocumentRoot
其他地方(/srv/www
或/opt/www
其他任何地方)并根据需要设置权限。