Heute gibts mal wieder eine kleine Anleitung. Dieses mal installieren wir Redmine 2.5.0 auf Debian 7 Wheezy mit Apache und dem Applikationsserver Passenger. Das Installieren von Redmine ist immer ein riesen Heckmeck aber man kommt einigermaßen gut zurecht wenn man ein paar Kleinigkeiten beachtet. Freut euch auf das erste Update der Software ;), da geht dann wieder alles von vorne los. Nichts desto trotz ist Redmine einfach genial für das Verwalten verschiedenster Projekte. Mit dieser Anleitung könnt ihr eine frische Installation erstellen oder eine alte Version migrieren. Funktioniert beides wunderbar und beide Wege sind in dieser Anleitung beschrieben.
Benötigte Pakete installieren
Ich setzte hier mal voraus, dass ihr bereits einen Debian 7 Server mit LAMP-Konfiguration aufgesetzt habt. Es fehlen lediglich ein paar Pakete und Gems für Ruby.
aptitude install ruby libapache2-mod-passenger libmagickwand-dev libmagickcore-dev ruby1.9.3 libmysqlclient-dev imagemagick gem install bundler bundle install --without development test
Mit den Befehlen haben wir auch gleich den bundler installiert und mit „bundle install –without development test“ haben wir alle gems installiert die für die Redmine-Installation nötig sind.
Redmine herunterladen und entpacken
Einfach auf www.redmine.org den aktuellen Downloadlink suchen und kopieren. Mit dem Befehl
wget http://www.redmine.org/releases/redmine-2.5.0.tar.gz
Dann die tar.gz-Datei herunterladen und mit
tar -xzf redmine-2.5.0.tar.gz
entpacken. Ich habe das Verzeichnis /sr/www/htdocs/ gewählt. Für die richtigen Rechte muss noch folgender Befehl ausgeführt werden
chown -R www-data:www-data redmine-2.5.0
Redmine konfigurieren
Nun geht es los und wir müssen uns mal um die Konfiguration kümmern. In dieser Anleitung setze ich voraus, dass ihr bereits eine Datenbank erstellt habt. Für den geübten Linuxnutzer empfehle ich die Konsole ansonsten geht auch mal phpmyadmin und andere Programme zum administrieren der Datenbanken. Dazu kopieren wir uns die Beispiel-Config-Datei und bearbeiten diese:
cd redmine-2.5.0/config cp database.yml.example database.yml vim database.yml
Folgende Einstellungen müssen entsprechend der Datenbank angepasst werden:
production: adapter: mysql2 database: redmine host: localhost username: root password: "" encoding: utf8
Es ist dabei egal ob ihr eine leere Datenbank erstellt oder eine alte Redmineversion auf eine neue Version migrieren wollte. Redmine kommt auf jeden Fall damit klar. Für die Migration einfach die alte Datenbank einstellen. Der nächste Schritt migriert dann auf die neue Version.
Redmine benötigt auch ein paar neue Ordner. Dazu einfach in den Redmine-Root-Ordner gehen und folgende Befehle ausführen:
mkdir tmp tmp/pdf public/plugin_assets chown -R www-data:www-data files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets
Wer eine Installation migriert muss nun auch die Files aus der alten Installation übertragen. Dazu einfach den Ordner files kopieren (und eventuell die Rechte anpassen). Außerdem sollten auch die Plugins nicht vergessen werden.
Redmine installieren
Nun legen wir noch einen secret_token an. Dieser wird für die Sicherheit von Redmine benötigt. Anschließend wird die Datenbank gefüllt. Es ist dabei egal ob es sich um eine alte Datenbank aus einer älteren Version handelt die ihr migrieren wollt oder um eine leere Datenbank. Redmine wird alles für euch erledigen. Zum Ausführen der Befehle muss in den Ordner von Redmine gewechselt werden.
rake generate_secret_token RAILS_ENV=production rake db:migrate
Anschließend wollen wir erst einmal testen ob alles geklappt hat. Dazu einfach folgenden Befehl ausführen:
ruby script/rails server webrick -e production
Öffnet einfach einen Browser mit der Domain bzw. der IP-Adresse eures Servers und dem Port 3000 (z.B. www.beispielseite.de:3000 ). Wenn alles geklappt hat sollte das Loginfenster erscheinen. Wer eine alte Installation migriert hat sollte sich mit den alten Benutzerdaten wieder einloggen können.
Redmine mit Passenger und Apache2 ausführen
Nun wollen wir aber das ganze mit Apache2 und dem Application-Server Passenger ausführen. Dazu müssen zunächst folgende Pakete zusätzlich installiert werden:
aptitude install build-essential apache2-prefork-dev libapr1-dev libssl-dev zlib1g-dev libcurl4-openssl-dev libssl-dev libapr1-dev libaprutil1-dev rubygems gem install passenger
Und anschließend sollte der folgende Befehl ohne Probleme ausführbar sein. Sollte dennoch etwas fehlen, wird der Befehl erklären was weiter zu machen ist.
passenger-install-apache2-module
Am Ende der Installation wird eine Ergänzung zur Konfiguration ausgegeben. Dies sollte ungefähr so aussehen:
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.38/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.38 PassengerDefaultRuby /usr/bin/ruby1.9.1 </IfModule>
Der Code wird vom Programm automatisch am Ende ausgegeben und kann leicht abweichen. Dieser Teil muss in folgenden Dateien ergänzt werden /etc/apache2/mods-available/passenger.load und /etc/apache2/mods-available/passenger.conf (einfach mit vim öffnen und unten anhängen bzw ersetzen). Nun aktivieren wir den passenger-mod mit dem Befehl:
a2enmod passenger
Sollte etwas mit der Konfiguration nicht geklappt haben startet der Apache2-Server nicht. Beachtet hier die Ausgabe des Apache-Log-Files bzw. die Fehlermeldungen. Jetzt müssen wir noch den guten alten Apache richtig konfigurieren. Hier ist eurer Fantasie freien Lauf gelassen. Ich möchte redmine als Subdomain laufen lassen. Dazu muss die entsprechende Datei unter /etc/apache2/sites-available/ konfigurieren. Mein Beispiel sieht wie folgt aus:
################################# # # # redmine.website.de # # # ################################# <VirtualHost *:80> ServerName redmine.website.de DocumentRoot /srv/www/htdocs/website.de/redmine/public #Extra logs for this page ErrorLog /var/log/apache2/website.de/redmine/error.log LogLevel warn CustomLog /var/log/apache2/website.de/redmine/access.log combined #Redirects http:// to https:// Redirect permanent / https://redmine.website.de/ </VirtualHost> <VirtualHost *:443> ServerName redmine.website.de ServerAdmin mail@website.de DocumentRoot "/srv/www/htdocs/website.de/redmine/public" #Extra logs for this page ErrorLog /var/log/apache2/website.de/redmine/error.log LogLevel warn CustomLog /var/log/apache2/website.de/redmine/access.log combined #DefaultInitEnv RAILS_ENV production RailsBaseURI /redmine <Directory /srv/www/htdocs/website.de/redmine/public> Options Indexes FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all </Directory> SSLEngine On SSLCertificateFile /etc/apache2/ssl/website.de/redmine.website.de.crt SSLCertificateKeyFile /etc/apache2/ssl/00basic-certificates/private.pem SSLCACertificateFile /etc/apache2/ssl/00basic-certificates/ca.pem SSLCertificateChainFile /etc/apache2/ssl/00basic-certificates/sub.class2.server.ca.pem SSLHonorCipherOrder On SSLProtocol all -SSLv2 SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:!RC4:HIGH:!MD5:!aNULL:!EDH </VirtualHost>
Mit dieser Konfiguration wird die gesamte Kommunikation über eine sichere SSL-Verbindung abgehandelt und die Seite ist dann unter https://redmine.website.de erreichbar. Jetzt nur noch ein einziges mal den Apache2-Server neustarten und wir sind fertig.
apachectl restart
Wir haben fertig!
Ich hoffe ich konnte euch mit dieser kleinen Anleitung ein bisschen Hilfe geben. Redmine ist wirklich super und die etwas komplizierte Installation sollte euch nicht abschrecken. Wenn ihr Fehler findet, Fragen habt oder eine Methode wisst wie es besser und einfacher geht, schreibt mir bitte. Vielleicht können wir die Anleitung gemeinsam noch weiter verfeinern :).
Ein Hinweis, dass mysql installiert sein sollte wäre für andere hilfreich oder mysql-server mit in apt-get install hinzufügen.
Zu erst redmine kopieren, dann in den Ordner wechseln und dort dann „bundle install –without development test“ ausführen. Ansonsten gibt es eine Fehlermeldung: „Could not locate Gemfile“
Bevor die Ordner angelegt werden sollte man auch zurück nach redmine gehen. (ist nicht für jeden klar)
Passwort für die Datenbank-Konfiguration sollte innerhalb der „“ stehen! 😀
Ansonsten gut und Danke!
Halli Christian,
danke für deinen hilfreichen Kommentar. Das MySQL installiert sein sollte, hatte ich mit der LAMP-Konfiguration schon erklärt, hab jetzt aber noch einen Link dazu hinterlegt. Für den Rest habe ich den Text etwas angepasst. Danke und viel Spaß mit Redmine :).
Grüzi
Vielen Dank für die Anleitung 😉
Und wer es unter Ubuntu 14.04 einrichten will, kann es sich das ganze hier anschauen 😉
http://blog.arfr.de/redmine-installation-on-ubuntu-14-04/#more-178
Danke! Bei der Zeile
install build-essential apache2-prefork-dev libapr1-dev libssl-dev zlib1g-dev libcurl4-openssl-dev libssl-dev libapr1-dev libaprutil1-dev rubygems
fehlt „aptitude“ davor.Hallo Mateng, danke für den Hinweis. Ich habs ausgebessert. Grüzi Timo