Installing RedMine PM Software on Apache with Phusion and REE and Seeing a 404 Page Not Found Error on Installation

If you follow the instructions on how to install the Rails Redmine PM Software (available here) and are using Apache with Passenger (REE), you need to delete the .htaccess file that is kept in RAILS_ROOT/public directory. Otherwise you’ll see a 404 page not found error. Took me a while to hunt this down. I stopped thinking about .htaccess in Rails apps but I guess REE+Passenger isn’t the default deployment yet.

Deploy Sintra App on Ubuntu Using Apache2 and Phusion Passenger Module

Check it out http://sinatra.seanbehan.com/
This assumes Apache2 and the Phusion Passenger module have already been installed. If not you can get up to speed w/ this resource http://seanbehan.com/ruby-on-rails/new-ubuntu-slice-apache-mysql-php-ruby-on-rails-git-and/

First you need Sinatra, so install the gem

gem install sinatra

We need a home for Frank, so create the minimum number of directories in our web directory. The public directory is where we’ll server images, stylesheets, javascript etc. The tmp directory will be where we control Passenger.

cd /var/www/sinatra
mkdir myapp
mkdir myapp/tmp
mkdir myapp/public

cd myapp
vim index.rb
#in index.rb
get '/' do
  "Fly me to the moon..."
end

Next we need a configuration file for Rack, important the file extension is “.ru” not .rb!

vim config.ru
require 'rubygems'
require 'sinatra'

Sinatra::Application.default_options.merge!(
  :run => false,
  :env => ENV['RACK_ENV']
)

require 'index'
run Sinatra.application

Set up the virtual host

<virtualHost *>
  ServerName www.myapp.com
  DocumentRoot /var/www/sinatra/public
</virtualHost>

Now you can restart the app if you make adjustments!

touch tmp/restart.txt

Keep on singing :)

Inspired by http://blog.zerosum.org/2008/7/4/passenger-3-sinatra