User Tools

Site Tools


project_management:redmine

Redmine Project Management

Redmine is a bug tracking, source code and project management web application (similar to Trac).

Install dependencies

apt-get

$ sudo apt-get install build-essential ruby rubygems libopenssl-ruby libsqlite3-dev

Ruby gems

$ sudo gem install rails -v=2.3.5
$ sudo gem install sqlite3
$ sudo gem install fastthread
$ sudo gem install -v=0.4.2 i18n

Configure Redmine

Download and unzip the latest stable tarball:

$ wget http://rubyforge.org/frs/download.php/70486/redmine-0.9.4.tar.gz
$ tar zxf redmine-0.9.4.tar.gz

Move redmine

Move redmine somewhere universal, outside of your home folder. We will configure Apache to serve redmine from this location:

$ sudo mv redmine-0.9.4 /opt/
$ cd /opt/redmine-0.9.4

Configure the database

We can either use MySQL or SQLite. SQLite has less overhead, and I'm not sure if it's any slower so we'll use that.

Edit config/database.yml:

 production:
   adapter: sqlite3
   dbfile: db/redmine.db

Initialize the database

$ chmod 600 config/database.yml
$ rake rake generate_session_store
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data

Test the server

Before we can use Redmine with Apache, we have to make sure the installation worked fine. Use the built-in webserver to test first:

$ script/server -e production

If you get an error about not finding ruby, make sure the ruby version in the script/server script is correct.

Navigate to http://ip:3000 to see Redmine working. The default username and password are "admin"

Configure Apache

Install Phusion Passenger

Phusion Passenger ("mod_rails") is an Apache module which allows Apache to run ruby code (like mod_perl, mod_php, etc).

Enable the repository

$ sudo sh -c 'echo "deb http://apt.brightbox.net lucid main" > /etc/apt/sources.list.d/phusion_passenger.list'
$ sudo sh -c 'wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -'
$ sudo apt-get update

Install the Apache module

$ sudo apt-get install libapache2-mod-passenger

Configure Apache settings

Apache will serve Redmine via Phusion Passenger, which doesn't rely on CGI or FastCGI! Make sure the .htaccess in redmine/public is not enabled or it might try to serve Redmine via dispatch.cgi.

Configure redmine.conf

/etc/apache2/conf.d/redmine.conf:

RailsBaseURI /redmine
RailsEnv production

<Directory "/var/www/redmine">
        AllowOverride all
        Options -MultiViews
        #Options Indexes ExecCGI FollowSymLinks
        Order allow,deny
        Allow from all
</Directory>

Link the Redmine installation to the web document root; make sure to use the same name as in your Apache configuration:

# ln -s /opt/redmine-0.9.4/public/ /var/www/redmine

Fix permissions

Change permissions so the web server can read/write important files/folders:

$ chown -R www-data:www-data /opt/redmine-0.9.4

Restart Apache

# apache2ctl graceful

Test the install

Migrate Trac projects

Install sqlite3-ruby

My Trac 11.x databases were in sqlite3 format, so I needed the sqlite3-ruby gem:

# gem install sqlite3-ruby

Migrate project

From the Redmine directory:

# rake redmine:migrate_from_trac RAILS_ENV="production"
(in /opt/redmine-0.9.4)

WARNING: a new project will be added to Redmine during this process.
Are you sure you want to continue ? [y/N] y

Trac directory []: /var/lib/trac/sampler
Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]: sqlite3
Trac database encoding [UTF-8]: 
Target project identifier []: sampler

Migrating components..
Migrating milestones....
Migrating custom fields
Migrating tickets
Migrating wiki........

Components:      2/2
Milestones:      4/4
Tickets:         0/0
Ticket files:    0/0
Custom values:   0/0
Wiki edits:      8/8
Wiki files:      0/0

Make sure you don't use spaces in the project identifier; this is part of the URL path for the Redmine interface.

Active Directory Authentication

Patch

http://www.redmine.org/issues/4283

# cd /opt/redmine-0.9.4
# patch -p1 < /home/aorth/src/lookup_LDAP_attributes_as_user.patch

Updating Redmine from SVN

See the the official instructions on upgrading via SVN. Also done below as root on a real instance, 1.0.0 → 1.0.1:

cd /opt
tar cjf redmine_before_1.0.1.tar.bz2 redmine/
cd redmine
svn update
rake db:migrate RAILS_ENV=production
rake db:migrate_plugins RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear
apache2ctl graceful

Change local administrator password manually

# cd /opt/redmine
# RAILS_ENV=production ruby1.8 script/runner 'user = User.find(:first, :conditions => {:admin => true}) ; user.password, user.password_confirmation = "my_password"; user.save!'
project_management/redmine.txt · Last modified: 2011/02/22 08:39 by aorth