Wie installiert man das Taiga-Projektmanagementsystem auf Ubuntu 20.04

Taiga ist ein kostenloses, quelloffenes, einfaches und dennoch leistungsstarkes Projektmanagement-Tool für Start-ups, agile Entwickler und Designer. Es unterstützt Teams, die sowohl im Scrum- als auch im Kanban-Framework agil arbeiten. Das Frontend ist in JavaScript geschrieben, während das Backend in Python und Django geschrieben ist. Es ist eine sehr leistungsstarke und vollständig anpassbare Anwendung, die sowohl einfache als auch komplexe Projekte für Entwickler und Teams bewältigen kann. Es kann leicht mit vielen Diensten integriert werden, darunter Kanban, Scrum, Talky.io und Appear.in.

In diesem Tutorial zeigen wir Ihnen, wie Sie das Taiga-Projektmanagement-Tool auf dem Ubuntu 20.04-Server installieren.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domain-Name, der auf Ihre Server-IP zeigt.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

Aktualisieren Sie zunächst Ihre Systempakete mit folgendem Befehl auf die neueste Version:

apt-get update -y

Wenn alle Pakete aktualisiert sind, installieren Sie weitere für Taiga erforderliche Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

apt-get install git gnupg2 pwgen automake wget curl gettext python3 virtualenvwrapper python3-dev python3-pip python3-dev libssl-dev tmux build-essential libgdbm-dev binutils-doc autoconf flex gunicorn bison libjpeg-dev libzmq3-dev libfreetype6-dev zlib1g-dev libncurses5-dev libtool libxslt-dev libxml2-dev libffi-dev

Als nächstes müssen Sie einen voll qualifizierten Hostnamen für Ihr System einrichten. Sie können ihn mit dem folgenden Befehl setzen:

hostnamectl set-hostname taiga.example.com

Als nächstes müssen Sie Ihren Hostnamen mit Ihrer IP-Adresse verbinden. Sie können dies tun, indem Sie die Datei /etc/hosts bearbeiten:

nano /etc/hosts

Fügen Sie die folgenden Zeilen hinzu:

your-server-ip taiga.example.com

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Installieren Sie Node.js

Als nächstes müssen Sie Node.js auf Ihrem System installieren. Standardmäßig ist die neueste Version von Node.js nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Daher müssen Sie das Repository Node.js zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Sobald das Repository hinzugefügt ist, installieren Sie die neueste Version von Node.js mit dem folgenden Befehl:

apt-get install nodejs -y

Nach der Installation von Node.js überprüfen Sie die installierte Version von Node.js mit folgendem Befehl:

node -v

Sie sollten die folgende Ausgabe erhalten:

v12.19.0

Installieren und Konfigurieren von PostgreSQL

Taiga verwendet PostgreSQL-Server als Datenbank-Backend. Sie müssen ihn also in Ihrem System installieren. Zuerst fügen Sie den PostgreSQL GPG-Schlüssel mit dem folgenden Befehl hinzu:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Als nächstes fügen Sie das PostgreSQL-Repository mit dem folgenden Befehl hinzu:

echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

Aktualisieren Sie dann das Repository und installieren Sie die neueste Version von PostgreSQL mit folgendem Befehl

apt-get update -y
apt-get install postgresql -y

Ändern Sie als nächstes das PostgreSQL-Kennwort mit folgendem Befehl: Ändern Sie als nächstes das PostgreSQL-Kennwort mit folgendem Befehl

passwd postgres

Sie sollten die folgende Ausgabe erhalten:

New password: 
Retype new password: 
passwd: password updated successfully

Wechseln Sie als nächstes den Benutzer zu Postgres und legen Sie einen Benutzer für Taiga an:

su - postgres
postgres@taiga:~$ createuser taiga

Als nächstes melden Sie sich mit folgendem Befehl an der PostgreSQL-Shell an:

postgres@taiga:~$ psql

Ausgabe:

psql (13.0 (Ubuntu 13.0-1.pgdg20.04+1))
Type "help" for help.

Sobald Sie sich angemeldet haben, erstellen Sie einen Benutzer und eine Datenbank mit dem folgenden Befehl:

postgres=# ALTER USER taiga WITH ENCRYPTED password 'yourpassword';
postgres=# CREATE DATABASE taiga OWNER taiga;

Verlassen Sie als nächstes die PostgreSQL-Shell und den Benutzer mit folgendem Befehl: Ausgabe: Sobald Sie sich angemeldet haben, erstellen Sie einen Benutzer und eine Datenbank mit folgendem Befehl

postgres=# \q
postgres@taiga:~$ exit

RabbitMQ und Redis installieren

Die Taiga verwendet RabbitMQ als Nachrichtenvermittler und Redis für das Caching. Sie müssen also beide Pakete in Ihrem System installieren. Sie können beide Pakete mit dem folgenden Befehl installieren:

apt-get install rabbitmq-server redis-server -y

Als nächstes erstellen Sie einen neuen Benutzer und virtuellen Host für RabbitMQ mit folgendem Befehl:

