I finally decided to start using Passenger and the stock Apache in OS X Snow Leopard.
Here are the steps I followed, from memory, so if they are missing anything please let me know.
install PassengerPane
rvm install ree
rvm ree
rvm gemset create APP_NAME
gem install passenger
rvmsudo passenger-install-apache2-module
Add an .rvmrc file
rvm --rvmrc --create ree@APP_NAME
Find the gems info
rvm ree@APP_NAME
rvm info | grep GEM
GEM_HOME: "/Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@APP_NAME"
GEM_PATH: "/Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@APP_NAME:/Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@global"
add those to the /etc/apache2/passenger_pane_vhosts/APP_NAME.local.conf
SetEnv GEM_HOME /Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@showcase
SetEnv GEM_PATH /Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@showcase:/Users/mmoen/.rvm/gems/ree-1.8.7-2010.02@global
Make sure the envs are setup in /etc/apache2/passenger_pane_vhosts/APP_NAME.local.conf
RailsEnv development
RackEnv development
If you make changes to routing or other places that don’t autoload, you will need to restart the instance
touch tmp/restart.txt
Known issues:
If you are running a Rails 2.x app this way you will have to delete config.ru before starting or restarting the app. Otherwise it messes up Rails.env. And as always, feel free to tell me I’m way off or if you have any input, please share it.
[edit] Update .rvmrc creation per Wayne’s suggestion