So it's that time of year: upgrading OSX and fixing all the Apache brokenness that inevitably follows. These are just some quick notes on how to fix it. ProTip™: remember to restart Apache after making a change to the config!
Primarily, the problems seem to be caused by Apple bumping the installed Apache from 2.2 to 2.4. Check out Apache's upgrade notes for the full details.
index.html.en in document root
index.html.en file is added to the default document root (mine is
/Library/WebServer/Documents), which overrides the
localhost route. Its unnecessary and can be removed.
For some reason, the
Indexes option is defaulted off in the new Apache config for the document root directory. This means that the list of directories won't be shown. Add
Indexes to the
Options to fix this.
Apache 2.4 changes the syntax for permissions, breaking my default vhost setup, giving 403 errors on any locally-served site. Switch out any
Allow from All lines with
Require all granted in
Directory blocks to fix this.
Apache doesn't enable PHP by default, so uncomment the line loading the PHP module (
LoadModule php5_module ...). Yosemite comes with 5.5 installed, but I've got 5.6 installed through
homebrew. Switch out the module path to wherever
homebrew installs it (check
brew info php56).
Fix broken PHP 5.6
No idea why, but I had to reinstall PHP to get it working correctly. Something about Apache not being able to read the install correctly, possibly related to this issue. Run
brew reinstall php56.