Collaborations-Werkzeug Redmine für das Projektmanagement Redmine Installation mit Debian Lenny
Das Ticketsystem Redmine ist in Ruby on Rails umgesetzt und bietet einen großen Funktionsumfang als Ticketverwaltung. Weiterhin kann es sehr stark auf die jeweiligen Bedürfnisse angepasst werden, zum einen über die Konfigurationsmöglichkeiten, zum anderen auch über eine große Anzahl an Erweiterungen.
Für das Änderungsmanagement - die Erfassung von Änderungen und Fehlermeldungen zu einem Projekt - werden folgende Funktionen angeboten:
- Ticketverwaltung über verschiedene Tracker. Tickets können hierarchisch angelegt werden.
- Wiki
- Projektkalender
- Datenverwaltung
- Versionierungssystem Integration (z.B. für Git, Subversion, CVS, und viele weitere)
- Time Tracking
- Versionen (für Entwicklungsintervalle)
- Gantt Diagramm
- Burndown Chart (über Erweiterung, siehe weiter unten)
- Emailbenachrichtigung
um die wichtigsten zu nennen.
Redmine Installation
Erstmal installieren wir die Pakete, die aus dem Debian Repository genutzt werden können:
Nun installieren wir Rubygems von mit den Source Dateien, da die Version von Lenny zu alt ist:
tar xzf rubygems-1.5.3.tgz
cd rubygems-1.5.3
ruby setup.rb
ln -s /usr/bin/gem1.8 /usr/bin/gem
gem update --system
Jetzt werden über Rubygems weitere Ruby Pakete installiert:
gem install fastthread mysql rmagick
gem install -v=2.3.11 rails
gem install -v=0.4.2 i18n
Jetzt wird Redmine heruntergeladen und ausgepackt:
wget http://rubyforge.org/frs/download.php/75518/redmine-1.2.2.tar.gz
tar xfz redmine-1.2.2.tar.gz
rm redmine-1.2.2.tar.gz
mv redmine-1.2.2 redmine
Nun wird die MySQL Datenbank angelegt und die Berechtigungen dazu festgelegt:
Im Bespiel hier heißt die Datenbank redmine und auch der Datenbankbenutzer redmine. Das Kennwort 'geheim' unbedingt mit einem sicheren Kennwort ersetzen!
Unsere Empfehlung
Redmine konfigurieren
Zuerst kopiert man die Beispielkonfiguration für die Datenbank und bearbeitet diese dann:
cp config/database.yml.example config/database.yml
vim config/database.yml
Nun in der Datei database.yml die Datenbank Zugangsdaten anpassen. Darin dürfen keine Tabulatoren verwendet werden, sondern nur Leerzeichen.
Das gleiche Vorgehen für die Mailkonfiguration (damit Redmine auch Benachrichtigungsmails versenden kann).
vi config/email.yml
Hier den Zugang zum Mailserver konfigurieren. Darin dürfen keine Tabulatoren verwendet werden, sondern nur Leerzeichen.
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
Apache Konfiguration
Hier die Konfigurationsdatei für Apache, um Redmine über SSL zu verwenden:
<VirtualHost *:443>
ServerName redmine.meinedomain.de
DocumentRoot /www/redmine/public
CustomLog /var/log/apache2/redmine_access.log combined env=!gif-image
ErrorLog /var/log/apache2/redmine_error.log
RemoveHandler .php
<Directory /www/redmine/public>
Options FollowSymLinks -MultiViews -ExecCGI
AllowOverride all
</Directory>
SSLEngine on
SSLOptions +StrictRequire
# der Pfad zum SSL Zertifikation muss entsprechend angepasst werden.
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
Die Datei wir unter /etc/apache2/sites-available/redmine abgespeichert und mit folgenden Befehl wird die Konfiguration aktiviert:
Apache Passenger 3 installieren und konfigurieren
Die Phusion Passenger installiert man mit folgenden Befehlen:
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/bin/passenger-install-apache2-module # Apache2 Modul übersetzen
Konfigurationsdateien anlegen:
vim /etc/apache2/mods-available/passenger.load
vim /etc/apache2/mods-available/passenger.conf
PassengerRuby /usr/bin/ruby1.8
Nun noch das Apache Modul aktivieren:
Nun muss noch die .htaccess Datei aus dem public Verzeichnis gelöscht werden, da sonst ein Redirect of ein cgi oder fcgi Skript erfolgt (brauchen wir nicht, da wir Passenger benutzen):
Redmine für FastCGI konfigurieren
Dazu kopiert man die Beispieldatei als zu verwendentes Skript:
cp public/dispatch.fcgi.example public/dispatch.fcgi
Nun kommentiert man folgende Zeilen in der .htaccess Datei aus, um cgi zu deaktivieren:
# RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
Wichtig: der Webserver benötigt Schreibrechte auf das redmine Verzeichnis, da Lock Dateien erzeugt werden (z.B. von rate).
rake db:migrate_plugins RAILS_ENV=production
chown -R www-data:www-data /www/redmine
invoke-rc.d apache2 restart
Weitere Anpassungen
Git Aktualisierung
Wenn man als Projektarchiv ein Git Repository in Redmine verwendet, kann man folgenden Git Hook verwenden, um in Redmine bei jeden Commit sofort die Änderungen angezeigt zu bekommen:
CURL=/usr/bin/curl
URL=https://redmine.meinedomain.de
KEY=BM1aESoSjRdadsdsdsGGz
$CURL -S -s "$URL/sys/fetch_changesets?key=$KEY"
Hier ist URL mit der URL zu ersetzen, unter der das installierte Redmine installiert ist. Für KEY muss der Wert aus dem Adminbereich->Konfiguration->Projektarchive entnommen werden. Hier ist der API-Schlüssel zu entnehmen (und entsprechend vorher zu generieren).
Mailversand über Gmail
Damit Redmine Emails über Gmail und TLS verschicken kann, muss das Plugin action_mailer_optional_tls_plugin installiert werden:
ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
In der config/configuration.yml Konfigurationsdatei verwendet man:
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"
Wichtig ist, dass in der Datei nur Leerzeichen und keine Tabulatoren verwendet werden!
Im Adminbereich kann man testen, ob der Mailversand funktoniert:
- In den Redmine Administrationsbereich wechseln
- Den Menüpunkt Konfiguration und Mailbenachrichtigungen aufrufen
- Unten Rechts auf der Seite ist ganz versteckt der Link "Test-E-Mail senden". Mit einen Klick darauf testen man die Mailversand, indem eine Testmail verschickt wird.
Erster Login
Nachdem die Installation abgeschlossen ist, meldet man sich über den Webbrowser und der in der vhosts verwendeten URL in Redmine an. Die Zugangsdaten für den ersten Login sind:
Kennwort: admin
Das Kennwort ist aus Sicherheitsgründen sofort nach dem Login zu ändern!
Redmine Update
Um Redmine auf eine aktuellere Version zu aktualisieren, sind folgende Arbeitsschritte nötig:
- das Redmine Verzeichnis umbenennen, z.B. redmine in redmine.old
- neue Redmine Version herunterladen, extrahieren in Verzeichnis redmine ablegen
- Dateien und Verzeichnisse aus dem gesicherten, alten Verzeichnis ins das neue Verzeichnis übernehmen:
cp redmine.old/config/database.yml redmine/config/database.yml
cp redmine.old/config/email.yml redmine/config/email.yml
cp -r redmine.old/files redmine/files
Und alle selbst installierten Plugins von redmine.old/vendor/plugins nach redmine/vendor/plugins kopieren.
Nun noch den Owner der Dateien und Verzeichnisse korrigieren:
- Neue Dateien installieren
- Ausführen:
cd /www/redmine
rake generate_session_store
rake db:migrate RAILS_ENV=production
rake db:migrate_plugins RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear
Danach noch den Webserver neu starten und die neue Version ist einsatzbereit:
Weiterführende Informationen gibt es hier: Redmine Upgrading
Plugins für Redmine
Hier eine Liste von Redmine Plugins, die sich als Funtionalitätsserweiterungen anbieten:
- charts: Durch dieses Plugin wird ein Burndown Chart und weitere Charts bezüglich der gebuchten Stunden bereitgestellt
- graphs: Durch dieses Plugin werden weitere Graphen für die Tickets bereitgestellt: offene alternde Tickets, Gesamtzeit zu Tickets und Gesamttickets vs geschlossener Tickets zu einer Version (Entwicklungsintervall)
- budget: Mit dem Budget Modul kann man Liefergegenstände verwalten und automatische Berechnung der Kennzahlen berechnen, die die Rentabilität eines Projektes aufzeigen. Das Plugin Rate wird für dieses Modul vorausgesetzt.
- timesheet_plugin Damit werden gebucht Zeiten über viele Filtermöglichkeiten aufgelistet und exportierbar. Die Filter sind auf Projekte, Benutzer, Zeitabschnitten, u.s.w. anwendbar.
- Code Review: Mit dem Code Review Plugin kann man Tickets für einen Code Review erstellen, welcher zu einem Commit durchgeführt werden soll. Weiterhin kann zum Quellcode zeilenbasiert einen Review erstellen.
- Wiki Extensions: Viele nützliche Erweiterungen für die Wiki, wie Fußnoten, Kommentare, Verlinkung zu anderen Projekten, TAGs, Bearbeitbare Stylesheets, Footer, u.s.w.
Im Adminbereich findet man eine Liste aller installierten Plugins unter der URL /admin/plugins
Um auch auf Benutzerprofile verlinken zu können, indem man die Schlüsselwörter user#1 oder user:admin verwendet, muss folgender Patch eingespielt werden: Redmine link to user profile






Schreib doch was dazu