Taiga
Taiga installieren
Taiga ist eine Software für die agile Projektverwaltung. Es werden Scrum- und einfache Kanban-Projekte unterstützt. Weitere Komponenten sind ein Issue-Tracker und ein Wiki pro Projekt. User Stories können optional zu Epics zugeordnet werden.
Bei Hostsharing kann Taiga im Managed Webspace mit dem Apache Passenger Modul betrieben werden. Es wird eine PostgreSQL Datenbank benötigt.
Diese Installationsanleitung beschreibt ein minimales Setup und verzichtet auf die Komponenten "taiga-events" und "taiga-protected".
Vorbereitung in HSAdmin
Mit Hilfe von HSAdmin werden angelegt:
- ein User mit der Shell '/bin/bash', im Beispiel "xyz00-taiga"
- beim User wird eine Domain aufgeschaltet, mein Beispiel ist: "projekte.hs-example.de"
- ein PostgreSQL-User und eine PostgreSQL-Datenbank, beide heißen hier: "xyz00_taiga"
Installation des Backend
Das Backend ist eine Python-/Django-Anwendung. Die Sourcen werden aus dem Git-Repository bei Github ausgecheckt:
cd ~ git clone https://github.com/taigaio/taiga-back.git taiga-back cd taiga-back git checkout stable
Dann wird im Projekt-Verzeichnis ein Python.Virtualenv angelegt:
cd ~/taiga-back python3 -m venv .venv --prompt taiga-back source .venv/bin/activate (taiga-back) pip install --upgrade pip wheel (taiga-back) pip install -r requirements.txt (taiga-back) pip install git+https://github.com/taigaio/taiga-contrib-protected.git@6.0.0#egg=taiga-contrib-protected
Es folgt die Konfiguration der Django-Anwendung
cd ~/taiga-back cp settings/config.py.prod.example settings/config.py nano settings/config.py
Folgende Einstellungen müssen angepasst werden:
In der Struktur "DATABASES" wird die Angelegte PostgreSQL-Datenbank eingetragen.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'xyz00_taiga', 'USER': 'xyz00_taiga', 'PASSWORD': 'das-passwort-von-xyz00_taiga', 'HOST': '127.0.0.1', 'PORT': '5432', } }
Für die Variablen "SITES" und TAIGA_URL muss die richtige Domain eingetragen werden, als "SECRET_KEY" wird ein zufällige Zeichenkette eingetragen.
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxx" TAIGA_URL = "https://projekte.hs-example.de" SITES = { "api": {"domain": "hs-example.jalin.de", "scheme": "https", "name": "api"}, "front": {"domain": "hs-example.jalin.de", "scheme": "https", "name": "front"} }
Im Bereich "MEDIA AND STATIC" werden die bisher auskommentierten Variablen "MEDIA_ROOT" und "STATIC_ROOT" definiert.
# MEDIA_ROOT = '/home/taiga/media' MEDIA_ROOT=/home/pacs/xyz00/users/taiga/data/media MEDIA_URL = f"{ TAIGA_URL }/media/" DEFAULT_FILE_STORAGE = "taiga_contrib_protected.storage.ProtectedFileSystemStorage" THUMBNAIL_DEFAULT_STORAGE = DEFAULT_FILE_STORAGE # STATIC_ROOT = '/home/taiga/static' STATIC_ROOT=/home/pacs/xyz00/users/taiga/data/static STATIC_URL = f"{ TAIGA_URL }/static/"
Für das Versenden von E-Mail ist der Bereich "EMAIL" anzupassen.
DEFAULT_FROM_EMAIL = 'noreply@projekte.hs-example.de' EMAIL_USE_TLS = True EMAIL_HOST = '127.0.0.1' EMAIL_PORT = 4587 EMAIL_HOST_USER = 'xyz00-taiga' EMAIL_HOST_PASSWORD = 'passwort-von-xyz00-taiga'
Alle Zeilen, die mit "EVENTS_PUSH" oder "CELERY" beginnen, können auskommentiert werden, lediglich
CELERY_ENABLED = False
sollte gesetzt werden.
Zum Schluss ist bei mir konfiguriert:
PUBLIC_REGISTER_ENABLED = True USER_EMAIL_ALLOWED_DOMAINS = "hs-example.de"
und
ENABLE_TELEMETRY = False
Nun werden mit den folgenden Kommandos die Datenverzeichnisse angelegt
cd ~ mkdir data mkdir data/static mkdir data/media
Und die initialen Daten in die Datenbank geladen
cd ~/taiga-back source .venv/bin/activate (taiga-back) DJANGO_SETTINGS_MODULE=settings.config python manage.py migrate --noinput (taiga-back) CELERY_ENABLED=False DJANGO_SETTINGS_MODULE=settings.config python manage.py createsuperuser (taiga-back) DJANGO_SETTINGS_MODULE=settings.config python manage.py loaddata initial_project_templates (taiga-back) DJANGO_SETTINGS_MODULE=settings.config python manage.py compilemessages (taiga-back) DJANGO_SETTINGS_MODULE=settings.config python manage.py collectstatic --noinput