Taiga je bezplatný, open source, jednoduchý, ale výkonný nástroj pro správu projektů pro začínající podniky, agilní vývojáře a designéry. Podporuje týmy, které pracují agilně napříč frameworky Scrum i Kanban. Frontend je napsán v JavaScriptu, zatímco backend je napsán v Pythonu a Django. Je to velmi výkonná a zcela přizpůsobitelná aplikace a zvládne jednoduché i složité projekty pro vývojáře a týmy. Lze jej snadno integrovat s mnoha službami včetně Kanban, Scrum, Talky.io a Appear.in.
V tomto tutoriálu vám ukážeme, jak nainstalovat nástroj Taiga Project Management Tool na server Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve aktualizujte své systémové balíčky na nejnovější verzi pomocí následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, nainstalujte další závislosti požadované pro Taiga spuštěním následujícího příkazu:
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
Dále budete muset pro váš systém nastavit plně kvalifikovaný název hostitele. Můžete jej nastavit pomocí následujícího příkazu:
hostnamectl set-hostname taiga.example.com
Dále budete muset propojit název hostitele s vaší IP adresou. Můžete to udělat úpravou souboru /etc/hosts:
nano /etc/hosts
Přidejte následující řádky:
your-server-ip taiga.example.com
Po dokončení uložte a zavřete soubor.
Instalovat Node.js
Dále budete muset do systému nainstalovat Node.js. Ve výchozím nastavení není nejnovější verze Node.js dostupná ve výchozím úložišti Ubuntu 20.04. Budete tedy muset do systému přidat úložiště Node.js. Můžete jej přidat pomocí následujícího příkazu:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Po přidání úložiště nainstalujte nejnovější verzi Node.js pomocí následujícího příkazu:
apt-get install nodejs -y
Po instalaci Node.js ověřte nainstalovanou verzi Node.js pomocí následujícího příkazu:
node -v
Měli byste získat následující výstup:
v12.19.0
Instalace a konfigurace PostgreSQL
Taiga používá PostgreSQL server jako databázový backend. Budete jej tedy muset nainstalovat do svého systému. Nejprve přidejte klíč PostgreSQL GPG pomocí následujícího příkazu:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Dále přidejte úložiště PostgreSQL pomocí následujícího příkazu:
echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
Dále aktualizujte úložiště a nainstalujte nejnovější verzi PostgreSQL pomocí následujícího příkazu:
apt-get update -y
apt-get install postgresql -y
Dále změňte heslo PostgreSQL pomocí následujícího příkazu:
passwd postgres
Měli byste získat následující výstup:
New password: Retype new password: passwd: password updated successfully
Dále přepněte uživatele na postgres a vytvořte uživatele pro Taiga:
su - postgres
[email protected]:~$ createuser taiga
Dále se přihlaste do prostředí PostgreSQL pomocí následujícího příkazu:
[email protected]:~$ psql
Výstup:
psql (13.0 (Ubuntu 13.0-1.pgdg20.04+1)) Type "help" for help.
Po přihlášení vytvořte uživatele a databázi pomocí následujícího příkazu:
postgres=# ALTER USER taiga WITH ENCRYPTED password 'yourpassword';
postgres=# CREATE DATABASE taiga OWNER taiga;
Dále ukončete prostředí PostgreSQL a uživatele pomocí následujícího příkazu:
postgres=# \q
[email protected]:~$ exit
Instalovat RabbitMQ a Redis
Taiga používá RabbitMQ jako zprostředkovatele zpráv a Redis pro ukládání do mezipaměti. Takže budete muset nainstalovat oba balíčky do vašeho systému. Oba balíčky můžete nainstalovat pomocí následujícího příkazu:
apt-get install rabbitmq-server redis-server -y
Dále vytvořte nového uživatele a virtuálního hostitele pro RabbitMQ pomocí následujícího příkazu:
rabbitmqctl add_user taiga yourpassword
rabbitmqctl add_vhost taiga
rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace Taiga Backend
Nejprve vytvořte samostatného uživatele pro Taigu pomocí následujícího příkazu:
adduser taiga
Dále přidejte uživatele Taiga do skupiny sudo pomocí následujícího příkazu:
adduser taiga sudo
Dále změňte uživatele na tajgu a vytvořte adresář pro ukládání protokolů tajgy:
su - taiga
mkdir -p ~/logs
Dále si stáhněte backend Taiga z úložiště Git pomocí následujícího příkazu:
git clone https://github.com/taigaio/taiga-back.git
Dále změňte adresář na stažený adresář a podívejte se na nejnovější větev:
cd taiga-back
git checkout stable
Dále aktivujte příkaz mkvirtualenv pomocí následujícího příkazu:
nano ~/.bashrc
Přidejte následující řádek:
source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'
Aktivujte nový profil pomocí následujícího příkazu:
source ~/.bashrc
Dále vytvořte virtuální prostředí Pythonu pro Taigu:
mkvirtualenv -p /usr/bin/python3 taiga_venv
Dále nainstalujte všechny požadované závislosti pomocí následujícího příkazu:
pip3 install -r requirements.txt
Dále migrujte a načtěte data pomocí následujícího příkazu:
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
Dále budete muset upravit soubor local.py a definovat nastavení aplikace a databáze:
nano ~/taiga-back/settings/local.py
Přidejte následující řádky:
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 = "[email protected]" SERVER_EMAIL = DEFAULT_FROM_EMAIL #CELERY_ENABLED = True EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend" EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:[email protected]:5672/taiga"}
Uložte a zavřete soubor a poté spusťte backend server Taiga pomocí následujícího příkazu:
workon taiga_venv
python manage.py runserver
Jakmile je server úspěšně spuštěn, měli byste získat následující výstup:
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.
Stiskněte CTRL + C pro zastavení serveru.
Dále deaktivujte virtuální prostředí pomocí následujícího příkazu:
deactivate
Instalace a konfigurace Taiga Forntend
Nejprve změňte uživatele na Taiga a stáhněte si nejnovější verzi frontendu Taiga z úložiště Git:
su - taiga
git clone https://github.com/taigaio/taiga-front-dist.git
Změňte adresář na stažený adresář a vyzkoušejte nejnovější stabilní větev pomocí následujícího příkazu:
cd taiga-front-dist
git checkout stable
Dále zkopírujte ukázkový konfigurační soubor pomocí následujícího příkazu:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
Dále upravte konfigurační soubor pomocí následujícího příkazu:
nano ~/taiga-front-dist/dist/conf.json
Změňte následující řádky:
{ "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"] }
Po dokončení uložte a zavřete soubor.
Instalace a konfigurace události Taiga
Dále přejděte do svého domovského adresáře a stáhněte si nejnovější verzi události Taiga pomocí následujícího příkazu:
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
Dále změňte adresář na stažený adresář a nainstalujte všechny moduly NPM pomocí následujícího příkazu:
cd taiga-events
npm install
Dále zkopírujte ukázkový konfigurační soubor pomocí následujícího příkazu:
cp config.example.json config.json
Dále upravte soubor config.json a nastavte adresu URL rabbitmq a tajný klíč::
nano config.json
Přidejte/upravte následující řádky:
{ "url": "amqp://taiga:[email protected]:5672/taiga", "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND", "webSocketServer": { "port": 8888 } }
Uložte a zavřete soubor a poté se odhlaste od uživatele Taiga pomocí následujícího příkazu:
exit
Vytvoření souboru služby Systemd
Dále budete muset vytvořit soubor služby systemd pro událost Taiga a Taiga. Nejprve vytvořte servisní soubor systemd pro událost Taiga pomocí následujícího příkazu:
nano /etc/systemd/system/taiga_events.service
Přidejte následující řádky:
[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
Uložte a zavřete soubor a poté znovu načtěte službu systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále spusťte službu událostí Taiga a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start taiga_events
systemctl enable taiga_events
Dále vytvořte soubor služby systemd pro Taigu pomocí následujícího příkazu:
nano /etc/systemd/system/taiga.service
Přidejte následující řádky:
[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
Uložte a zavřete soubor a poté znovu načtěte službu systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále spusťte službu Taiga a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start taiga
systemctl enable taiga
Dále ověřte stav události Taiga a služby Taiga pomocí následujícího příkazu:
systemctl status taiga_events taiga
Měli byste vidět následující výstup:
? 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...
Konfigurovat Nginx jako reverzní proxy
Je dobré nakonfigurovat Nginx jako reverzní proxy pro Taigu. Nejprve nainstalujte Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/conf.d/taiga.conf
Přidejte následující řádky:
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; } }
Uložte a zavřete soubor a poté restartujte Nginx, aby se změny uplatnily:
systemctl restart nginx
Webové uživatelské rozhraní Access Tails
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní Taiga pomocí adresy URL http://taiga.example.com . Budete přesměrováni na následující stránku:
Klikněte na Přihlásit knoflík. Budete přesměrováni na následující stránku:
Zadejte výchozí uživatelské jméno jako admin a heslo 123123 kliknutím na tlačítko PŘIHLÁSIT knoflík. Na následující stránce byste měli vidět řídicí panel Taiga:
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali nástroj pro správu projektů Taiga s Nginx na Ubuntu 20.04. Nyní můžete nasadit Taigu ve svém vývojovém prostředí a začít na něm pracovat.