So you’ve just turned on Apache on OS X. You access http://localhost/ and it works just fine, but http://localhost/~username gives you an ominous 403 - Forbidden error.
Do you have FileVault enabled?
I had the same problem. FileVault seems to have changed the permissions on the home directory. You’ll need to execute:
chmod 701 ~
chmod 705 ~/Sites
Bonus: If you’re wondering how this is automagically mapped, look for UserDir on /etc/httpd/httpd.conf.
[...] using PHP or MySQL, read this page. You’ll also need to execute the instructions I outlined some time back if you’re using [...]