Setting up a Redmine application on a specific location

Thanks to the Numpy mailing list (more specially Stéfan van der Waltz and David Cournapeau), I’ve found a new Project Management Software, Redmine. Now, I needed to set it up without an access to the Internet, and as I didn’t have ana ccess to a MySQL server, I used SQLite as a DB backend.


So I’ve set up Redmine to work on a specific location, say /somewhere/on/my/network. To install Redmine, I need the following archives:

  • Ruby
  • RubyGem
  • SQLite 3
  • sqlite3-ruby

Some packages are available through the distribution’s package manager, but here I want something outside (because I can’t use the package manager, or because I want Redmine on a network drive to ease a possible computer change).
Then, I need the following gems:

  • actionmailer
  • actionpack
  • activerecord
  • activeressource
  • activesupport
  • rails
  • rake

Compilation and installation

Once I have everything, I can start with installing ruby:

./configure --prefix=/somewhere/on/my/network
make install

Then I can install RubyGem (if /somewhere/on/my/network/bin is in $PATH and /somewhere/on/my/network/lib in $LD_LIBRARY_PATH):

ruby setup.rb

Now, I install the different gems through:

gem install -l [actionmailer|actionpack|...]

Compilation and installation of the DB backend

I’ve used SQLite 3, as I couldn’t set up a MySQL server on my workstation. I compiled and installed it with the usual:

./configure --prefix=/somewhere/on/my/network
make install

This means that it is not installed in a “standard” folder. This is troublesome for sqlite3-ruby. Indeed, when installing with the source or with a gem, it can’t find the include folder, so the Makefile is not updated and the extension cannot be built.

So starting with the source, I had to go to the ext/sqlite3_api folder, execute the script with the correct flags:

ruby extconf.rb --with-sqlite3-dir=/somewhere/on/my/network

This way, the generated Makefile was correct for my platform. The –with-sqlite3-dir flag is mentionned in the documentation, but it cannot be given to the setup.rb script, which was not written in the documentation. For a small test installation, it is OK, but for a real deploiement, it is worrying.

Now, sqlite3-ruby can be installed with:

ruby setup.rb

Setting up Redmine

Now, I can go on with Redmine. I have to modify config/database.yml to use a SQLite3 (don’t forget to create the file as well), config/email.yml to communicate with the SMTP server (if you don’t need authentification, remove username, …). Now, just follow the instructions given in the documentation:

rake db:migrate RAILS_ENV="production"
ruby script/server -e production

You’re good to go! Also note that if you create your own environment (like production), you have to create a file with the environment name in config/environments (just copy production.rb for instance).

Thoughts on Redmine

I’ve used Redmine for some days now, and it is fast enough for me, it has everything I need for a project manager (bug tracking, planning, news, wiki, …). It seems easy to add new functionalities, as well as to modify the look and feel. No crashes yet. I’m crossing my fingers 😉

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.