Taiga.io je open source systém pro řízení projektů pro agilní vývojáře, designéry a projektové manažery. Je to krásný nástroj pro řízení projektů, který zvládne jednoduché i složité projekty pro začínající podniky, vývojáře softwaru atd.
Platforma Taiga má tři hlavní komponenty a každá komponenta má své vlastní závislosti.
- tajga-back :Backend aplikace, která poskytuje API. Napsáno v Pythonu a Djangu.
- taiga-front-dist :Taiga Frontend je napsán v AngularJS a CoffeeScript.
- události tajgy :Server Taiga WebSocket pro zobrazení změn v aplikacích v reálném čase. A pomocí RabbitMQ jako zprostředkovatele zpráv.
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat nástroj pro správu projektů Taiga.io na server Ubuntu 16.04. Naučíme se, jak nastavit server Ubuntu pro instalaci Taiga.io.
Předpoklady
- Ubuntu 16.04
- Kořenová oprávnění
Co uděláme
- Předpoklady instalace
- Přidat uživatele Taiga
- Nainstalujte a nakonfigurujte Taiga Backend
- Nainstalujte a nakonfigurujte Taiga Frontend
- Instalujte a konfigurujte události Taiga
- Nakonfigurujte Circus a Gunicorn
- Nakonfigurujte virtuální hostitele Taiga Nginx
- Testování
Krok 1 – Předpoklady instalace
Před instalací všech komponent Taiga.io musíme připravit systém instalací požadovaných balíčků. V tomto prvním kroku nainstalujeme balíčky potřebné pro všechny komponenty a moduly Taiga, včetně Nginx, RabitMQ, Redis atd.
Nejprve aktualizujte úložiště a upgradujte systém.
aktualizace sudo apt
upgrade sudo apt -y
- Instalovat závislosti
Následující balíčky budou použity pro kompilaci některých modulů pythonu. Spusťte příkaz apt níže a všechny je nainstalujte do systému.
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 gettext curl git tmux- Nainstalujte Nginx
Taiga.io je webový aplikační nástroj. Běží na webovém serveru. A pro tuto příručku použijeme k instalaci webový server Nginx.
Nainstalujte Nginx pomocí příkazu apt níže.
sudo apt install nginx -yPo dokončení instalace spusťte službu Nginx a povolte její spuštění při spouštění systému, což můžete provést pomocí příkazu systemctl.
systemctl spustit nginx
systemctl povolit nginxNyní zkontrolujte pomocí netstat a ujistěte se, že port HTTP je v seznamu.
netstat -plntu
- Nainstalujte Redis a RabbitMQ
Toto je volitelný balíček, pokud nechcete asynchronní upozornění. Nainstalujte Redis a RabbitMQ pomocí příkazu apt níže.
sudo apt install -y redis-server rabbitmq-serverPo dokončení instalace spusťte služby redis a rabbitmq a přidejte tyto služby do doby spouštění.
systemctl start redis
systemctl start rabbitmq-server
systemctl enable rabbitmq-serverDále musíme vytvořit nového uživatele a virtuálního hostitele s názvem 'taiga' pro RabbitMQ - bude použit pro 'taiga-events'.
Spusťte níže uvedené příkazy pro vytvoření nového uživatele a vhost s názvem taiga s heslem 'aqwe123' a poté nastavte oprávnění pro uživatele 'taiga'.
sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
- Nainstalujte Python
'taiga-back' je vytvořen pomocí Django Web Framework a používá 'Python 3.5'. Potřebujeme tedy do systému nainstalovat Python 3.5.
Spusťte následující příkaz a nainstalujte Python 3.5 se všemi požadovanými závislostmi.
sudo apt install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper libxml2-dev libxslt-dev- Nainstalujte Circus
Circus je správce procesů a soketů. Může být použit pro monitorování a řízení procesů a soketů v systému Linux.
V této příručce budeme používat cirkus pro správu procesu 'taiga-events' vytvořeného pomocí CoffeeScript.
Nainstalujte cirkus pomocí příkazu apt níže.
sudo apt install -y circusPo dokončení instalace spusťte službu 'circusd' a povolte spuštění při každém spuštění systému.
systemctl spustit circusd
systemctl povolit circusdNyní zkontrolujte službu pomocí následujících příkazů.
systemctl status circusd
circusctl statusA dostanete výsledek, jak je uvedeno níže.
- Instalace a konfigurace databáze PostgreSQL
Taiga.io používá PostgreSQL jako databázi a komponenta 'taiga-back' používá PostgreSQL (>=9.4) jako databázi.
Nainstalujte PostgreSQL 9.5 spuštěním následujících příkazů apt.
sudo apt install -y postgresql-9.5 postgresql-contrib-9.5
sudo apt install -y postgresql-doc-9.5 postgresql-server-dev-9.5Pokud je instalace databáze dokončena, spusťte službu PostgreSQL a povolte její spuštění při každém startu systému.
systemctl spustit postgresql
systemctl povolit postgresqlDále vytvoříme novou databázi a uživatele pro instalaci Taiga.io.
Přihlaste se k uživateli 'postgres'.
su - postgresVytvořte novou databázi a uživatele s názvem 'taiga' pomocí příkazů níže.
createuser tajga
createdb tajga -O tajgaDatabáze PostgreSQL byla nainstalována a databáze pro Taiga.io byla vytvořena.
- Nainstalujte Nodejs
Uzel potřebuje 'taiga-events' - přidejte repozitář nodejs nodesource a nainstalujte jej pomocí příkazu apt.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejsVšechny balíčky potřebné pro instalaci Taiga.io byly úspěšně nainstalovány.
Krok 2 – Přidání nového uživatele do tajgy
V tomto kroku vytvoříme nového systémového uživatele s názvem 'taiga' a poté jej přidáme do skupiny sudo.
Spusťte příkaz pro vytvoření nového uživatele 'taiga'.
useradd -m -s /bin/bash tajga
passwd tajgaNyní přidejte uživatele 'taiga' do skupiny 'sudo'.
usermod -a -G sudo tajgaNyní se přihlaste jako 'taiga' a zkuste použít příkaz sudo.
su - tajga
sudo suZadejte své heslo a ujistěte se, že máte oprávnění root.
Byl vytvořen nový uživatel 'taiga'.
Krok 3 – Konfigurace backendu Taiga
Taiga-back je backend Taiga.io, který poskytuje API. Je napsán v Pythonu a Django Web Framework.
V tomto kroku nainstalujeme a nakonfigurujeme komponentu tajgy 'taiga-back' jako backend, který poskytuje API.
Přihlaste se k uživateli 'taiga' a stáhněte si zdrojový kód 'taiga-back' z GitHubu.
su - taiga
klon git https://github.com/taigaio/taiga-back.git taiga-backNyní přejděte do adresáře 'taiga-back' a změňte větev na větev 'stable'.
cd taiga-back/
git checkout stableDále musíme vytvořit nové prostředí pythonu 'taiga' pomocí virtualenv.
mkvirtualenv -p /usr/bin/python3.5 tajga
Přihlaste se do nového virtuálního prostředí 'taiga' a nainstalujte všechny moduly pythonu potřebné pro 'taiga-back' pomocí příkazu pip, jak je uvedeno níže.
workon taiga
pip install -r requirements.txtPo dokončení instalace všech požadovaných modulů musíme databázi naplnit počátečními základními údaji.
Spusťte všechny níže uvedené inicializační příkazy.
python manage.py migrate --noinput
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py compilmessages
python manage.py collectstatic - -noinputPříkazy automaticky vytvoří účet správce 'admin s heslem '123123 '.
Dále vytvořte novou konfiguraci pro 'taiga-back' pomocí vim.
vim ~/taiga-back/settings/local.pyZde vložte následující konfiguraci.
z importu .common *
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 =Nepravda
PUBLIC_REGISTER_ENABLED =Pravda
DEFAULT_FROM_EMAIL ="[e-mail chráněný]"
SERVER_EMAIL =DEFAULT_FROM_EMAIL
#CELERY_ENABLED =Pravda
EVENTS_PUSH_BACKEND ="taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACK":"qOPTIONS ://taiga:[email protected]:5672/taiga"}
# Odkomentujte a vyplňte správné parametry připojení
# pro povolení odesílání e-mailů. EMAIL_HOST_USER by měl končit @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
# Odkomentujte a naplňte správnými parametry připojení
# pro povolení přihlášení/zpěvu github.
#GITHUB_API_CLIENT_ID ="yourgithubclientid"
#GITHUB_API_CLIENT_SECRET ="yourgithubclientscret"Uložte a ukončete.
Poznámka:
- Změňte 'MEDIA_URL' a 'STATIC_URL' za svůj vlastní název domény.
- Změňte 'SECRET_KEY' svým vlastním tajným klíčem.
- Změňte hodnotu hesla EVENTS_PUSH_BACKEND_OPTIONS na svou vlastní hodnotu RabbitMQ. Pro tuto příručku používáme heslo 'aqwe123'.
Nyní otestujte 'taiga-back' pomocí příkazu níže.
workon taiga
python manage.py runserver 0.0.0.0:8000
Příkaz spustí tajgu-back pod veřejnou IP serveru s portem 8000.
Otevřete webový prohlížeč a navštivte následující adresu. Můj je:http://192.168.33.10:8000/api/v1/
A měli byste získat API 'taiga-back' s formátem JSON, jak je uvedeno níže.
Instalace a konfigurace 'taiga-back' jako backendu byla dokončena.
Krok 4 – Konfigurace rozhraní Taiga
V tomto kroku stáhneme a nakonfigurujeme frontend tajgy. Frontend zvládne všechna taiga rozhraní.
Přihlaste se jako uživatel tajgy.
su - tajga
Stáhněte si skript 'taiga-front-dist' pomocí příkazu git.
cd ~
klon git https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
Poté přejděte do adresáře 'taiga-front-dist' a změňte větev na 'stable'.
cd taiga-front-dist/
git checkout stable
Nyní zkopírujte ukázku konfigurace 'taiga-front-dist' do 'conf.json' a upravte ji pomocí editoru vim.
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.json
Proveďte veškerou konfiguraci, jak je uvedeno níže, a změňte 'api' a 'eventsUrl' pomocí vlastního názvu domény.
{
"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":[]
}
Uložte a ukončete.
Konfigurace frontendu Taiga byla dokončena.
Krok 5 – Konfigurace událostí Taiga
Taiga-events je server WebSocket, který vám umožňuje zobrazovat změny v Taiga.io Dashboard v reálném čase a používá RabbitMQ jako zprostředkovatele zpráv. V tomto kroku stáhneme a nakonfigurujeme 'taiga-events'.
Přihlaste se jako uživatel 'taiga'.
su - tajga
Stáhněte si zdrojový kód 'taiga-events' z GitHubu pomocí příkazu git a přejděte do adresáře 'taiga-events'.
klon git https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Nyní nainstalujte všechny moduly javascriptu potřebné pro 'taiga-events' pomocí npm a poté nainstalujte do systému balíček 'coffee-script'.
npm install
sudo npm install -g coffee-script
Dále zkopírujte výchozí konfiguraci 'taiga-events' do 'config.json' a upravte ji pomocí editoru vim.
cp config.example.json config.json
vim config.json
Proveďte konfiguraci, jak je uvedeno níže.
{
"url":"amqp://taiga:[e-mail chráněný]:5672/taiga",
"secret":"myverysecretkey",
"webSocketServer":{
"port":8888
}
}
Uložte a ukončete.
Poznámka:
- Změňte hodnotu 'url' pomocí vlastního uživatele a hesla králíkmq.
- U hodnoty 'secret' se ujistěte, že odpovídá 'SECRET_KEY' na 'local.py' konfiguračním souboru 'taiga-back'.
Konfigurace událostí Taiga byla dokončena.
Krok 6 – Konfigurace Circus a Gunicorn
Cirkus bude sloužit pro řízení a řízení procesu „tajga-back“ a „tajga-události“. 'taiga-events' běží jako skript kávy a 'taiga-back' běží pod Gunicornem.
V tomto kroku přidáme do cirkusu nové taiga-události a taiga-bac.
Pro 'taiga-events' vytvořte nový soubor 'taiga-events.ini' pomocí vim.
vim /etc/circus/conf.d/taiga-events.ini
Vložte konfiguraci níže.
[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.st br /> stderr_stream.max_bytes =10485760
stderr_stream.backup_count =12
Uložte a ukončete.
A pro taiga-back vytvořte nový soubor 'taiga.ini'.
vim /etc/circus/conf.d/taiga.ini
Zde vložte následující konfiguraci.
[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 =tajga
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
st. 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
Uložte a ukončete.
Dále musíme vytvořit nový adresář 'logs' pro procesy 'taiga-events' a 'taiga-back'.
su - tajga
mkdir -p ~/logs
Nyní restartujte službu circusd a zkontrolujte všechny dostupné procesy.
systemctl restart circusd
stav circusctl
A ujistěte se, že 'taiga-events' a 'taiga-back' jsou aktivní v seznamu procesů, jak je znázorněno níže.
Krok 7 – Konfigurace virtuálního hostitele Taiga Nginx
V tomto kroku nakonfigurujeme virtuálního hostitele Nginx pro Taiga.io. Vytvoříme nový soubor virtuálního hostitele v adresáři 'conf.d' pro naši instalaci Taiga.io.
Přejděte do konfiguračního adresáře nginx a odstraňte 'výchozí' soubor virtuálního hostitele.
cd /etc/nginx/
sudo rm -f sites-enabled/default
Nyní vytvořte nový soubor virtuálního hostitele 'taiga.conf' v adresáři 'conf.d'.
vim /etc/nginx/conf.d/taiga.conf
Zde vložte následující konfiguraci.
server {
listen 80 default_server;
název_serveru _;
large_client_header_buffers 4 32k;
client_max_body_size 50M;
t-8 char />
access_log /home/taiga/logs/nginx.access.log;
error_log /home/taiga/logs/nginx.error.log;
# Frontend
umístění / {
root /home/taiga/taiga-front-dist/dist/;
try_files $uri $uri/ /index.html;
}
# Backend
umístění /api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy- proxy- proxy- proxy- 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;
off direct;
br /
# Django administrátorský přístup (/admin/)
umístění /admin {
pr oxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header set _ head header předem X-Forwarded -For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8001$request_uri;
proxy_redirect off;
}
/ > Statické soubory /static {
alias /home/taiga/taiga-back/static;
}
# Mediální soubory
umístění /media {
alias /home /taiga/taiga-back/media;
}
# Taiga-events
místo /události {
proxy_pass http://127.0.0.1:8888/events;
proxy_http_version 1.1;
Upgrade proxy_set_header $http_upgrade;
proxy_set_header Připojení "upgrade";
proxy_connect_timeout 7d;
proxy d_7_send_timeout;
/> }
}
Uložte a ukončete.
Nyní spusťte testovací konfiguraci nginx a ujistěte se, že nedošlo k chybě. Poté restartujte službu webového serveru.
nginx -t
systemctl restart nginx
Konfigurace virtuálního hostitele Nginx pro Taiga.io byla dokončena.
Krok 8 – Testování
Otevřete webový prohlížeč a navštivte název domény Taiga.io. Můj je:http://taiga.hakase-labs.co
A získáte výchozí domovskou stránku tajgy.
Nyní klikněte na tlačítko 'Přihlásit se' vpravo nahoře a zobrazí se přihlašovací stránka správce.
Přihlaste se pomocí výchozího uživatele 'admin “ a heslo „123123 '.
A dostanete výsledek, jak je uvedeno níže.
Dále obnovíme výchozí heslo správce.
Klikněte na tlačítko „administrátor“ vpravo nahoře a poté klikněte na „Změnit heslo“.
Nyní zadejte staré heslo '123123' a nové heslo, jak chcete, a klikněte na 'Uložit'.
Instalace a konfigurace pro Taiga.io na Ubuntu 16.04 byla úspěšně dokončena.