Das Nerdlabor

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. ((http://www.schreikultur.de/wordpress/uncategorized/lighttpd-mysql-ruby-on-rails-fastcgi/))

Dieses Tutorial basiert auf der original RedmineInstall. ((http://www.redmine.org/wiki/redmine/RedmineInstall))

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).

1
2
3
4
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.

1
2
mysql -u  root -p
mysql>create database redmine character set utf8;

Als nächstes müssen wir die Datenbankanbindung von Redmine konfigurieren.

1
2
3
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.

1
2
3
4
5
6
7
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: root
  password: passwort
  encoding: utf8

Jetzt können wir die Datenbank befüllen.

Erstens mit Struktur:

1
2
cd ..
rake db:migrate RAILS_ENV="production"

Zweitens mit einer Standardkonfiguration:

1
rake redmine:load_default_data RAILS_ENV="production"

Als nächstes erstellen wir eine dispatch.fcgi aus dem mitgelieferten Beispiel.

1
2
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

1
nano dispatch.fcgi

die erste Zeile in

1
#!/usr/local/bin/ruby

abändern. Je nachdem wo euer Ruby liegt.

Als nächstes muss noch die lighttpd.conf angepasst werden. Dazu mit

1
nano /etc/lighttpd/lighttpd.conf

folgende Zeilen hinzufügen bzw. abändern.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$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”.

1
2
cd ../..
chown -R www-data:www-data redmine/

Jetzt kannst du mit

1
sudo /etc/init.d/lighttpd restart

lighty neustarten und hoffen, dass Redmine unter der angegebenen Adresse erreichbar ist. :)

Comments