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:
Klicken Sie auf die Schaltfläche Login. Sie werden auf die folgende Seite weitergeleitet: Klicken Sie auf die Schaltfläche Login :
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:
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.