How to allow acces to a symbolic link in my ~/Sites/ for Apache under Mac OS X Lion 10.7.2
Here is a blog post I wrote when I was trying to figure out how to do exactly what you are trying to do.
- Enable Web Sharing on the MAC by going to System Prefrences —> Sharing —> Check Enable Web Sharing
Edit your username.conf file located in /private/etc/apache2/users and add the “FollowSymLinks” directive:
<Directory "/Users/yourUserName/Sites/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Edit the /private/etc/apache2/httpd.conf file and make sure the line under “# Virtual hosts” is not commented out, like so:
Include /private/etc/apache2/extra/httpd-vhosts.conf
Edit the /private/etc/apache2/extra/httpd-vhosts.conf file and add:
<VirtualHost *:80> <Directory /Users/yourUserName/Sites/MyWebSite.com> Options +FollowSymlinks +SymLinksIfOwnerMatch AllowOverride All </Directory> DocumentRoot /Users/yourUserName/Sites/MyWebSite ServerName MyWebSite.local </VirtualHost>
Edit the /etc/hosts file and add this at the top:
127.0.0.1 MyWebSite.local
Make a Symlink to link your Code directory to one in the Sites directory.
ln -s ~/Code/MyWebSite ~/Sites/MyWebSite
Restart apache
In fact only the first 2 steps from Emjay's answer plus an apache restart are necessary, here is what worked for me:
Enable Web Sharing on the MAC by going to System Prefrences —> Sharing —> Check enabled Web Sharing
Edit your
username.conf
file located in/private/etc/apache2/users
and add the FollowSymLinks directive:<Directory "/Users/yourUserName/Sites/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
check your apache config
sudo apachectl -t
-
sudo apachectl restart
Now Apache will serve the symbolic links under your Sites
directory.