Redmine Installations-Howto

Hier wird erklärt wie man Redmine auf einem Debian (Lenny) System unter Benutzung von apache2 und Installation und EinrichtungSQL8 mit Openldap-Authentifizierung installiert.

Voraussetzungen

Wir haben ein Debian als OS. Apache2-Webserver und PostgreSQL-Datenbank sind bereits installiert.

Installation

Ruby

aptitude install ruby rake rubygems libopenssl-ruby libpgsql-ruby librmagick-ruby

Will man MySQL benutzen, muss man anstelle libpgsql-ruby das Paket libmysql-ruby installieren.

Rails

gem install rails -v=2.2.2

Redmine

Die Development Version installieren:

svn co http://redmine.rubyforge.org/svn/trunk redmine

Konfiguration

config/database.yml

cd redmine
cp config/database.yml.example config/database.yml
vi config/database.yml

Und den Abschnitt „production“ an die eigenen Bedürfnisse anpassen:

production:
  adapter: postgresql
  database: redmine  
  host: localhost
  username: redmine      
  password: "pass"
  encoding: utf8 

PosgreSQL Benutzer und Datenbank anlegen

Dazu führen wir auf dem Datenbankhost folgende Befehle aus:

createuser -P redmine
createdb -O redmine redmine

Da sich der Datenbankhost von dem Server unterscheidet, auf dem Redmine laufen wird, fügen wir noch der pg_hba.conf die Erlaubnis hinzu, dass der redmine-User auf seine redmine-Datenbank zugreifen darf.

vi /etc/postgresql/8.3/main/pg_hba.conf

Die beiden Zeilen werden nun hinzugefügt:

host    redmine         redmine 192.168.0.0/24            md5
local   redmine         redmine                         md5
Anschließend muss der Postgres neu geladen werden, damit das hier Wirkung zeigt:

/etc/init.d/postgresql-8.3 reload

Rake

Die folgenden Befehle alle vom Redmine-Hauptverzeichnis ausführen.

vi config/environment.rb

Dort die folgende Zeile auskommentieren, sodass sie so aussieht:

#RAILS_GEM_VERSION = '2.2.2' unless defined? RAILS_GEM_VERSION

Ein Secret für Cookies generieren:

rake config/initializers/session_store.rb

Datenbankstruktur erstellen:

rake db:migrate RAILS_ENV="production"

Default-Konfiguration in die Datenbank schreiben:

rake redmine:load_default_data RAILS_ENV="production"

Dabei muss man seine Sprache wählen. Ich wähle de.

Verzeichnis-Rechte setzen

Der Nutzer unter dem Redmin nachher läuft braucht noch ein paar Rechte:

mkdir tmp public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

Email

cp config/email.yml.example config/email.yml
vi config/email.yml

Folgendes anpassen:

production:
  delivery_method: :smtp
  smtp_settings:
    address: smtp.example.net
    port: 25
    domain: example.net
    authentication: :login
    user_name: redmine@example.net
    password: redmine

Testlauf

ruby script/server webrick -e production

Nun kann man z.B. unter http://127.0.0.1:3000/ das Redmine aufrufen. Redmine läuft nun erst einmal.

Redmine und Apache2 verheiraten

Redmine und Apache mit mod_ruby laufen zu lassen ist eine bad idea. Daher müssen wir uns etwas anderes suchen… Zum Bsp. mod_cgi.

Sollte man sich für fastcgi entscheiden, so musst natürlich fastcgi installiert werden und zusätzlich noch das Paket libfcgi-ruby1.8. Ansonsten ist der Rest analog zu dem cgi-Vorgehen zu erledigen.

Modul

Hierzu muss der mod_cgi aktiviert sein. Falls nicht:

a2enmod cgi

Redmine-Konfiguration

Die default-Environment muss gesetzt werden. Dazu einfach die vorgefertigte Zeile auskommentieren.

vi config/environment.rb

ENV['RAILS_ENV'] ||= 'production'

Nun muss noch die CGI-Datei, die für alles verantwortlich sein wird, aktiviert werden:

cp public/dispatch.cgi.example public/dispatch.cgi

Virtualhost

Nun kann der VirtualHost für den Apache geschrieben werden.

vi /etc/apache2/sites-available/redmine

Der VHost für Redmine sieht hier wie folgt aus:

<VirtualHost *:80>
        ServerAdmin webmaster@example.net
        ServerName redmine.example.net
        DocumentRoot /var/www/redmine/public/

        <Directory "/var/www/redmine/public/">
                Options Indexes ExecCGI FollowSymLinks
                Order allow,deny
                Allow from all
                AllowOverride all
        </Directory>
</VirtualHost>

Vhost aktivieren:

a2ensite redmine

Abschließend muss der Apache neugestartet werden:

/etc/init.d/apache2 restart

Uuuuuuuuuund fertig damit. Nun kann man unter redmine.example.net sein Redmine aufrufen.

(Open)LDAP-Authentifizierung

Man meldet sich als admin mit dem Passwort admin an und ändert am besten erst einmal das Passwort. Anschließend klickt man auf Administration, dann auf Konfiguration und schließlich auf den Reiter Authentifizierung. Dort hat man dann unten rechts einen Link LDAP-Authentifizierung. Nun fügt man mit dem Link Neuer Authentifizierungs-Modus einen neuen hinzu.

Da stellt man nun einfach alles ein, was man so weiß und braucht. In meinem Fall war es

  • Name: LDAP-Auth
  • Host: ldap.mydomain
  • Port: 389
  • Base DN: ou=user,dc=example,dc=net
  • Mitgliedsname: uid

Speicher und schon fertig. Alle anderen Felder bleiben bei mir leer.

Um jetzt die LDAP-Auth effektiv zu nutzen muss in der Administration ein Nutzer angelegt werden, der auch im LDAP existiert. Der Mitgliedsname muss dabei der uid im LDAP entsprechen. Bei Authentifzierung stellt man LDAP-Auth ein. Damit verschwindet auch das Passwortfeld, was man nicht befüllen braucht. Der Rest wird nach gutdünken gefüllt und fertig.

Der User kann sich nun mit seinem LDAP-Account bei Redmine einloggen.

Probleme

FastCGI

Lässt man Redmine über FastCGI laufen kommt es zum Speichervolllaufen durch den Apache. Tests mit CGI verlaufen bisher gut aber langsam.

Webrick

Wir nutzen derzeit Webrick als Server für Redmine und das Apache-Modul Proxy um über den Apachen auf Redmine zuzugreifen.

Thin

Sollte als alternative zu Webrick ausprobiert werden.

  • als OpenOffice-Datei speichern
  • als PDF-Datei speichern
  • Werkzeuge:
 
public/redmine.txt · Zuletzt geändert: 2014/09/21 17:41 (Externe Bearbeitung) · [Ältere Versionen]
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki