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"