Installieren Sie die Taiga.io Agile Projektmanagement-Software auf Ubuntu 16.04.
Taiga.io ist ein Open-Source-Projektmanagementsystem für agile Entwickler, Designer und Projektmanager. Es ist ein wunderschönes Projektmanagement-Tool, das sowohl einfache als auch komplexe Projekte für Start-ups, Softwareentwickler usw. bewältigen kann.
Die Taiga-Plattform besteht aus drei Hauptkomponenten, und jede Komponente hat ihre eigenen Abhängigkeiten.
- Taiga-back: Backend der Anwendung, die eine API bereitstellt. Geschrieben in Python und Django.
- taiga-front-dist: Das Taiga Frontend ist in AngularJS und CoffeeScript geschrieben.
- Taiga-Veranstaltungen: Taiga WebSocket-Server, um Echtzeitänderungen in den Apps anzuzeigen. Und mit RabbitMQ als Message Broker.
In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie das Projektmanagement-Tool Taiga.io auf dem Ubuntu 16.04 Server installieren. Wir werden lernen, wie man den Ubuntu-Server für die Taiga.io-Installation einrichtet.
Voraussetzungen
- Ubuntu 16.04.
- Root-Privilegien
Was wir tun werden
- Installationsvoraussetzungen
- Taiga-Benutzer hinzufügen
- Taiga Backend installieren und konfigurieren
- Taiga Frontend installieren und konfigurieren
- Taiga Events installieren und konfigurieren
- Zirkus und Gunicorn konfigurieren
- Taiga Nginx Virtualhost konfigurieren
- Prüfung
Schritt 1 – Installationsvoraussetzungen
Bevor wir alle Taiga.io-Komponenten installieren, müssen wir das System vorbereiten, indem wir die erforderlichen Pakete installieren. In diesem ersten Schritt werden wir Pakete installieren, die für alle Taiga-Komponenten und -Module benötigt werden, einschließlich Nginx, RabitMQ, Redis usw.
Aktualisieren Sie zunächst das Repository und das System.
sudo apt update sudo apt upgrade -y
– Abhängigkeiten installieren
Die folgenden Pakete werden für die Kompilierung einiger Python-Module verwendet. Führen Sie den folgenden Befehl apt aus, um alle auf dem System zu installieren.
sudo apt install -y build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext
– Nginx installieren
Taiga.io ist ein webbasiertes Anwendungstool. Es läuft auf dem Webserver. Und für dieses Handbuch werden wir für die Installation den Nginx-Webserver verwenden.
Installieren Sie Nginx mit dem Befehl apt unten.
sudo apt install nginx -y
Nachdem die Installation abgeschlossen ist, starten Sie den Nginx-Dienst und ermöglichen Sie ihm den Start beim Systemstart, was Sie mit dem Befehl systemctl tun können.
systemctl start nginx systemctl enable nginx
Überprüfen Sie nun mit netstat und stellen Sie sicher, dass der HTTP-Port auf der Liste steht.
netstat -plntu
– Installieren Sie Redis und RabbitMQ.
Dies ist ein optionales Paket, wenn Sie keine Async-Benachrichtigung wünschen. Installiere Redis und RabbitMQ mit dem Befehl apt unten.
sudo apt install -y redis-server rabbitmq-server
Nachdem die Installation abgeschlossen ist, starten Sie die Dienste redis und rabbitmq und fügen Sie diese Dienste zur Bootzeit hinzu.
systemctl start redis
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
Als nächstes müssen wir einen neuen Benutzer und virtuellen Host namens’taiga‘ für RabbitMQ erstellen – er wird für’taiga-events‘ verwendet.
Führen Sie untenstehende Befehle zum Erstellen eines neuen Benutzers und eines vhost namens taiga mit dem Passwort’aqwe123′ aus und legen Sie dann die Berechtigung für den Benutzer’taiga‘ fest.
sudo rabbitmqctl add_user taiga aqwe123 sudo rabbitmqctl add_vhost taiga sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
– Python installieren
‚taiga-back‘ wird mit dem Django Web Framework erstellt, und es verwendet ‚Python 3.5‘. Daher müssen wir Python 3.5 auf dem System installieren.
Führen Sie den folgenden Befehl aus, um Python 3.5 mit allen erforderlichen Abhängigkeiten zu installieren.
sudo apt install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper libxml2-dev libxslt-dev
– Zirkus installieren
Circus ist ein Prozessmanager und Socket-Manager. Es kann zur Überwachung und Steuerung von Prozessen und Sockets auf dem Linux-System verwendet werden.
Für diesen Leitfaden werden wir den Zirkus für die Verwaltung des mit CoffeeScript erstellten Prozesses der Taiga-Events verwenden.
Installiere den Zirkus mit dem Befehl apt unten.
sudo apt install -y circus
Nachdem die Installation abgeschlossen ist, starten Sie den Dienst „circusd“ und aktivieren Sie ihn, um ihn jederzeit beim Systemstart zu starten.
systemctl start circusd systemctl enable circusd
Now check the service using following commands.
systemctl status circusd circusctl status
And you will get the result as below.
– Installation und Konfiguration der PostgreSQL-Datenbank
Taiga.io verwendet PostgreSQL als Datenbank, und die Komponente’taiga-back‘ verwendet PostgreSQL (>= 9.4) als Datenbank.
Installieren Sie PostgreSQL 9.5, indem Sie die folgenden apt-Befehle ausführen.
sudo apt install -y postgresql-9.5 postgresql-contrib-9.5 sudo apt install -y postgresql-doc-9.5 postgresql-server-dev-9.5
Wenn die Datenbankinstallation abgeschlossen ist, starten Sie den PostgreSQL-Dienst und aktivieren Sie ihn, damit er jedes Mal beim Systemstart gestartet werden kann.
systemctl start postgresql systemctl enable postgresql
Als nächstes werden wir eine neue Datenbank und einen neuen Benutzer für die Taiga.io-Installation anlegen.
Melden Sie sich beim Benutzer „postgres“ an.
su - postgres
Erstellen Sie eine neue Datenbank und einen neuen Benutzer namens’taiga‘ mit den folgenden Befehlen.
createuser taiga createdb taiga -O taiga
Die PostgreSQL-Datenbank wurde installiert und die Datenbank für Taiga.io erstellt.
– Nodejs installieren
Der Knoten wird von ‚taiga-events‘ benötigt – fügen Sie das nodejs nodesource repository hinzu und installieren Sie es mit dem Befehl apt.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt install -y nodejs
Alle für die Installation von Taiga.io benötigten Pakete wurden erfolgreich installiert.
Schritt 2 – Neuen Benutzer hinzufügen Taiga
In diesem Schritt erstellen wir einen neuen Systembenutzer namens’taiga‘ und fügen ihn dann der sudo-Gruppe hinzu.
Ausführen-Befehl, um den neuen Benutzer’taiga‘ zu erstellen.
useradd -m -s /bin/bash taiga passwd taiga
Füge nun den Benutzer’taiga‘ zur Gruppe’sudo‘ hinzu.
usermod -a -G sudo taiga
Melden Sie sich nun als’Taiga‘ an und versuchen Sie, den Befehl sudo zu verwenden.
su - taiga sudo su
Geben Sie Ihr Passwort ein und stellen Sie sicher, dass Sie die Root-Rechte erhalten.
Es wurde ein neuer’Taiga‘-Benutzer angelegt.
Schritt 3 – Taiga Backend konfigurieren
Taiga-back ist ein Backend von Taiga.io, das eine API bereitstellt. Es ist in Python und Django Web Framework geschrieben.
In diesem Schritt werden wir die Taigakomponente ‚taiga-back‘ als Backend installieren und konfigurieren, das eine API bereitstellt.
Melden Sie sich beim ‚taiga‘ Benutzer an und laden Sie den ‚taiga-back‘ Quellcode von GitHub herunter.
su - taiga git clone https://github.com/taigaio/taiga-back.git taiga-back
Gehen Sie nun in das Verzeichnis’taiga-back‘ und wechseln Sie den Zweig in den Zweig’stable‘.
cd taiga-back/ git checkout stable
Als nächstes müssen wir eine neue Pythonumgebung ‚Taiga‘ mit dem Virtualenv schaffen.
mkvirtualenv -p /usr/bin/python3.5 taiga
Melden Sie sich in der neuen virtuellen Umgebung von ‚taiga‘ an und installieren Sie alle Python-Module, die der ‚taiga-back‘ benötigt, mit dem Befehl pip, wie unten gezeigt.
workon taiga pip install -r requirements.txt
Nachdem die Installation aller erforderlichen Module abgeschlossen ist, müssen wir die Datenbank mit ersten Basisdaten füllen.
Führen Sie alle folgenden Initialisierungsbefehle aus.
python manage.py migrate --noinput python manage.py loaddata initial_user python manage.py loaddata initial_project_templates python manage.py compilemessages python manage.py collectstatic --noinput
Die Befehle erstellen automatisch ein Administratorkonto „admin“ mit dem Passwort „123123„.
Als nächstes erstellen Sie eine neue Konfiguration für ‚taiga-back‘ mit vim.
vim ~/taiga-back/settings/local.py
Fügen Sie dort die folgende Konfiguration ein.
from .common import * MEDIA_URL = "http://taiga.hakase-labs.co/media/" STATIC_URL = "http://taiga.hakase-labs.co/static/" SITES["front"]["scheme"] = "http" SITES["front"]["domain"] = "taiga.hakase-labs.co" SECRET_KEY = "myverysecretkey" DEBUG = False PUBLIC_REGISTER_ENABLED = True DEFAULT_FROM_EMAIL = "no-reply@taiga.hakase-labs.co" SERVER_EMAIL = DEFAULT_FROM_EMAIL #CELERY_ENABLED = True EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend" EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:aqwe123@localhost:5672/taiga"} # Uncomment and populate with proper connection parameters # for enable email sending. EMAIL_HOST_USER should end by @domain.tld #EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" #EMAIL_USE_TLS = False #EMAIL_HOST = "localhost" #EMAIL_HOST_USER = "" #EMAIL_HOST_PASSWORD = "" #EMAIL_PORT = 25 # Uncomment and populate with proper connection parameters # for enable github login/singin. #GITHUB_API_CLIENT_ID = "yourgithubclientid" #GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"
Speichern und beenden.
Hinweis:
- Ändern Sie die’MEDIA_URL‘ und’STATIC_URL‘ mit Ihrem eigenen Domainnamen.
- Ändere den’SECRET_KEY‘ mit deinem eigenen geheimen Schlüssel.
- Ändere den Passwortwert von EVENTS_PUSH_BACKEND_OPTIONS auf deinen eigenen RabbitMQ-Wert. Für diesen Leitfaden verwenden wir das Passwort’aqwe123′.
Testen Sie nun ‚Taiga-back‘ mit dem folgenden Befehl.
workon taiga python manage.py runserver 0.0.0.0:8000
Der Befehl läuft taiga-back unter dem Server public IP mit Port 8000.
Öffnen Sie den Webbrowser und besuchen Sie die folgende Adresse. Meins schon: http://192.168.33.10:8000/api/v1/
Und Sie sollten die ‚taiga-back‘ API mit JSON-Format wie unten beschrieben erhalten.
Die Installation und Konfiguration von ‚taiga-back‘ als Backend ist abgeschlossen.
Schritt 4 – Taiga Frontend konfigurieren
In diesem Schritt werden wir das Taiga-Frontend herunterladen und konfigurieren. Das Frontend übernimmt alle Taiga-Schnittstellen.
Melden Sie sich als Taiga-Benutzer an.
su - taiga
Lade das Skript’taiga-front-dist‘ mit dem Befehl git herunter.
cd ~ git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
Danach gehen Sie in das Verzeichnis’taiga-front-dist‘ und ändern den Zweig auf’stable‘.
cd taiga-front-dist/ git checkout stable
Kopieren Sie nun das Beispiel der ‚taiga-front-dist‘ Konfiguration nach ‚conf.json‘ und bearbeiten Sie es mit dem vim-Editor.
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json vim ~/taiga-front-dist/dist/conf.json
Nehmen Sie die gesamte Konfiguration wie unten beschrieben vor und ändern Sie die ‚api‘ und ‚eventsUrl‘ mit Ihrem eigenen Domainnamen.
{ "api": "http://taiga.hakase-labs.co/api/v1/", "eventsUrl": "ws://taiga.hakase-labs.co/events", "debug": "true", "publicRegisterEnabled": true, "feedbackEnabled": true, "privacyPolicyUrl": null, "termsOfServiceUrl": null, "maxUploadFileSize": null, "contribPlugins": [] }
Speichern und beenden.
Die Konfiguration des Taiga-Frontends ist abgeschlossen.
Schritt 5 – Taiga-Ereignisse konfigurieren
Taiga-events ist ein WebSocket-Server, der es Ihnen ermöglicht, Änderungen in Echtzeit im Taiga.io Dashboard anzuzeigen, und RabbitMQ als Message Broker verwendet. In diesem Schritt werden wir „Taiga-Events“ herunterladen und konfigurieren.
Melden Sie sich als’Taiga‘-Benutzer an.
su - taiga
Laden Sie den Quellcode von ‚taiga-events‘ mit dem git-Befehl aus GitHub herunter und gehen Sie in das Verzeichnis ‚taiga-events‘.
git clone https://github.com/taigaio/taiga-events.git taiga-events cd taiga-events
Installieren Sie nun alle Javascript-Module, die von ‚taiga-events‘ benötigt werden, mit npm und installieren Sie dann das Paket ‚coffee-script‘ auf dem System.
npm install sudo npm install -g coffee-script
Kopieren Sie anschließend die Standardkonfiguration von ‚taiga-events‘ nach ‚config.json‘ und bearbeiten Sie sie mit dem vim editor.
cp config.example.json config.json vim config.json
Nehmen Sie die Konfiguration wie unten beschrieben vor.
{ "url": "amqp://taiga:aqwe123@localhost:5672/taiga", "secret": "myverysecretkey", "webSocketServer": { "port": 8888 } }
Speichern und beenden.
Hinweis:
- Ändern Sie den Wert’url‘ mit Ihrem eigenen rabbitmq-Benutzer und Passwort.
- Für den Wert’secret‘ stellen Sie sicher, dass er mit dem’SECRET_KEY‘ auf ‚local.py‘ der Konfigurationsdatei von ‚taiga-back‘ übereinstimmt.
Die Konfiguration der Taiga-Events ist abgeschlossen.
Schritt 6 – Konfigurieren von Zirkus und Gunicorn
Der Zirkus wird für die Kontrolle und Steuerung des Prozesses von „Taiga-back“ und „Taiga-events“ verwendet. ‚taiga-events‘ läuft als Kaffeeskript, und ‚taiga-back‘ läuft unter Gunicorn.
In diesem Schritt werden wir dem Zirkus neue Taiga-Events und Taiga-Bac hinzufügen.
Für die’taiga-events‘ erstellen Sie eine neue Datei’taiga-events.ini‘ mit vim.
vim /etc/circus/conf.d/taiga-events.ini
Füge die Konfiguration unten ein.
[watcher:taiga-events] working_dir = /home/taiga/taiga-events cmd = /usr/bin/coffee args = index.coffee uid = taiga numprocesses = 1 autostart = true send_hup = true stdout_stream.class = FileStream stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log stdout_stream.max_bytes = 10485760 stdout_stream.backup_count = 12 stderr_stream.class = FileStream stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log stderr_stream.max_bytes = 10485760 stderr_stream.backup_count = 12
Speichern und beenden.
Und für den Taiga-Back erstellen Sie eine neue Datei ‚taiga.ini‘.
vim /etc/circus/conf.d/taiga.ini
Fügen Sie dort die folgende Konfiguration ein.
[watcher:taiga] working_dir = /home/taiga/taiga-back cmd = gunicorn args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi uid = taiga numprocesses = 1 autostart = true send_hup = true stdout_stream.class = FileStream stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log stdout_stream.max_bytes = 10485760 stdout_stream.backup_count = 4 stderr_stream.class = FileStream stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log stderr_stream.max_bytes = 10485760 stderr_stream.backup_count = 4 [env:taiga] PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH TERM=rxvt-256color SHELL=/bin/bash USER=taiga LANG=en_US.UTF-8 HOME=/home/taiga PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages
Speichern und beenden.
Als nächstes müssen wir das Verzeichnis ‚logs‘ für die Prozesse ‚taiga-events‘ und ‚taiga-back‘ neu erstellen.
su - taiga mkdir -p ~/logs
Starten Sie nun den Zirkusdienst neu und überprüfen Sie alle verfügbaren Prozesse.
systemctl restart circusd circusctl status
Und stellen Sie sicher, dass die ‚Taiga-Events‘ und ‚Taiga-back‘ auf der Prozessliste aktiv sind, wie unten gezeigt.
Schritt 7 – Taiga Nginx Virtual Host konfigurieren
In diesem Schritt konfigurieren wir den virtuellen Nginx-Host für Taiga.io. Wir erstellen eine neue virtuelle Hostdatei im Verzeichnis’conf.d‘ für unsere Taiga.io-Installation.
Gehen Sie in das nginx-Konfigurationsverzeichnis und löschen Sie die virtuelle Hostdatei „default“.
cd /etc/nginx/ sudo rm -f sites-enabled/default
Erstellen Sie nun eine neue virtuelle Hostdatei ‚taiga.conf‘ unter dem Verzeichnis ‚conf.d‘.
vim /etc/nginx/conf.d/taiga.conf
Fügen Sie dort die folgende Konfiguration ein.
server { listen 80 default_server; server_name _; 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; } # Django 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; } # Taiga-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 beenden.
Führen Sie nun die Test-Nginx-Konfiguration aus und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Webserver-Dienst neu.
nginx -t systemctl restart nginx
Die Nginx Virtual Host Konfiguration für Taiga.io ist abgeschlossen.
Schritt 8 – Prüfung
Öffnen Sie Ihren Webbrowser und besuchen Sie den Domain-Namen Taiga.io. Meiner ist: http://taiga.hakase-labs.co
Und du bekommst die Standard-Taigahomepage.
Klicken Sie nun auf die Schaltfläche „Login“ oben rechts und Sie erhalten die Login-Seite des Administrators.
Melden Sie sich mit dem Standardbenutzer‘admin‚ und dem Passwort‘123123‚ an.
Und Sie erhalten das Ergebnis wie unten beschrieben.
Als nächstes werden wir das Standard-Admin-Passwort zurücksetzen.
Klicken Sie oben rechts auf die Schaltfläche „Administrator“ und dann auf „Passwort ändern“.
Geben Sie nun das alte Passwort’123123′ und das neue Passwort wie gewünscht ein und klicken Sie dann auf’Speichern‘.
Die Installation und Konfiguration von Taiga.io auf Ubuntu 16.04 wurde erfolgreich abgeschlossen.