Redmine ist eine Ruby on Rails-Anwendung zur Planung und Durchführung von Projekten. Sie lässt sich gut konfigurieren und ist leicht bedienbar. Die Installation beschränkt sich auf das Entpacken des Archivs und dem Konfigurieren der Datenbank. Soll die Anwendung jedoch als Dienst bzw. Dämon laufen, so gibt es diese Möglichkeiten:
Mongrel-Webserver
Zur Ausführung wird der Webserver mongrel über das folgende Skript (Quelle) genutzt, das unter /etc/init.d/redmine gespeichert werden kann.
#!/usr/bin/env ruby require "fileutils" include FileUtils require "rubygems" begin gem 'mongrel' rescue => e puts "Error: daemon mode of redmine requires mongrel installed" exit 1 end def redmine_path "/srv/redmine" end def redmine_user "redmine" end command = ARGV.shift case command when 'start' system "su - #{redmine_user} -c 'cd #{redmine_path}; mongrel_rails start -d -e production -p 2555'" exit 0 when 'stop' system "cd #{redmine_path}; mongrel_rails stop" system "rm -f #{redmine_path}/log/mongrel.pid" exit 0 else p "Usage: /etc/init.d/redmine start|stop" exit 1 end
Soll Apache genutzt werden, um die Anwendung auf Port 80 unter einem virtuellen Host anzubieten, wird folgende Konfiguration des vhosts genutzt:
<virtualhost :80> ServerAdmin root@webserver.local ServerName redmine ErrorLog /var/log/apache2/redmine_error.log <proxy> Order deny,allow Allow from all </proxy> <location> Order allow,deny Allow from all </location> ProxyPass / http://127.0.0.1:2555/ ProxyPassReverse / http://127.0.0.1:2555/ </virtualhost>
Soll Apache genutzt werden, um die Anwendung in einem Unterpfad anzubieten, wird folgende Konfiguration des vhosts genutzt:
<virtualhost :80> ServerAdmin root@webserver.local ServerName redmine ErrorLog /var/log/apache2/redmine_error.log ... <location /redmineapp> ProxyPass http://localhost:2555 ProxyPassReverse http://localhost:2555 </location> </virtualhost>
Dann muss Redmine noch mitgeteilt werden, dass es in einem Unterverzeichnis erreichbar ist. Dazu wird in der Datei redmine/config/environment.rb folgende Zeile am Ende ergänzt:
Redmine::Utils::relative_url_root = "/redmineapp"
Thin-Webserver
Alternativ zu Mongrel kann der Thin-Webserver genutzt werden.
Der Datei Gemfile.local wird der Eintrag gem 'thin'
hinzugefügt. Über die folgende Befehlszeile wird der Webserver gestartet:
bundle exec thin -p 2555 -e production --prefix /kundenlogin start
Wird das thin-Paket nicht gefunden, kann auch der vollständige Pfad angegeben werden. Dieser lässt sich mit bundle show thin
anzeigen.
Soll Apache genutzt werden, um die Anwendung in einem Unterpfad anzubieten, wird folgende Konfiguration des vhosts genutzt:
<virtualhost :80> ServerAdmin root@webserver.local ServerName redmine ErrorLog /var/log/apache2/redmine_error.log ... <location /redmineapp> ProxyPass http://localhost:2555/redmineapp ProxyPassReverse http://localhost:2555/redmineapp </location> </virtualhost>
Dann muss Redmine noch mitgeteilt werden, dass es in einem Unterverzeichnis erreichbar ist. Dazu wird in der Datei redmine/config/environment.rb folgende Zeile am Ende ergänzt:
Redmine::Utils::relative_url_root = "/redmineapp"