Installation on Debian Wheezy Testing

########## Added 13.11.2014 : this guide doesn't work on Wheezy stable ##########

This page describes the installation of Redmine on Debian Wheezy Testing, as of 29 March 2011.
It's actually a Linux Mint Debian Edition (LMDE) virtual server.

First, the most important fact: it does not work out of the box. But it's very easy to fix thanks to Jérémy Lal. You feel hopeless and distressed, you send an email to Jérémy in the evening, and the reply from you kind Debian-maintainer with the right solution is waiting for you next morning. This is open source support for you.

The used configuration contains an Apache2 webserver, its Ruby-interface Passenger and a MySQL database.

Preparation

All command lines below assume you're root. And no, the # symbol is not a comment, it's your root prompt. :-)

# apt-get update
# apt-get install apache2
# apt-get install mysql-server

The mysql-server installation will guide you through the process of creating an administrative (root) account. Don't forget the password!

Install Redmine

This is the tricky part. Debian Wheezy contains Redmine 1.0.5-1, which requires RubyGems 1.3.x or 1.4.x. But Wheezy comes with RubyGems 1.6.2. It breaks during installation. Click for related Redmine Wiki page.

There are two ways out:
  • downgrade RubyGems
  • take a much newer Redmine (1.1.2) from Debian Experimental

I chose the second option, as the new Gantt-charts are also available from 1.1.0.

First, let's enable the Debian Experimental repositories (see Debian Wiki):

Add the line below to /etc/apt/sources.list:

deb http://ftp.debian.org/debian experimental main

Then install Redmine 1.1.2:

# apt-get update
# apt-get -t experimental install redmine-mysql
# apt-get -t experimental install redmine
# apt-get install libapache2-mod-passenger

Redmine's missing dependencies will be installed too, mostly exotic Ruby-related stuff (ruby, rails, rake etc.)

Redmine installation will also prompt you for the MySQL admin password (I told you to remember it), then it'll create the database called redmine_default and MySQL user redmine. You can specify its password or let the installer generate a random password.

All database settings, including the password, are stored here:

/etc/redmine/default/database.yml

Start Redmine

We have to configure the Apache2 webserver to start running the Redmine application.

Create a symlink from the webserver doc root to redmine:

# ln -s /usr/share/redmine/public /var/www/redmine

Passenger should run as user www-data (same as Apache2). Add the line below to /etc/apache2/mods-available/passenger.conf:

    PassengerDefaultUser www-data

Add the /var/www/redmine location in /etc/apache2/sites-available/default as the last child node within the root node (if you understand XML lingo):

    <Directory /var/www/redmine>
        RailsBaseURI /redmine
        PassengerResolveSymlinksInDocumentRoot on
    </Directory>

Usually the Passenger module is enabled during installation (libapache2-mod-passenger). If not, enable it manually:

# a2enmod passenger

And last but not least, restart apache2:

# /etc/init.d/apache2 restart

Your new Communist Underground Movement a.k.a. Redmine is now available here:

http://yourservername/redmine

The default Redmine user/password are admin/admin.

After start your Redime installation, create a symlink for plugins assets

ln -s /var/cache/redmine/default/plugin_assets /usr/share/redmine/public/

to enable plugins work propertly.