Redmine Installation unter Gentoo

Viele kleine, aber feine Projektmanagement-Tools gibt es – einige davon bilden genau ab, was man in OpenSource-Projekten braucht und will. Bisher war Trac der erste Name der bei dem Stichwort gefallen ist, aber einige Projekte (darunter der Lighty oder auch die Summer of Code Projekte auf GentooExperimental.org) setzen auf Redmine – durchaus zu Recht, wie ich finde.

Die folgenden Schritte beschreiben die Installation von Redmine unter Gentoo Linux, “serviert” wird das Redmine von Apache via Mongrel, die Daten landen in einer MySQL-Datenbank.

1. Herunterladen eines aktuellen Tarballs oder Checkout aus dem SVN Repository.

# svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8

2. Erstellen einer MySQL-Datenbank und Berechtigen eines Benutzers auf die Datenbank
3. Erstellen und Anpassen der Datenbankkonfiguration in der Datei config/database.yml:

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: <strong>user</strong>
  password: <strong>password</strong>
  encoding: utf8

4. Initialisieren der Datenbank

# rake db:migrate RAILS_ENV="production"

5. Importieren der Default-Konfiguration

# rake redmine:load_default_data RAILS_ENV="production"

6. Benutzer und Gruppe “redmine” (oder anderweitig benamst, je nach Belieben) anlegen und wie folgt berechtigen:

# mkdir tmp
# chown -R redmine:redmine files log tmp
# chmod -R 755 files log tmp

7. Bearbeiten der Email-Konfiugration in der Datei config/email.yml.
8. Mongrel konfigurieren:

# mongrel config: mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www/redmine-0.8 --user redmine --group redmine

9. Berechtigungen im Verzeichnis tmp/pids prüfen, sollten die nicht passen zeigt sich Mongrel bockig.
10. Mongrel starten, wenn sich Mongrel wider Erwarten doch bockig zeigt in log/production.log nachschauen wo es hapert.

# mongrel_rails cluster::start

11. Dem Apache beibringen, dass er gefälligst auf Mongrel zugreifen soll, wenn jemand was vom redmine-VirtualHost möchte. Das kann z.B. so ausschauen:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName redmine.localdomain
 
        RewriteEngine On
        # Redirect all non-static requests to cluster
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]
</VirtualHost>
 
<Proxy balancer://redminecluster>
        BalancerMember http://127.0.0.1:8000
        BalancerMember http://127.0.0.1:8001
        BalancerMember http://127.0.0.1:8002
</Proxy>

(Das ganze gehört in einen VirtualHost, die BalancerMember noch in eine “Proxy balancer://redminecluster” Direktive – WordPress schluckt die Tags – kann wer ein schickes Plugin empfehlen, dass sich für die Anzeige von Konfigurations- und Code-Schnipseln gut eignet?)
12. Um den Apache zum mitspielen zu bewegen, prüfen ob die Proxy-Module mit kompiliert wurden (USE=”proxy proxy_balancer proxy_connect proxy_http”) sowie das Laden der Proxy-Module konfigurieren. In /etc/conf.d/apache2 dazu APACHE2_OPTS=”-D SSL -D NAGIOS -D PHP5 -D PROXY” aktivieren. Apache starten, aufs Redmine zugreifen – fertig.

Wenn man mag, dann gilt es noch die Schritte 13 und 14 zu beachten:
13. Sicherstellen, dass die Datenbank sowie die Konfigurationsdateien wie auch der Attachments-Ordner (files/) gesichert werden.
14. Über ein Init-Skript sicherstellen, dass Mongrel auch nach einem Reboot gestartet wird und das Redmine zur Verfügung steht. Sieht zugegeben “komisch” aus, aber funktioniert :P Wer als Ruby on Rails-Experte Verbesserungsvorschläge hat – Ihr seid eingeladen ;)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- /etc/init.d/redmine --
#!/sbin/runscript
 
start()
{
        ebegin "Starting mongrel_cluster [redmine]"
 
        cd /var/www/redmine &amp;&amp; mongrel_rails cluster::start
 
        eend $? $"Failed to start redmine"
}
 
stop()
{
        ebegin "Stopping mongrel_cluster [redmine]"
 
        cd /var/www/redmine &amp;&amp; mongrel_rails cluster::stop
 
        eend $? $"Failed to stop redmine"
}

… und schon fertig ;)

PS: Wer Redmine über eine HTTPS-Verbindung anbieten will, der sucht noch Folgende Ergänzung zur Apache-Konfiguration:

RewriteEngine On
# Redirect all non-static requests to cluster
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RequestHeader set X_FORWARDED_PROTO 'https'
RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]

Fertig ;)

About Tobias Scherbaum

Sysadmin. Autor. Gentoo-Evangelist.
This entry was posted in Me, Myself and I, Programmtipps, Sysadmin. Bookmark the permalink.

2 Responses to Redmine Installation unter Gentoo

  1. Pingback: Tobias Scherbaum » wp-syntax

  2. thx :D

    “RequestHeader set X_FORWARDED_PROTO ‘https’ ”

    hatte mir gefehlt :) danke!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">