Apache and PHP 5.5.27 are installed already in OS X 10.11 El Capitan, so just a little enabling is required.
Updated 12 Oct 2016: See the slightly updated guide for macOS 10.12 Sierra, which has been updated to Apache 2.4.23 and PHP 5.6.24.
The Grav Blog has an in-depth 3-part series on setting up Grav properly on OSX. This is just my quick-and-dirty approach.
Be careful, with great power (root) comes great responsibility! Use at your own peril.
Terminal, edit the Apache configuration as root (password is the same as your login password).
sudo vi /private/etc/apache2/httpd.conf
Uncomment these lines (remove the #) and save.
LoadModule cache_module libexec/apache2/mod_cache.so LoadModule expires_module libexec/apache2/mod_expires.so LoadModule headers_module libexec/apache2/mod_headers.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php5_module libexec/apache2/libphp5.so
By default, Apache runs as the user
_www and serves pages from
/Library/WebServer/Documents/. This can be changed to your user (replace [user] below with your username) and you own directory. In the same httpd.conf file:
User [user] Group staff DocumentRoot "/Users/[user]/Sites"
Next, create the default php.ini configuration and edit it as required, e.g.
cd /private/etc cp php.ini.default php.ini
Create the Sites directory then start Apache: And finally, start or restart Apache, then open your browser to localhost/phpinfo.php to make sure all is hunky-dory:
cd /Users/[user] mkdir Sites echo "<?php phpinfo();" > Sites/phpinfo.php sudo apachectl start
Back to the Apache
httpd.conf, edit set
AllowOverride All at a couple of locations:
<Directory "/Users/[user]/Sites"> AllowOverride All </Directory> <Directory /> AllowOverride All </Directory>
And finally, restart Apache. The second line automatically starts Apache when the machine is rebooted (although, I didn't need this and I'm not sure why):
sudo apachectl -k restart sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
To remove the startup, run the command again replacing
Next time, file-copy installation of Grav without any command line interface (CLI) tools like Grav Package Manager (GPM). I almost said xcopy installation!
Updated 12 Oct 2016: Changed for macOS 10.12 Sierra which requires the AppType PHP line. See the updated guide.