Wie installiere ich Redmine auf lighttpd mit FastCGI?
Als Voraussetzung für dieses Tutorial solltest du eine funktionierende Ruby on Rails-Umgebung haben. Dazu bietet sich das lighttpd Tutorial im Nerdlabor an. (1)
Dieses Tutorial basiert auf der original RedmineInstall. (2)
Als erstes brauchst du die neuste Version von Redmine. Downloaden, entpacken, in den Webroot kopieren (bei mir ist das /var/www/, kann aber auch jeder andere Ordner sein).
wget http://rubyforge.org/frs/download.php/52944/redmine-0.8.2.tar.gz
tar xzf redmine-0.8.2.tar.gz
cp -r redmine-0.8.2/ /var/www/
mv /var/www/redmine-0.8.2/ /var/www/redmine
Jetzt musst du eine Datenbank anlegen. Ich nutze MySQL aber es sind auch alle anderen bekannten Datenbanken möglich. Dazu die MySQL-Konsole starten und eine Datenbank erzeugen.
mysql -u root -p
mysql>create database redmine character set utf8;
Als nächstes müssen wir die Datenbankanbindung von Redmine konfigurieren.
cd /var/www/redmine/config
cp database.yml.example database.yml
nano database.yml
Dort im "production"-Bereich Datenbankname, -benutzer und -passwort angeben. In diesem Beispiel ist es root, aber es empfiehlt sich für Redmine einen eigenen Datenbankbenutzer anzulegen.
production:
adapter: mysql
database: redmine
host: localhost
username: root
password: passwort
encoding: utf8
Jetzt können wir die Datenbank befüllen.
Erstens mit Struktur:
cd ..
rake db:migrate RAILS_ENV="production"
Zweitens mit einer Standardkonfiguration:
rake redmine:load_default_data RAILS_ENV="production"
Als nächstes erstellen wir eine dispatch.fcgi aus dem mitgelieferten Beispiel.
cd public/
cp dispatch.fcgi.example dispatch.fcgi
In dieser Datei muss ggf. noch der Pfad zur Ruby-bin angepasst werden. Um das zu tun, einfach mit
nano dispatch.fcgi
die erste Zeile in
#!/usr/local/bin/ruby
abändern. Je nachdem wo euer Ruby liegt.
Als nächstes muss noch die lighttpd.conf angepasst werden. Dazu mit
nano /etc/lighttpd/lighttpd.conf
folgende Zeilen hinzufügen bzw. abändern.
$HTTP["host"] == "redmine.meinedomain.de" { #hier ist auch localhost oder sonstwas möglich
server.document-root = "/var/www/redmine/public"
server.dir-listing = "disable"
server.error-handler-404 = "/dispatch.fcgi"
fastcgi.server = ( ".fcgi" => ( "redmine" => (
"min-procs" => 1,
"max-procs" => 1,
"socket" => "/tmp/redmine.socket",
"bin-path" => "/var/www/redmine/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "production" )
) ) )
}
Jetzt müssen noch die Ordnerrechte an den Webserver-User übergeben werden. Bei mir ist das der Benutzer "www-data".
cd ../..
chown -R www-data:www-data redmine/
Jetzt kannst du mit
sudo /etc/init.d/lighttpd restart
lighty neustarten und hoffen, dass Redmine unter der angegebenen Adresse erreichbar ist. :)