rabbitmqctl add_user taiga yourpassword
rabbitmqctl add_vhost taiga
rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Taiga-Backend installieren und konfigurieren

Erstellen Sie zunächst einen separaten Benutzer für Taiga mit dem folgenden Befehl:

adduser taiga

Fügen Sie dann den Taiga-Benutzer mit folgendem Befehl zur sudo-Gruppe hinzu:

adduser taiga sudo

Als nächstes ändern Sie den Benutzer in Taiga und erstellen ein Verzeichnis zum Speichern von Taiga-Protokollen:

su - taiga
mkdir -p ~/logs

Laden Sie als Nächstes das Taiga-Backend vom Git-Repository mit folgendem Befehl herunter: Laden Sie als Nächstes das Taiga-Backend vom Git-Repository herunter:

git clone https://github.com/taigaio/taiga-back.git

Ändern Sie dann das Verzeichnis in das heruntergeladene Verzeichnis und checken Sie den neuesten Zweig aus:

cd taiga-back
git checkout stable

Als nächstes aktivieren Sie den Befehl mkvirtualenv mit folgendem Befehl:

nano ~/.bashrc

Fügen Sie die folgende Zeile hinzu:

source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'

Aktivieren Sie das neue Profil mit folgendem Befehl: Aktivieren Sie das neue Profil mit folgendem Befehl:

source ~/.bashrc

Als nächstes erstellen Sie eine virtuelle Python-Umgebung für Taiga:

mkvirtualenv -p /usr/bin/python3 taiga_venv

Installieren Sie als nächstes alle erforderlichen Abhängigkeiten mit folgendem Befehl:

pip3 install -r requirements.txt

Als nächstes migrieren und laden Sie die Daten mit folgendem Befehl:

python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 manage.py collectstatic --noinput

Als nächstes müssen Sie die Datei local.py bearbeiten und Ihre Anwendungs- und Datenbankeinstellungen definieren:

nano ~/taiga-back/settings/local.py

Fügen Sie die folgenden Zeilen hinzu:

from .common import *

MEDIA_URL = "http://taiga.example.com/media/"
STATIC_URL = "http://taiga.example.com/static/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "taiga.example.com"

SECRET_KEY = "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND"

DEBUG = False
PUBLIC_REGISTER_ENABLED = True

DEFAULT_FROM_EMAIL = "no-reply@taiga.example.com"
SERVER_EMAIL = DEFAULT_FROM_EMAIL

#CELERY_ENABLED = True

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:yourpassword@localhost:5672/taiga"}

Speichern und schließen Sie die Datei, und starten Sie dann den Taiga-Backend-Server mit folgendem Befehl: Als nächstes müssen Sie die Datei local.py bearbeiten und Ihre Anwendungs- und Datenbankeinstellungen definieren:

workon taiga_venv
python manage.py runserver

Sobald der Server erfolgreich gestartet ist, sollten Sie die folgende Ausgabe erhalten:

System check identified no issues (0 silenced).
November 02, 2020 - 09:24:41
Django version 2.2.16, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Drücken Sie CTRL + C, um den Server zu stoppen.

Deaktivieren Sie dann die virtuelle Umgebung mit folgendem Befehl:

deactivate

Installieren und Konfigurieren von Taiga Forntend

Wechseln Sie zunächst den Benutzer zu Taiga und laden Sie die neueste Version des Taiga-Frontends aus dem Git-Repository herunter:

su - taiga
git clone https://github.com/taigaio/taiga-front-dist.git

Ändern Sie das Verzeichnis in das heruntergeladene Verzeichnis und checken Sie den neuesten stabilen Zweig mit dem folgenden Befehl aus:

cd taiga-front-dist
git checkout stable

Kopieren Sie dann die Beispielkonfigurationsdatei mit folgendem Befehl:

cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json

Bearbeiten Sie als nächstes die Konfigurationsdatei mit folgendem Befehl:

nano ~/taiga-front-dist/dist/conf.json

Ändern Sie die folgenden Zeilen:

