Schlagwort-Archive: ruby

Redmine

Der Projektmanager und Bugtracker Redmine hatte es Daniel und mir angetan. Also kam dieser auf einen unserer Ubuntu 14.04 Server.

apt-get install redmine redmine-sqlite libapache2-mod-passenger

Dann die Konfigurationsdateien anpassen:

# /etc/apache2/mods-available/passenger.conf
PassengerDefaultUser www-data

und

# /etc/apache2/sites-available/default-ssl.conf
<Directory /var/www/pfad/zu/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Wichtig ist hier, dass der Eintrag für den DocumentRoot des bearbeiteten VirtualHost nicht ganz woanders hinzeigt, sonst fliegt PassengerResolveSymlinksInDocumentRoot auf die Nase (weitere Infos hier). Also im zugehörigen VirtualHost Eintrag prüfen, ob er stimmt:

DocumentRoot /var/www/pfad/zu

Redmine versymlinken:

ln -s /usr/share/redmine/public /var/www/pfad/zu/redmine

Die Konfigurationsdatei für Redmine an Ort und Stelle kopieren:

cp /usr/share/redmine/config/configuration.yml.example /etc/redmine/default/configuration.yml

Dort Sendmail für den Default Mode freischalten (funktioniert selbstverständlich auch mit Postfix):

# default configuration options for all environments
default:
  email_delivery:
    delivery_method: :sendmail

Bei Bedarf ebenda den Pfad für die Attachments überarbeiten. Der Default Pfad ist

/var/lib/redmine/default/files

wo dann Unterordner nach Datum des Uploads angelegt werden. Wer das anders haben will kann sich z.B. unter /var/www/pfad/zu/redmin_files anlegen, dem Apachen daran alle Rechte geben und den veränderten Pfad dann in configuration.yml eintragen:

# attachments_storage_path: /var/www/pfad/zu/redmine_files
  attachments_storage_path:

Das Apache Modul aktivieren und die Konfiguration neu laden:

sudo a2enmod passenger
sudo service apache2 restart

Leider enden hier viele Installationsanleitungen. Ich musste wie folgt weiter bauen:

Zuerst schien es mir so, als ob Ruby ohne bundler und sqlite3 Fähigkeiten nichts mit Redmine anzufangen wusste. Ich sah beim Aufruf nur eine leere Seite. Das hier half weiter:

gem install bundler sqlite3

Jetzt bekam ich wenigstens eine Fehlermeldung über eine fehlende und nicht beschreibbare Gemfile.lock Datei zu sehen. Ein

touch /usr/share/redmine/Gemfile.lock
chown www-data.www-data /usr/share/redmine/Gemfile.lock
service apache2 restart

setze die Datei an die gewünschte Stelle und machte Redmine läuffähig. Mit admin admin kann man sich anmelden und aus Redmine heraus die restliche Konfiguration anpassen.

Was dann noch fehlt war die Anbindung über LDAPs an den hausinternen Server. Redmine bringt ein LDAP Modul schon mit, also muss man nur die richtigen Einträge für einen LD-Server herausfinden. Geklappt hat es hiermit:

Name: Anbindung_LD-Server
Host: ip.adresse.des.servers
Port: 636 
BaseDN: dc=schule,dc=ort,dc=schule-bw,dc=de

On the fly Benutzererstellung: True

Login = uid
Firstname = givenName
Lastname = sn
Email = mailPrimaryAddress

Geholfen haben mir bei der Arbeit die folgenden Anleitungen: [1] [2] [3]

Locale Probleme mit Dudle auf 14.04

Sollten sich bei einer Dudle Installation auf 14.04 die Apache error.logs mit Meldungen in der folgenden Art füllen

[cgi:error] [pid 20502] AH01215: /var/www/pfad/zu/dudle/vcs_git.rb:53:in `split': invalid byte sequence in US-ASCII (ArgumentError), referer: https://pfad.zu/dudle/
[cgi:error] [pid 20502] AH01215: \tfrom /var/www/pfad/zu/dudle/vcs_git.rb:53:in `history', referer: https://pfad.zu/dudle/
[cgi:error] [pid 20502] AH01215: \tfrom /var/www/pfad/zu/dudle/giykf19s/edit_columns.cgi:47:in `<main>', referer: https://pfad.zu/dudle/
[cgi:error] [pid 20502] End of script output before headers: edit_columns.cgi, referer: https://pfad.zu/dudle/

und Dudle einen bei der Eingabe von Worten mit Umlauten und / oder Ligaturen wieder auf seine Startseite werfen, dann hilft das Folgende: Zuerst ausschließen, dass man auf dem Server ein generelles Problem mit seinem locales hat. Es hilft ein

dpkg-reconfigure locales

Ein kontrollierender Blick in die folgenden Systemdateien sollte auch nicht schaden. Hier werden die Defaults gesetzt:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LC_ALL="de_DE.UTF-8"
LANG="de_DE.UTF-8"
/etc/environment (END)

und

LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
/etc/default/locale (END)

Ist hier alles in Ordnung, dann kann der  folgende Eintrag in die dudle.rb helfen:

# /var/www/pfad/zu/dudle/dudle.rb

# coding: utf-8
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

Nach einigem Hin und Her haben mir vor allem diese Einträge bei stackoverflow geholfen auf die richtige Spur zu kommen.

Wer unter CentOS und damit ruby 1.8 arbeitet hat noch Glück: Der Fehler geht an einem vorbei, scheint demnach ein Ubuntu Server und ruby 1.9.x Problemchen zu sein.