Steps to deploy a Rails app on a new Linode
Use these instructions to quickly get a new linode up and running and deploy a Rails app. Obviously a lot of things are missing.
- Deploy distribution: Ubuntu 8.04
- apt-get update
- apt-get upgrade
- adduser deploy —disabled-password
- adduser deploy sudo
- visudo # uncomment sudo group line
- Copy ssh pub keys over to deploy user (and root if you want to)
- apt-get install build-essential git-core mysql-server apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev memcached libopenssl-ruby ruby ruby1.8-dev wget rdoc ri
- wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
- tar xvfz rubygems-1.3.6.tgz
- cd rubygems-1.3.6
- ruby setup.rb
- gem1.8 sources -a http://gems.github.com
- sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
- sudo gem update —system
- gem install passenger
- passenger-install-apache2-module
- Copy the 3 lines “LoadModule…” to /etc/apache2/mods-available/passenger.load
- ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load
- Add site files to /etc/apache2/sites-available/ and symlink them to /etc/apache2/sites-enabled/
- mysql -u root -p
- Create databases, grant a new mysql user access to databases your rails app needs. See http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
- Deploy your app using a capistrano script.

