Redmine Projektverwaltung

Submitted by Erik Wegner on
Body

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"