Enable Web Sharing
in System Preferences > Sharing. (No need to do this in Mountain Lion. You may need to run sudo apachectl start
, though.)
Edit these files:
/etc/apache2/httpd.conf
/etc/hosts
/etc/apache2/users/your-username.conf
- In Mountain Lion, you'll need to copy
Guest.conf
to[your-username].conf
. Also, be sure to change the first line to be<Directory "/Users/your-username/Sites/">
and then also create the~/Sites
folder (which will, magically, still have the correct folder icon with the compass on it).
- In Mountain Lion, you'll need to copy
(I keep these files in a TextMate project so I can get at them quickly and don't have to remember which files I need.)
In httpd.conf
, uncomment this line:
LoadModule php5_module libexec/apache2/libphp5.so
In hosts
, add your local sites in the format:
127.0.0.1 your-site-name.dev
In /etc/apache2/users/your-username.conf
, add this line to the very top of the file:
NameVirtualHost *:80
Change None
to All
in this line (to allow for things like mod_rewrite
):
AllowOverride All
Add FollowSymlinks
to this line:
Options Indexes MultiViews FollowSymlinks
Add new sites in the same file in this format:
<VirtualHost *:80>
ServerName your-site-name.dev
DocumentRoot "/Users/your-username/Sites/your-site-name/"
</VirtualHost>
Any time you make changes to any of these files, you'll need to run this command:
sudo apachectl graceful
Check out this script for an easy way to add new sites (and feel free to fork it and adapt it to your uses).