Homebrew is a package manager for OS X. It just makes things easier.
If you don’t have it already:
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
brew install nginx
Edit /usr/local/etc/nginx/nginx.conf
file to set listen
to 8081
port (server
section).
brew tap djl/homebrew-apache2
brew install djl/apache2/apache24
Create (link) apache configuration in main brew etc directory: ln -s /usr/local/Cellar/apache24/2.4.3/conf /usr/local/etc/apache2 (note to use correct version of apache2).
Edit /usr/local/etc/apache2/httpd.conf file to set Listen
to 8082
port.
OS X comes with Apache pre-installed, so we need to make sure ours 2.4 is used, and not default 2.2 one.
Turn off “Web Sharing” in System Preferences (Sharing).
Make sure to have /usr/local/bin
before /usr/sbin
(where default Apache is installed), eg. add to .zshrc export PATH=/usr/local/bin:$PATH.
brew install ruby
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew options php54 # to check installation options available
brew install php54 --with-fpm
Browse josegonzalez/homebrew-php for more PHP formulas, eg. brew install php54-xdebug.
Make sure you include the proxy_fcgi module in your httpd.conf so we can use its features:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Edit the configuration for a vhost of your choice, and add the following line to it:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1
curl get.pow.cx | sh
Pow is a zero-config server for OS X.
It’s working at port 80 by default, but its port proxying feature lets you proxy virtual hosts to other ports on your computer (so we can proxy nginx apps to 8081
and apache apps to 8082
).
You just create a file in ~/.pow with the virtual host as the filename and the port number as its contents, eg. echo 8081 > ~/.pow/myapp
.
Make sure to have all services added to ~/Library/LaunchAgents directory and loaded via launchctl load -w .... All instructions are provided after given package is installed with brew.