|
|
Zeile 1: |
Zeile 1: |
| [http://www.redmine.org/ Redmine] ist ein Projektverwaltungs-Werkzeug, das auf Ruby und Ruby on Rails basiert. Die Installation kann vollständig im Benutzeraccount stattfinden. Die Anbindung an den Webserver soll über FastCGI geschehen, da ein eigenständiger Daemon etwas unhandlich ist. | | [http://www.redmine.org/ Redmine] ist ein Projektverwaltungs-Werkzeug, das auf Ruby und Ruby on Rails basiert. Die Installation kann vollständig im Benutzeraccount stattfinden. Die Anbindung an den Webserver soll über FastCGI geschehen, da ein eigenständiger Daemon etwas unhandlich ist. |
|
| |
|
| Ein großer Teil dieser Anleitung ist von unseren Kollegen bei [https://uberspace.de/dokuwiki/cool:redmine Uberspace] übernommen. Vielen Dank an die Kollegen für diesen Artikel!
| | Unsere Kollegen bei [https://uberspace.de/dokuwiki/cool:redmine Uberspace] haben das Vorgehen auf deren Servern erklärt. Viele Informationen aus deren Artikel lässt sich auch bei schokokeks.org anwenden. |
| | |
| == Ruby-Versionen ==
| |
| | |
| Zumindest unter Gentoo ist es uns bisher nicht gelungen, die Ruby-FCGI-Bibliothek unter Ruby-1.9 zu nutzen. Daher basiert diese Anleitung auf Ruby-1.8. Momentan gibt es noch sehr viele Dinge die bei Ruby 1.9 nicht richtig funktionieren, daher ist es kein Problem, sich vorläufig noch auf das Vorhandensein von Ruby-1.8 zu verlassen.
| |
| | |
| == Vorbereitung ==
| |
| | |
| Bevor wir in die Untiefen der Ruby-Gems hinab steigen sollten wir die Datenbank einrichten. Eine eigene Datenbank für Redmine ist empfehlenswert und kann über das Webinterface von schokokeks.org Hosting angelegt werden. Ein bestehender oder neuer Benutzer muss darauf Zugriff erhalten.
| |
| | |
| | |
| Wir installieren im nächsten Schritt das gem "bundler", das uns einen neuen Kommandozeilen-Befehl zur Verfügung stellt. Damit ein Befehl aus einem lokal im Benutzeraccount installierten GEM verfügbar ist, muss der passende Pfad gesetzt sein. Dazu dient folgender Befehl:
| |
| echo "export PATH=\"${HOME}/.gem/ruby/1.8/bin:\$PATH\"" >> ~/.bash_profile
| |
| source ~/.bash_profile
| |
| | |
| Anschließend konfigurieren wir GEM so, dass generell alles im Benutzerverzeichnis installiert wird. Anders macht es auch keinen Sinn, da man ja nur im Benutzerverzeichnis Änderungen vornehmen darf.
| |
| echo "gem: --user-install --no-rdoc --no-ri" > ~/.gemrc
| |
| | |
| Zuletzt wird das Paket '''bundler''' installiert:
| |
| gem install bundler
| |
| | |
| = Redmine installieren =
| |
| Danach muss das jeweils aktuelle Paket von Redmine heruntergeladen werden. Zum Erstell-Zeitpunkt dieser Wiki-Seite ist das die Version 2.2.1.
| |
| * Download-Seite: http://rubyforge.org/frs/?group_id=1850
| |
| | |
| cd ~
| |
| wget http://rubyforge.org/frs/download.php/76677/redmine-2.2.1.tar.gz
| |
| | |
| In diesem Beispiel soll unser Redmine unter ''redmine.mydomain'' online gestellt werden. Dazu wird das Archiv passend entpackt und ein Symlink von "public" auf "htdocs" erzeugt um unsere Standard-Website-Verzeichnisse zu erhalten. ''redmine.mydomain'' ist jeweils durch den wirklichen Domainnamen zu ersetzen.
| |
| cd websites
| |
| tar xzf ~/redmine-2.2.1.tar.gz
| |
| mv redmine-2.2.1 redmine.''mydomain''
| |
| cd redmine.''mydomain''
| |
| ln -s public htdocs
| |
| | |
| == Abhängigkeiten installieren ==
| |
| Durch das Paket ''bundler'' können in einem Rutsch sämtliche Abhängigkeiten installiert werden. Vorher muss jedoch für den Betrieb mittels FastCGI noch die Abhängigkeit zu ''fcgi'' manuell eingetragen werden:
| |
| echo "gem 'fcgi'" > Gemfile.local
| |
| | |
| Anschließend werden alle Abhängigkeiten heruntergeladen und installiert. Dabei lassen wir die Test- und Entwickler-Plattform genauso aus wie die PostgreSQL- und SQlite-Datenbank.
| |
| bundle install --path ~/.gem --without development test postgresql sqlite
| |
| | |
| == Datenbank einrichten ==
| |
| Zunächst werden die Zugangsdaten in der Datei ''config/database.yml'' eingetragen. Die Datei muss bzgl. der Einrückungen genau so bleiben. Alles bis auf die erste Zeile ist eingerückt.
| |
| production:
| |
| adapter: mysql
| |
| database: ''datenbankname''
| |
| host: localhost
| |
| username: ''datenbankbenutzer''
| |
| password: ''datenbankpasswort''
| |
| encoding: utf8
| |
| | |
| Anschließend wird kurz das Session-Secret erzeugt. Das wird benötigt um die Sessions sicher zu machen:
| |
| rake generate_secret_token
| |
| | |
| Danach wird die Datenbank mit dem Standardinhalt gefüllt.
| |
| RAILS_ENV=production rake db:migrate
| |
| RAILS_ENV=production rake redmine:load_default_data
| |
| | |
| Beim letzten Befehl wird nach der Standard-Sprache gefragt. Mit "de" kann man die Beispieldaten in deutsch eintragen lassen. In unserem Test hat das aber nicht dazu geführt, dass die Installation nachher deutschsprachig war. Das lässt sich aber später im Redmin-Webinterface ändern.
| |
| | |
| == E-Mail-Versand ==
| |
| Damit Redmine E-Mails versenden kann, sollte es am besten den traditionellen Sendmail-Wrapper unseres Mailservers benutzen. Dazu in der Datei ''config/configuration.yml'' folgendes eintragen:
| |
| production:
| |
| email_delivery:
| |
| delivery_method: :sendmail
| |
| | |
| | |
| = Anbindung an FastCGI =
| |
| | |
| Im Verzeichnis '''~/websites/redmine.''mydomain''/htdocs''' liegt bereits eine Datei ''dispatch.fcgi.example'', die uns als Vorgabe ausreicht.
| |
| cd htdocs
| |
| cp -a dispatch.fcgi.example dispatch.fcgi
| |
| | |
| Ein Problem tritt auf da FastCGI die Umgebungsvariablen nicht so setzt wie dies in unserer SSH-Sitzung der Fall ist. Daher findet das dispatch-Script nicht alles was es braucht. Wir legen daher ein wrapper-Script an, das die Umgebung einrichtet und das Original-Script anschließend startet. Folglich wird eine neue Datei ''wrapper.fcgi'' erstellt mit folgendem Inhalt:
| |
| #!/bin/bash
| |
| export USER=''deinusername''
| |
| export HOME=/home/''deinusername''
| |
| source $HOME/.bash_profile
| |
| export RAILS_ENV=production
| |
| exec ./dispatch.fcgi
| |
| | |
| Dabei ist ''deinusername'' durch den Benutzernamen zu ersetzen. Das Script muss anschließend ausführbar gemacht werden:
| |
| chmod +x wrapper.fcgi
| |
| | |
| (Die Datei '''dispatch.fcgi''' muss auch ausführbar sein. Bei obigem Vorgehen ist das normalerweise bereits der Fall.)
| |
| | |
| | |
| Anschließend muss über eine ''.htaccess''-Datei noch eingerichtet werden, dass unser wrapper-Script auch benutzt wird. Am einfachsten geht das mit mod_rewrite. Also eine neue Datei ''.htaccess' (führender Punkt!) erstellen mit folgendem Inhalt:
| |
| | |
| AddHandler fcgid-script .fcgi
| |
| Options +FollowSymLinks +ExecCGI
| |
|
| |
| RewriteEngine On
| |
| RewriteRule ^$ index.html [QSA]
| |
| RewriteRule ^([^.]+)$ $1.html [QSA]
| |
| RewriteCond %{REQUEST_FILENAME} !-f
| |
| RewriteRule ^(.*)$ wrapper.fcgi [QSA,L]
| |
|
| |
| ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
| |
| | |
| = Fertig =
| |
| | |
| Damit ist die Einrichtung beendet und die Website kann nun zum ersten Mal aufgerufen werden. '''Die Standard-Datenbank enthält bereits einen Admin-Benutzer.''' Benutzername und Passwort ist jeweils "admin".
| |
| | |
| == Fehler? ==
| |
| Fehlermeldungen werden auch bei aktiviertem Error-Log in vielen Fällen in das zentrale System-Logfile geschrieben auf die ein Benutzer keinen Zugriff hat. Bei Fehlern ist man als Benutzer also manchmal etwas hilflos. Sprechen Sie uns an, wir helfen gerne bei der Fehlersuche.
| |
Redmine ist ein Projektverwaltungs-Werkzeug, das auf Ruby und Ruby on Rails basiert. Die Installation kann vollständig im Benutzeraccount stattfinden. Die Anbindung an den Webserver soll über FastCGI geschehen, da ein eigenständiger Daemon etwas unhandlich ist.
Unsere Kollegen bei Uberspace haben das Vorgehen auf deren Servern erklärt. Viele Informationen aus deren Artikel lässt sich auch bei schokokeks.org anwenden.