Redmine FastCGI installieren

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen


veraltet

Wir empfehlen die Installation von Redmine mit Passenger: Redmine_im_Webspace.


Redmine mit FastCGI installieren

Redmine ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.

Redmine ist in Ruby mit dem Framework Ruby on Rails programmiert. Es steht unter der General Public License v2 (GPL).

Hier soll es als Beispiel dienen, wie man auf der Hostsharing-Infrastruktur Rails-Anwendungen betrieben kann.

Vorbereitungen

Download der aktuellen Redmine Version von RubyForge (zur Zeit Version 1.4.1)

cd ~
tar xfz /path/to/redmine-1.4.1-tgz
cd ~/redmine-1.4.1

Auflösen der Abhängigkeiten

export GEM_PATH=$( gem env gempath )
export GEM_HOME=$HOME/.gem/ruby/1.8
export RAILS_ENV=production
gem install bundler

Konfiguration

Datenbank

Mit hsadmin habe ich den Postgres-User 'xyz00_redmine' (Passwort sei 'geheim') und die Datenbank 'xyz00_redmine' angelegt.

Die Datenbank konfigurieren ich wie folgt:

cd ~/redmine-1.4.1/config/
vi database.yml

mit folgendem Inhalt:

production:
    adapter: postgresql
    database: xyz00_redmine
    host: localhost
    username: xyz00_redmine
    password: geheim

E-Mail, Dateiablage

cd ~/redmine-1.4.1/config/
vi configuration.yml

Wichtige Inhalte:

default:
    email_delivery:
        delivery_method: :smtp
        smtp_settings:
        address: localhost
        port: 25
        domain: example.org
    attachments_storage_path: /home/pacs/xyz00/users/redmine/attach

Laden von Abhängigkeiten, Datenbankschema

Folgende Kommandos ausführen:

cd ~/redmine-1.4.1
~/.gem/ruby/1.8/bin/bundle install --without development test
~/.gem/ruby/1.8/bin/bundle exec rake generate_session_store
~/.gem/ruby/1.8/bin/bundle exec rake db:migrate
~/.gem/ruby/1.8/bin/bundle exec rake redmine:load_default_data

Das Skript fragt einer Sprache für die Inhalte der Datenbank: je nach Wunsche 'de' oder 'en' wählen.

Konfiguration von FastCGI

Datei ~/doms/redmine.example.org/htdocs/.htaccess

RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
RewriteRule ^(.*)$ /fastcgi-bin/dispatch.fcgi [QSA,L]

Datei ~/doms/redmine.example.org/fastcgi/dispatch.fcgi

#!/usr/bin/env ruby
require "/home/pacs/xyz00/users/meinuser/redmine-1.4.1/config/environment" 
require 'fcgi_handler'
RailsFCGIHandler.process!

FastCGI-Skript ausführbar machen:

chmod 755 ~/doms/redmine.example.org/fastcgi/dispatch.fcgi

Am Anfang von ~/redmine-1.4.1/config/environment.rb füge ich ein:

ENV['RAILS_ENV'] ||= 'production'
ENV['GEM_PATH'] ||= '/home/pacs/xyz00/users/meinuser/.gem/ruby/1.8:/var/lib/gems/1.8'

Die Inhalte von ~/doms/redmine.example.org/public/ als webroot sichtbar machen:

# Vorhandene Dateien sichern. (Alternativ in ~/redmine-1.4.1/public kopieren)
mv ~/doms/redmine.example.org/htdocs ~/doms/redmine.example.org/htdocs.old
ln -s ~/redmine-1.4.1/public ~/doms/redmine.example.org/htdocs

Konfiguration von SSL

Die Verzeichnisse ~/doms/redmine.example.org/fastcgi-ssl/ und ~/doms/redmine.example.org/htdocs-ssl/ werden analog zu bzw. anstelle von fastcgi und htdocs gefüllt.