welcome: please sign in

Revision 7 as of 2009-11-06 17:28:06

Clear message
Edit

MemberManual / WebApplications / Redmine

What is redmine?

Redmine is an open source, web-based project management and bug-tracking tool. It includes calendar and gantt charts to aid visual representation of projects and their deadlines. It supports multiple projects. Redmine is a FOSS solution which provides integrated project management features, issue tracking, and support for multiple version control options.

For more information: http://www.redmine.org

Installation

Foreword

In this walkthrough you will see several 'variables', you'll have to substitute them to suit your needs. You can safely "export" them in your shell environment if you wish.

In particular:

Retrieving Redmine

At the time of writing, the latest release of Redmine is 0.8.6. Redmine can be retrieved from: http://rubyforge.org/frs/?group_id=1850 In particular we'll be using: http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz

So let's get it started:

lvillani@mire:~$ cd public_html/binaryhelix.org
lvillani@mire:~/public_html/binaryhelix.org$ wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz
lvillani@mire:~/public_html/binaryhelix.org$ tar xf redmine-0.8.6.tar.gz
lvillani@mire:~/public_html/binaryhelix.org$ ls
default/  redmine-0.8.6  redmine-0.8.6.tar.gz

Updating gems

Now we'll need to update some of the "gems" installed on HCoop servers. Please note that we'll be installing those gems inside your home directory thus wasting a little bit of space.

Start by creating the ~/.gemrc file with the following contents:

cat > .gemrc << EOF
gem: --no-ri --no-rdoc
gemhome: $HOME/.gem
gempath:
 - $HOME/.gem
 - /var/lib/gems/1.8
EOF

Now add the following to your ~/.bashrc:

export RUBYLIB="$HOME/.gem/lib"
export PATH="$HOME/.gem/bin:$PATH"

Make sure that the new settings are loaded in your current shell:

lvillani@mire:~$ . ~/.bashrc

Now update rubygems:

lvillani@mire:~$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
lvillani@mire:~$ tar xf rubygems-1.3.5.tgz
lvillani@mire:~$ cd rubygems-1.3.5
lvillani@mire:~/rubygems-1.3.5$ ruby setup.rb --prefix=$HOME/.gem

Let's update rake and install the required version of rails:

lvillani@mire:~$ gem1.8 install rake
lvillani@mire:~$ gem1.8 install rails -v=2.1.2

Verify that you are actually using the latest rake:

lvillani@mire:~$ rake -V
rake, version 0.8.7

Database

To do some initial setup database please follow instructions at: MemberManual/Databases#MySQL (RUN mysql-fixperms or schema creation will NOT work)

When you have created the database you are ready to configure redmine. The first thing we'll need to do is to tell redmine where to find our database. To do so we create a file called config/database.yml inside $REDMINEROOT with the following contents where:

production:
  adapter: mysql
  database: DBNAME
  host: mysql
  username: USERNAME
  password: DATABASE_PASSWORD

Now we can create the database schema by issuing the following command from $REDMINEROOT:

lvillani@mire:~/public_html/binaryhelix.org/redmine-0.8.6$ RAILS_ENV=production rake db:migrate

Now install some default data in the db (you can skip this but it simplifies configuration):

lvillani@mire:~/public_html/binaryhelix.org/redmine-0.8.6$ RAILS_ENV=production rake redmine:load_default_data

Exposing Redmine to the world

Launching WEBRick

We must first launch WEBRick, which is a rails application container:

lvillani@mire:~/public_html/binaryhelix.org/redmine-0.8.6$ ruby script/server webrick -d -e production
=> Booting WEBrick...
=> Rails 2.1.2 application started on http://0.0.0.0:3000
[2009-11-06 11:37:49] INFO  WEBrick 1.3.1
[2009-11-06 11:37:49] INFO  ruby 1.8.5 (2006-08-25) [i486-linux]

That is, WEBRick will sit on port 3000. Make sure to take an unused port, you can change it with the -p switch.

Configuring reverse proxy with DomTool

To make sure that redmine can be viewed from people outside HCoop without specifying the listening port of WEBRick we must configure Apache to be a proxy for redmine. This can be done by using DomTool. Create a configuration file for your domain: in this case ~/.domtool/binaryhelix.org with the following content:

Make sure to match the ports or it would NOT work

dom "binaryhelix.org" where
  DocumentRoot = home "public_html/binaryhelix.org/default";
  WWW = begin
    unset_options [indexes];
  end;
with
  vhostDefault with
    proxyPass "/" "http://localhost:3000/";
    proxyPassReverse "/" "http://localhost:3000/";
  end;
end;

Apply the configuration with:

lvillani@mire:~$ domtool ~/.domtool/binaryhelix.org

And you're done!