{
    "api": "http://taiga.example.com/api/v1/",
    "eventsUrl": "ws://taiga.example.com/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "supportUrl": "https://tree.taiga.io/support",
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "GDPRUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true,
    "rtlLanguages": ["fa"]
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Taiga-Ereignis installieren und konfigurieren

Gehen Sie als nächstes in Ihr Heimatverzeichnis und laden Sie die neueste Version der Taiga-Veranstaltung mit dem folgenden Befehl herunter:

cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events

Wechseln Sie als Nächstes in das heruntergeladene Verzeichnis und installieren Sie alle NPM-Module mit folgendem Befehl:

cd taiga-events
npm install

Als nächstes kopieren Sie die Beispielkonfigurationsdatei mit folgendem Befehl:

cp config.example.json config.json

Als nächstes editieren Sie die Datei config.json und setzen die rabbitmq-URL und den geheimen Schlüssel::

nano config.json

Fügen Sie die folgenden Zeilen hinzu / ändern Sie sie:

{
    "url": "amqp://taiga:yourpassword@localhost:5672/taiga",
    "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND",
    "webSocketServer": {
        "port": 8888
    }
}

Speichern und schließen Sie die Datei und melden Sie sich mit folgendem Befehl vom Taiga-Benutzer ab:

exit

Erstellen einer Systemdienstdatei

Als nächstes müssen Sie eine Systemdatei für die Taiga und das Taiga-Ereignis erstellen. Erstellen Sie zunächst eine systemd Service-Datei für das Taiga-Ereignis mit dem folgenden Befehl:

nano /etc/systemd/system/taiga_events.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=taiga_events
After=network.target

[Service]
User=taiga
WorkingDirectory=/home/taiga/taiga-events
ExecStart=/bin/bash -c "node_modules/coffeescript/bin/coffee index.coffee"
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Dienst mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie dann den Dienst für das Taiga-Ereignis, und aktivieren Sie ihn beim Systemneustart mit dem folgenden Befehl:

systemctl start taiga_events
systemctl enable taiga_events

Erstellen Sie als Nächstes eine Systemd-Service-Datei für Taiga mit folgendem Befehl:

nano /etc/systemd/system/taiga.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=taiga_back
After=network.target

[Service]
User=taiga
Environment=PYTHONUNBUFFERED=true
WorkingDirectory=/home/taiga/taiga-back
ExecStart=/home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 -b 127.0.0.1:8001 taiga.wsgi
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Dienst mit folgendem Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Taiga-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start taiga
systemctl enable taiga

Überprüfen Sie als nächstes den Status des Taiga-Ereignisses und des Taiga-Dienstes mit folgendem Befehl:

systemctl status taiga_events taiga

Sie sollten die folgende Ausgabe sehen:

? taiga_events.service - taiga_events
     Loaded: loaded (/etc/systemd/system/taiga_events.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-11-02 09:30:21 UTC; 46s ago
   Main PID: 26383 (node)
      Tasks: 7 (limit: 2353)
     Memory: 15.2M
     CGroup: /system.slice/taiga_events.service
             ??26383 node node_modules/coffeescript/bin/coffee index.coffee

Nov 02 09:30:21 taiga.example.com systemd[1]: Started taiga_events.

? taiga.service - taiga_back
     Loaded: loaded (/etc/systemd/system/taiga.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-11-02 09:30:55 UTC; 13s ago
   Main PID: 26478 (gunicorn)
      Tasks: 5 (limit: 2353)
     Memory: 266.4M
     CGroup: /system.slice/taiga.service
             ??26478 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26494 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26495 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26496 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26497 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >

Nov 02 09:30:55 taiga.example.com gunicorn[26495]: [2020-11-02 09:30:55 +0000] [26495] [INFO] Booting worker with pid: 26495
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: [2020-11-02 09:30:55 +0000] [26496] [INFO] Booting worker with pid: 26496
Nov 02 09:30:55 taiga.example.com gunicorn[26494]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26495]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: 2020-11-02 09:30:55 +0000] [26497] [INF
Nov 02 09:30:55 taiga.example.com gunicorn[26495]: 2
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: 2
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: rying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: rying import local.py settings...

Konfigurieren Sie Nginx als Reverse-Proxy

Es ist eine gute Idee, Nginx als Reverse-Proxy für die Taiga zu konfigurieren. Installieren Sie Nginx zunächst mit dem folgenden Befehl:

apt-get install nginx -y

Nach der Installation erstellen Sie eine Nginx-Konfigurationsdatei für den virtuellen Host mit folgendem Befehl:

nano /etc/nginx/conf.d/taiga.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen 80;
    server_name taiga.example.com;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    # Frontend
    location / {
        root /home/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001/api;
        proxy_redirect off;
    }

    # Admin access (/admin/)
    location /admin {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001$request_uri;
        proxy_redirect off;
    }

    # Static files
    location /static {
        alias /home/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /home/taiga/taiga-back/media;
    }

    # Events
    location /events {
        proxy_pass http://127.0.0.1:8888/events;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout 7d;
        proxy_send_timeout 7d;
        proxy_read_timeout 7d;
    }
}

Speichern und schließen Sie die Datei und starten Sie Nginx neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Zugriff auf die Web-Benutzeroberfläche Tails

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://taiga.example.com auf die Webschnittstelle der Taiga zu. Sie werden auf die folgende Seite umgeleitet:

Taiga-GUI

Klicken Sie auf die Schaltfläche Login. Sie werden auf die folgende Seite weitergeleitet: Klicken Sie auf die Schaltfläche Login :

Taiga-Anmeldung

Geben Sie den Standard-Benutzernamen als admin und das Passwort als 123123 ein und klicken Sie auf die Schaltfläche LOGIN. Sie sollten das Taiga-Dashboard auf der folgenden Seite sehen:

Taiga-Dashboard

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben das Taiga-Projektmanagement-Tool mit Nginx auf Ubuntu 20.04 erfolgreich installiert und konfiguriert. Sie können nun Taiga in Ihrer Entwicklungsumgebung einsetzen und mit der Arbeit daran beginnen.

Das könnte dich auch interessieren …