Redmine installation guide

This is a guide to install Redmine (svn trunk) on Ubuntu 9.10.

The assumed location of Redmine is /srv/redmine

Phase 1: Setup Redmine

Step 1
Install required packages.

$ sudo apt-get install ruby rake ruby-dev rubygems libmysqlclient-dev libopenssl-ruby

Step 2
Check out Redmine trunk.

$ cd /srv
$ sudo svn co http://redmine.rubyforge.org/svn/trunk redmine

Step 3
Install required ruby gems:

$ sudo gem install rails mongrel mongrel_cluster daemons mysql actionmailer

Note 1: We may need to update Rails RAILS_GEM_VERSION in file [redmine]/config/environment.rb to reflect actual version of Rails gems installed.

Note 2: We may need to create soft link for rails & mongrel executables for convenient

$ sudo ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/local/bin/
$ sudo ln -s /var/lib/gems/1.8/bin/rails /usr/local/bin/
$ sudo ln -s /var/lib/gems/1.8/bin/mongrel_cluster_ctl /usr/local/bin/

Step 4
Create mysql database

$ mysql -u root -p
# Enter mysql root password when prompted

Run the following code in mysql, substitute your own database name, password, …

CREATE DATABASE redmine character SET utf8;
CREATE user 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL privileges ON redmine.* TO 'redmine'@'localhost';

Step 5
Create/Update database parameters in [redmine]/config/database.yml accordingly to prior step info.

production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: my_password
encoding: utf8

Step 6
Initialize the database

# Initialize session hash
$ sudo rake config/initializers/session_store.rb

# Load db schema
$ sudo rake db:migrate RAILS_ENV=”production”

$ sudo rake redmine:load_default_data RAILS_ENV=”production”

Step 7
Create redmine user & setting up directory permission

# Context: root:[redmine_dir]
$ sudo useradd redmine
$ sudo mkdir tmp public/plugin_assets
$ sudo chown -R redmine:redmine  files log tmp
$ sudo chmod -R 755 files log tmp public

Step 8
Testing the application server

$ sudo ruby script/server -e production

The server is listening on [http://localhost:3000].

Phase 2: Setup Apache & Mongrel Cluster

Step 1
Create mongrel cluster configuration files for Redmine.

$ sudo mongrel_rails cluster::configure -e production -p 3000 -N 3 -c /srv/redmine -a 127.0.0.1 --user redmine --group redmine

# Test mongrel_installation
$ sudo mongrel_rails cluster::start

Step 2
Create apache virtual host file at /etc/apache/sites-available/

ServerName your.virtual-host.com
DocumentRoot /srv/redmine

AllowOverride FileInfo Indexes

RewriteEngine On

# Redirect all non-static requests to Mongrel
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]

ProxyPassReverse / balancer://redmine_cluster
ProxyPreserveHost on
BalancerMember http://localhost:3000
BalancerMember http://localhost:3001
BalancerMember http://localhost:3002
Order deny,allow
Allow from all

# Block access to .svn directories

ErrorDocument 403 /404.html
Order allow,deny
Deny from all
Satisfy All

Step 3
Turn on the virtual host and required modules

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_balancer
$ sudo a2ensite

# Restart web server
$ sudo /etc/init.d/apache2 restart

Phase 3: Surviving the reboot & G!Mail SMTP

Step 1
Create global mongrel_cluster configuration

$ sudo mkdir /etc/mongrel_cluster
$ cd /etc/mongrel_cluster
$ sudo ln -s /srv/redmine/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine.yml

Step 2
Update the services

$ cd /etc/init.d
$ sudo cp /var/lib/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/
$ sudo chmod +x /etc/init.d/mongrel_cluster
$ sudo /usr/sbin/update-rc.d -f mongrel_cluster defaults

Step 3
Configure G!Mail

$ sudo ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
# File: config/email.yml
production:
delivery_method: :smtp
smtp_settings:
tls: true
address: "smtp.gmail.com"
port: '587'
domain: "smtp.gmail.com"
authentication: :plain
user_name: "your_email@gmail.com"
password: "your_password"

References

  1. http://www.redmine.org/wiki/redmine/RedmineInstall
  2. http://ubuntuforums.org/showthread.php?t=674598
  3. http://azureusonrails.rubyforge.org/wiki/wiki.pl?Install/Mongrel_Cluster_With_Apache_2.2
  4. http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/

6 Comments

  1. Hehe! I bet you don’t have a redmine @ your desktop.

  2. I have it somewhere else ;-)

  3. I bet u have it online, DreamHost i guess???

  4. You sure have a good nose. I don’t have one so I can’t smell who you are. Can you tell me?

  5. There is only one dude in this world can come here AND make comments sounds like that :D

  6. Is that you? The “tục”est dude in the universe?

Leave a Comment