Contents
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:
- DBNAME: is the database name
- this walkthrough assumes you will be using MySQL
- DOCROOT: where Redmine will be unpacked
- this walkthrough assumes that Redmine will be installed in: ~/public_html/binaryhelix.org/default
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/default lvillani@mire:~/public_html/binaryhelix.org/default$ wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz lvillani@mire:~/public_html/binaryhelix.org/default$ tar xf redmine-0.8.6.tar.gz lvillani@mire:~/public_html/binaryhelix.org/default$ ls 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 database.yml inside DOCROOT/redmine-0.8.6/config with the following contents where:
USERNAME is your UNIX username, the one appearing before the '@' in every shell prompt
DATABASE_PASSWORD is the password you set with dbtool mysql adduser (or dbtool mysql passwd, if you changed it later)
DBNAME is the database name. It is formed by your account name, an underscore and the actual database name.
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 DOCROOT/redmine-0.8.6:
lvillani@mire:~/public_html/binaryhelix.org/default/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/default/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/default/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, it will sit on port 3000. Make sure to take an unused port, you can change it with the -p switch.