Every time I would upgrade OS X it took probably 45 minutes of fiddling with my Apache configuration to get it working properly. I'm writing this article in the hopes of saving myself and others some time.
The Setup
For the following examples, {username} represents your username.
Firstly, if you don't already have a Sites folder, create one in your home directory.
$ mkdir ~/Sites
Create or update /etc/apache2/users/{username}.conf to look as follows:
<Directory "/Users/{username}/Sites/">
Options Indexes MultiViews FollowSymLinks
Require all granted
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Add your virtual hosts if you don't already have them to /etc/apache2/extra/httpd-vhosts.conf
ala:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Users/{username}/Sites/
</VirtualHost>
Configuration
/etc/apache2/httpd.conf
Search for and uncomment the following lines:
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf
Then around line 271 add index.php to the DirectoryIndex
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
/etc/apache2/extra/httpd-userdir.conf
Uncomment the following line:
Include /private/etc/apache2/users/*.conf
Almost Done
Restart apache
$ sudo apachectl restart
open a browser and test it out.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.