我刚刚升级到 OS X 10.8 Mountain Lion,发现我的网络服务器设置被升级破坏了。我设法让 PHP 和 Apache 恢复运行,但我仍然无法让 Lion 中的旧设置正常运行。对于我的旧设置,我使用了一种可疑的技术,以使 Apache 与 Dropbox 配合使用;在 中/Users/Andy/Sites/project1
,我有一个指向 的符号链接/Users/Andy/Dropbox/MyFolder/dev/project1
。我发现我无法将虚拟主机直接指向 Dropbox(可能是某些权限不起作用)。但是,使用符号链接可以完美运行。因此,通过这种方式,我可以将项目存储在 Dropbox 中并使用本地 Apache 服务器。
设置好 Apache 以使用我的Sites
文件夹后,我现在可以将虚拟主机指向此目录中的子文件夹,并且一切正常。但是,当我尝试将其指向我的符号链接时,我收到 403 Forbidden 错误。我真的想在我的小型项目中使用 Dropbox,因为 SVN 或 Git 是多余的。以下是我的部分配置:
在 /etc/hosts 中:
127.0.0.1 test.dev
/etc/apache2/extra/httpd-vhosts.conf:
<VirtualHost *:80>
ServerName test.dev
DocumentRoot "/Users/Andy/Sites/project1"
<Directory "/Users/Andy/Sites/project1">
DirectoryIndex index.php
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
</VirtualHost>
我的符号链接:
lrwxr-xr-x 1 Andy staff 59 Sep 30 12:01 project1 -> /Users/Andy/Dropbox/Myfolder/dev/project1/
/etc/apache2/users/Andy.conf(这似乎工作正常,因为我可以从Sites
文件夹中提供文件):
<Directory "/Users/Andy/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
如果我不使用虚拟主机,也会出现同样的错误localhost/~Andy/project1
。
也许有更好的设置,不涉及符号链接,但仍然允许我使用 Dropbox,那么我很想知道。否则,有人知道如何解决这个问题吗?我猜这都是关于权限的问题,那么我的~/Dropbox/MyFolder/dev/project1
文件夹应该具有哪些权限?我不擅长权限,但我尝试使用,chmod a+rw project1
但没有任何运气。
提前谢谢您!
答案1
我通过将我的目录指向如下位置/etc/apache2/users/Andy.conf
来解决了这个问题/Users/Andy/Dropbox/MyFolder/dev
:
<Directory "/Users/Andy/Dropbox/My own folder/dev">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
然后我更新了我的虚拟主机以指向我的项目文件夹,如下所示:
<VirtualHost *:80>
ServerName test.dev
DocumentRoot "/Users/Andy/Dropbox/MyFolder/dev/project1"
<Directory "/Users/Andy/Dropbox/MyFolder/dev/project1">
DirectoryIndex index.php
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
</VirtualHost>
我本来可以发誓我无法在 OS X Lion 上实现这一点,但也许我当时采取了略有不同的方法。尽管如此,它现在在 OS X Mountain Lion 上对我来说是可行的。