OpenProject ist ein sehr gutes Projektmanagement-Tool, welches gleich mehrere Anforderungen erfüllt:

  • online und damit von allen im Team jederzeit abrufbar
  • Unterstützung für beliebig viele Nutzer*innen
  • kostenlos
  • funktioniert ohne Rootrechte

Im Uberspace-Wiki gibt es einen Abschnitt “Coole Sachen”, wo auch eine Anleitung für Open Project 6 verlinkt ist. Ich versuchte dieser zu folgen, stieß aber an einigen Stellen auf Probleme. Daher folgt hier nun eine Anleitung, die für die aktuelle Version 6 von Uberspace funktioniert. Uberspace 7 konnte ich nicht nutzen, da dort Ruby noch nicht zur Verfügung steht.

Abhängigkeiten installieren

  1. Zunächst erstellt ihr eine .gemrc mit folgendem Inhalt: gem: --user-install --no-rdoc --no-ri. Damit sagt ihr Ruby, dass die Gems in dem User Directory installiert werden sollen.
  2. Erstellt unter ~/etc/ eine Datei rubyversion mit dem Inhalt: RUBYVERSION=2.4.1. Mit dieser Datei legt ihr die zu nutzende Rubyversion auf 2.4.1 fest. Eine neuere Version gibt es zum aktuellen Zeitpunkt auf Uberspace 6 nicht.
  3. Fügt in eurer .bash_profile am Ende folgendes hinzu: export PATH=/package/host/localhost/nodejs-9/bin:$PATH Damit wird die NodeJS Version auf 9 gesetzt. Standardmäßig wird noch eine sehr alte Version verwendet. Um die Änderungen zu laden, benutzt source .bash_profile.
  4. Überprüft die Einstellungen mit ruby --version, was 2.4.1 ergeben sollte.

Das war es. Keine weiteren Schritte sind zu diesem Zeitpunkt nötig.

OpenProject installieren

Führt folgende Anweisungen aus, wobei jede Zeile einzeln in das Terminal eingegeben werden sollte. Wenn ihr gleich gewisse Standardplugins dabei haben wollt, dann nehmt im Folgenden die auskommentierte Zeile und kommentiert die erste git clone-Zeile aus.

mkdir apps; cd apps
git clone https://github.com/opf/openproject.git --branch stable/7 --depth 1
# git clone https://github.com/opf/openproject-ce.git --branch stable/7 --depth 1 openproject
cd openproject
git checkout stable
gem install bundler
# bearbeite die Gemfile-Datei und setze am Anfang bei der Rubyversion 2.4.1 ein
bundle install --deployment --without postgres sqlite development test therubyracer docker
npm install

OpenProject konfigurieren

Als nächstes müssen wir OpenProject konfigurieren. Dafür erstellen wir zunächst die Datenbankkonfiguration und bearbeiten sie im Anschluss:

# wir befinden uns weiterhin in ~/apps/openproject
cp config/database.yml.example config/database.yml

Die Zugangsdaten für MySQL finden sich in der .my.cnf-Datei im Homeverzeichnis. Diese müssen jetzt eingetragen werden.

# config/database.yml
# ...
production:
  adapter: mysql2
  database: <uberspace user>
  host: localhost
  username: <uberspace user>
  password: <secret>
  encoding: utf8
# ...
development:
  adapter: mysql2
  database: <uberspace user>_development
  host: localhost
  username: <uberspace user>
  password: <secret>
  encoding: utf8
# ...
test:
  adapter: mysql2
  database: <uberspace user>_test
  host: localhost
  username: <uberspace user>
  password: <secret>
  encoding: utf8
# ...

OpenProject benötigt einen offenen Port. Dieser muss erst einmal geöffnet werden.

uberspace-add-port -p tcp --firewall
# dieser Befehl wird als Antwort verraten, welcher Port geöffnet wurde
# diesen Port bitte merken

Als nächstes bearbeiten wir die config/configuration.yml bzw. erstellen sie, wenn es sie noch nicht gibt.

production:
   email_delivery_method: "smtp"
   smtp_address: "<uberspace user>@<host>.uberspace.de"
   smtp_port: 587
   smtp_authentication