Setting up a kick-ass rails server on Ubuntu 9.04 (Jaunty)

I recently created a new slicehost and thought I’d try the latest Ubuntu release with it. Unlike brightbox hosting, you only get a plain boring ubuntu installation out of the box on slicehost (and various other VPS-based hosting services).

A bit of aptitude

Ubuntu/Debian make it really nice and easy to install packages, but this time it still took me a couple of hours to install everything.

For my (and your) future reference, here’s all you need to create a full rails/mysql/apache platform on Ubuntu 9.04:

apt-get install rubygems ruby1.8-dev mysql-server-5.1 libmysqlclient15-dev apache2 libopenssl-ruby libxslt1-dev libcurl4-gnutls-dev build-essential apache2-prefork-dev libapr1-dev libaprutil1-dev libmagickwand-dev git-core subversion

gem install rails --version=2.2.2
gem install rake mysql passenger

cd /to/your/app
rake gems:install

Be sure to follow the instructions that appear after installing passenger, and then that’s it! Make sure you set the version number of rails that you need, or remove the –version parameter if you just want the latest stable release.

(Note: the last line assumes you’ve added all the gems your application requires to config/environment.rb. You could make the above list of packages even more minimal, but they cover plenty of common gem dependencies).

Going the extra mile

If you need to setup an environment to create screenshots programmatically, you’ll need a virtual X server, firefox and selenium (which is Java-based). That’s also fairly easy:

apt-get install xvfb firefox latex-xft-fonts sun-java6-jdk gsfonts-x11 sun-java6-fonts
gem install selenium-client

Do you have any must install packages when creating a new server? Please add them in the comments below.

This entry was posted in Rails. Bookmark the permalink.

1 Response to Setting up a kick-ass rails server on Ubuntu 9.04 (Jaunty)

  1. I’ve found that the Ruby world moves faster than the Linux distribution world, and so the version of Rubygems included in the package manager can become unacceptably old after a while. Hence I’ve taken to installing Rubygems directly from RubyForge source rather than apt-get.

Leave a reply to Martin Kleppmann Cancel reply