Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:ubuntu:redmine

Dies ist eine alte Version des Dokuments!


Redmine unter Ubuntu 9.10

Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.

Es ist besonders für Programmentwicklungen geeignet, da es Schnittstellen zu SVN, Git und anderen Versionierungstools mitbringt. Der Unterschied zu Wikis oder Foren ist eben, dass es Projektbasierend ist. Das heißt soviel, dass man ein Projekt anlegen kann und darin ein Wiki, Foren und so weiter anlegen kann.

Im Folgenden möchte ich erklären wie man es unter Ubuntu 9.10 installiert und mit einem Mongrel Cluster und Apache lauffähig und vor allem es performanter macht.

Pakete installieren

Im ersten Schritt installieren wir alle Pakete die benötigt werden. Ich benutze bspw. MySQL, es ist aber auch mit anderen Datenbanken möglich.

aptitude install mysql-server-5.0 libmysql-ruby subversion apache2-mpm-itk ruby rubygems irb ri rdoc ruby1.8-dev rake libapache2-mod-fastcgi libopenssl-ruby1.8

Anschließend installieren wir Ruby on Rails und Mongrel (Das kann ein wenig dauern)

gem install rails mongrel mongrel_cluster daemons --include-dependencies

Danach muss man noch ein paar Symlinks anlegen

ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/bin/mongrel_rails
ln -s /var/lib/gems/1.8/bin/rails /usr/bin/rails
ln -s /var/lib/gems/1.8/bin/mongrel_cluster_ctl /usr/bin/mongrel_cluster_ctl

Datenbank vorbereiten

Für die Installation müssen wir nun noch einen Benutzer und eine Datenbank anlegen.

mysql -u root -p
CREATE USER 'redmine'@'localhost';
SET password FOR 'redmine'@'localhost' = password('PASSWORT');
CREATE DATABASE redmine;
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
quit

Redmine konfigurieren

Nun können wir die aktuelle Version von Redmine via subversion runterladen. Dazu müssen wir in das Verzeichnis wechseln, in das wir Redmine installieren wollen. Ich habe es einfach in /var/www installiert (auf dem Server läuft nichts anderes)

cd /var/www
svn co http://redmine.rubyforge.org/svn/trunk .

Anschließend müssen wir die Datenbankverbindung angeben und ein paar Sachen an der config/enviroment.rb ändern

cd config/
cp database.yml.example database.yml
nano -w database.yml

Gleich im ersten Block müssen wir etwas ändern. Es sollte so aussehen (natürlich müsst ihr eurer Passwort eintragen)

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: PASSWORT
  encoding: utf8

Danach müssen wir die Rails Version in der enviroment.rb auskommentieren (wir haben bei 9.10 eine aktuellere Version) und ein „Secret Word“ für einen Cookie setzen.

nano -w enviroment.rb

Einfach eine Raute davor:

# Specifies gem version of Rails to use when vendor/rails is not present
# RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION

In die vorletzte Zeile dann die Cookie Information (das :secret habe ich mittels pwgen erzeugt)

# [...]
   config.action_controller.session = { :key => "_myapp_session", :secret => "FZRVfSdulCHtXfE1I1gGit49VVRM8gS2Pin9JlLA" }
end

Nun können wir das Schema in die Datenbank schreiben

rake db:migrate RAILS_ENV="production"

Der erste Start

ruby /var/www/script/server -e production

Jetzt schauen wir ob wir Redmine sehen können:

http://localhost:3000

Konfiguration für Apache

Nun können wir das Mongrel Cluster konfigurieren und starten. Der erste Befehl erstellt drei Instanzen auf den Ports 8000,8001,8002 und zwar mit dem Benutzer www-data

mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www --user www-data --group www-data
mongrel_rails cluster::start

Anschließend weißen wir www-data alle Dateien und Ordner im /var/www zu

chown -R www-data:www-data /var/www/

Für Apache müssen ein paar Module nachgeladen werden:

a2enmod proxy_balancer
a2enmod proxy
a2enmod proxy_http
a2enmod rewrite
a2enmod ssl

Nun da wir die Module geladen haben, müssen wir noch erlauben, dass der Proxy benutzt werden darf. Dies steht in der proxy.conf unter /etc/apache2/mods-enabled/

nano -w /etc/apache2/mods-enabled/proxy.conf

So sollte es dann aussehen:

        <Proxy *>
                AddDefaultCharset off
                Order allow,deny
                Allow from all
                #Allow from .example.com
        </Proxy>

Da ich nur eine Website (eben das Redmine) laufen habe, musste ich keinen neuen vHost anlegen, sondern habe den existierenden geändert

nano -w /etc/apache2/sites-enabled/000-default

Noch dazu lasse ich das alles nur via https laufen, aber ohne sehe es nicht viel anders aus

<VirtualHost *:80>
        ServerAdmin postmaster@systemli.org
        ServerName subdomain.systemli.org
 
        RedirectMatch ^/(.*) https://subdomain.systemli.org/$1
</VirtualHost>
 
<VirtualHost *:443>
        ServerAdmin postmaster@systemli.org
        ServerName subdomain.systemli.org
 
        SSLEngine On
        SSLCipherSuite HIGH
        SSLProtocol all -SSLv2
        SSLCertificateFile /etc/ssl/subdomain.systemli.org.crt
        SSLCertificateKeyFile /etc/ssl/subdomain.systemli.org.key
 
        RewriteEngine On
 
        # Redirect all non-static requests to cluster
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]
</VirtualHost>
 
<Proxy balancer://redminecluster>
        BalancerMember http://127.0.0.1:8000
        BalancerMember http://127.0.0.1:8001
        BalancerMember http://127.0.0.1:8002
</Proxy>

Abschließend starten wir den Apache Server neu und können die Domain aufrufen

service apache2 restart

https://subdomain.systemli.org

howto/ubuntu/redmine.1260035864.txt.gz · Zuletzt geändert: 2013/05/19 16:51 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki