Update: Make sure you update Rubygems using
sudo gem update --system.
Whilst I've been learning more about Rails 3, I've been using the built in
rails server to run my code. Today I tried to run my Rails 3 app through Passenger on Apache, and immediately hit an error page:
It [turns out](http://cakebaker.42dh.com/2010/01/17/rails-3-and-passenger/) that Passenger notices Rails' new _config.ru_ file, causing it to run as a _Rack_ application. This requires a slight change in the app's _VirtualHost_ entry. The `RailsEnv` setting now becomes `RackEnv`:
But that wasn't all. My development machine was still running Passenger 2.2.7, which wouldn't support Rails 3. To ensure a clean slate, I removed the old versions of Passenger and installed the latest build (2.2.11 at the time of writing). Once installed, I ran the standard Passenger installation script and updated apache2.conf:
$ sudo gem uninstall passenger # Remove all versions of Passenger $ sudo gem install passenger $ sudo passenger-install-apache2-module```
NOTE: Your paths may be different. Use the config generated by Passenger's install script)
LoadModule passengermodule /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/modpassenger.so
After a quick restart of Apache, Passenger kicked in and my new Rails 3 app was up and running!