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.
- Taiga-back :Backend aplikace, která poskytuje API. Napsáno v Pythonu a Djangu.
- Taiga-front-dist :Taiga Frontend napsaný v AngularJS a CoffeeScript.
- Taiga-události :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ástroje pro správu projektů Taiga.io na server CentOS 7. Dozvíme se také, jak nastavit a nakonfigurovat server CentOS 7 pro instalaci Taiga.io.
Předpoklady
- CentOS 7
- Oprávnění uživatele root
Co uděláme
- Instalovat balíčky
- Nainstalujte a nakonfigurujte PostgreSQL
- Přidat uživatele Taiga
- Konfigurace Taiga Back
- Nakonfigurujte Taiga Frontend
- Konfigurovat události Taiga
- Konfigurace správy cirkusových procesů
- Nakonfigurujte virtuálního hostitele Nginx pro Taiga.io
- Povolte společnosti Nginx přístup k frontendu Taiga
- Testování
Krok 1 – Instalace balíčků
Před instalací všech komponent Taiga.io musíme připravit systém instalací některý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.
- Instalovat závislosti
Potřebujeme 'Development Tools' pro CentOS 7, které budou použity pro kompilaci některých modulů pythonu.
Nainstalujte požadované balíčky pomocí příkazu yum níže.
sudo yum -y install gcc gcc-c++ make openssl-devel binutils autoconf flex bison libjpeg-devel freetype-devel zlib-devel perl-ZMQ-LibZMQ3 gdbm-devel ncurses-devel automake libtool libffi-devel curltext /před>- Nainstalujte úložiště EPEL
Nyní musíme nainstalovat úložiště EPEL (Extra Packages for Enterprise Linux). Je potřeba pro instalaci webového serveru Nginx, RabbitMQ a Redis.
Nainstalujte EPEL Repository do systému CentOS 7 pomocí následujícího příkazu:
sudo yum -y install epel-release- Nainstalujte Python
Taiga.io potřebuje k instalaci Python 3.5. K instalaci Pythonu 3.5 budeme používat úložiště třetí strany – 'ius community' .
Přidejte úložiště 'ius community' následujícím způsobem.
instalace sudo yum -y https://centos7.iuscommunity.org/ius-release.rpmNyní nainstalujte Python 3.5 pomocí následujícího příkazu yum.
sudo yum -y install python35u python35u-pip python35u-devel python-devel python-pip python-virtualenvwrapper libxml2-devel libxslt-devel- Nainstalujte Nginx
Taiga.io je nástroj webové aplikace a běží pod webovým serverem. A pro tuto příručku budeme jako webový server používat Nginx.
Nainstalujte Nginx z úložiště EPEL pomocí příkazu yum níže.
sudo yum -y nainstalovat nginxPo dokončení instalace spusťte službu a povolte její spuštění při spouštění systému.
systemctl spustit nginx
systemctl povolit nginxNyní zkontrolujte otevřený port pomocí příkazu netstat.
netstat -plntuA ujistěte se, že máte HTTP port 80 na seznamu, jak je uvedeno níže.
- Nainstalujte Redis a RabbitMQ
Toto je volitelné, protože Taiga.io můžete stále provozovat bez těchto balíčků. V zásadě budou balíčky Redis a RabbitMQ využívány událostmi tajgy.
Nainstalujte Redis a RabbitMQ z úložiště EPEL pomocí příkazu yum níže.
yum -y nainstalujte králičímq-server redisPokud je instalace dokončena, spusťte služby Redis i RabbitMQ a povolte jejich spuštění při spouštění systému.
systemctl spustit králičímq-server
systemctl povolit králičímq-server
systemctl spustit redis
systemctl povolit redis
Dále musíme vytvořit nového uživatele a virtuálního hostitele s názvem 'taiga' pro RabbitMQ a bude použit pro 'taiga-events'.
Spusťte následující 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 Nodejs
Uzel potřebuje 'taiga-events' - přidejte repozitář nodejs nodesource a nainstalujte jej pomocí příkazu yum.
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejsVšechny základní balíčky potřebné pro instalaci Taiga.io byly nainstalovány do systému.
Krok 2 – Instalace a konfigurace PostgreSQL
Taiga.io je webová aplikace založená na webovém frameworku Python Django a jako databázi používá PostgreSQL. Pro instalaci Taiga.io potřebujeme PostgreSQL verze 9.5.
Přidejte do systému úložiště PostgreSQL 9.5.
sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpmNyní nainstalujte PostgreSQL 9.5 pomocí příkazu yum níže.
sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-serverPo dokončení instalace musíme inicializovat databázi PostgreSQL.
sudo /usr/pgsql-9.5/bin/postgresql95-setup initdbNyní spusťte službu PostgreSQL a povolte její spuštění při každém startu systému.
systemctl start postgresql-9.5
systemctl povolit postgresql-9.5
Dále musíme vytvořit novou databázi pro instalaci Taiga.io. Potřebujeme vytvořit novou databázi a uživatele jménem 'taiga'.
Přihlaste se jako uživatel 'postgres'.
su - postgresNyní vytvořte novou databázi a uživatele pro Taiga.io pomocí následujících příkazů.
createuser tajga
createdb tajga -O tajga
Byla vytvořena nová databáze PostgreSQL pro instalaci Taiga.io.
Krok 3 – Přidání uživatele Taiga
V tomto kroku vytvoříme nového uživatele systému a skupinu s názvem 'taiga' a poté je přidáme do skupiny wheel pro přístup k příkazům sudo.
Použijte níže uvedený příkaz 'useradd' k vytvoření uživatele a skupiny 'taiga'.
useradd -U -m -s /bin/bash tajga
passwd tajgaNyní přidejte uživatele 'taiga' do skupiny 'wheel'.
usermod -a -G kolo tajgaOtestujte uživatele 'taiga' na přístup k sudo.
su - tajga
sudo suZadejte své heslo a ujistěte se, že máte oprávnění root pro uživatele 'taiga'.
Krok 4 – Konfigurace Taiga Back
Taiga-back je backend Taiga.io, který poskytuje rozhraní API rozhraní Taiga. Je napsán v Pythonu a Django Web Framework.
V tomto kroku nainstalujeme a nakonfigurujeme komponentu tajgy 'taiga-back'.
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 stableNež budeme pokračovat, musíme aktualizovat balíček virtualenv.
instalace sudo pip --upgrade virtualenvDále vytvořte nové prostředí pythonu 'taiga' pomocí příkazu mkvirtualenv.
mkvirtualenv -p /usr/bin/python3.5 tajgaBylo vytvořeno nové virtualenv pro 'taiga-back'.
Před instalací všech modulů pro taiga-back musíme vytvořit nový odkaz pro příkaz 'pg_config' do adresáře '/usr/bin'.
sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_configNyní nainstalujte všechny python moduly, které potřebuje 'taiga-back' pomocí příkazů níže.
workon taiga
pip install -r requirements.txtPo dokončení instalace musíme databázi naplnit počátečními základními daty.
Spusťte všechny následující 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 - -noinputTyto pří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 ="theeveryultratopsecretkey"
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 klíč „SECRET_KEY“ svým vlastním velmi 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.
http://192.168.33.10:8000/api/v1/
A získáte rozhraní API „taiga-back“ s formátem JSON, jak je uvedeno níže.
Instalace a konfigurace 'taiga-back' byla dokončena.
Krok 5 – Konfigurace rozhraní Taiga
V tomto kroku stáhneme a nakonfigurujeme frontend tajgy. Frontend zvládne všechna taiga rozhraní.
Přihlaste se k uživateli tajgy.
su - tajga
Stáhněte si zdrojový kód 'Taiga frontend' pomocí git.
cd ~
klon git https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
Přejděte do adresáře 'taiga-front-dist' a změňte větev na 'stable'.
cd taiga-front-dist
git checkout stable
Zkopírujte výchozí konfigurační soubor a upravte jej pomocí vim.
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.json
Zkopírujte následující konfiguraci:
{
"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 'Taiga frontend' byla dokončena.
Krok 6 – 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 k uživateli 'taiga'.
su - tajga
Stáhněte si zdrojový kód 'Taiga Events' a přejděte do adresáře.
klon git https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Nyní si musíme stáhnout a nainstalovat všechny javascriptové knihovny, které potřebuje 'taiga-events' pomocí příkazu npm následujícím způsobem.
npm install
sudo npm install -g coffee-script
Poznámka: Musíme nainstalovat 'coffee-script' pod kořenovým systémem.
Dále zkopírujte konfigurační soubor JSON do 'config.json' a poté jej upravte pomocí vim.
cp config.example.json config.json
vim config.json
Zde vložte následující konfiguraci.
{
"url":"amqp://taiga:[e-mail chráněný]:5672/taiga",
"secret":"theeveryultratopsecretkey",
"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 7 – Instalace a konfigurace Circus
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 nainstalujeme Circus ručně ze zdrojového kódu.
Přihlaste se jako uživatel tajgy.
su - tajga
Nyní si stáhněte zdrojový kód cirkusu pomocí git.
cd ~/
klon git https://github.com/circus-tent/circus.git circus
Před instalací cirkusu do systému musíme vytvořit nový adresář pro konfiguraci cirkusu.
Vytvořte nový adresář 'conf' pod uživatelem tajgy.
mkdir -p ~/conf
A vytvořte novou cirkusovou konfiguraci pro Taiga.io s názvem 'taiga.ini'.
vim ~/conf/taiga.ini
Vložte následující konfiguraci.
[circus]
check_delay =5
koncový bod =tcp://127.0.0.1:5555
pubsub_endpoint =tcp://127.0.0.1:5556
statsd =true
[watcher:taiga-events]
working_dir =/home/taiga/taiga-events
cmd =/usr/bin/coffee
args =index.coffee
uid =tajga
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_vents.filename =/home/taiga/logs .stderr.log
stderr_stream.max_bytes =10485760
stderr_stream.backup_count =12
[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.
Nyní vytvořte adresář pro soubory cirkusových protokolů.
mkdir -p ~/logs
Přejděte do adresáře cirkusu a nainstalujte software s právy root.
cd ~/circus
sudo python3.5 setup.py install
Po dokončení instalace nakonfigurujeme cirkus jako službu v systému.
Spusťte příkaz sudo a poté vytvořte nový soubor služby 'circusd.service'.
sudo su
vim /usr/lib/systemd/system/circusd.service
Zde vložte následující konfiguraci.
[Jednotka]
Popis=circus
[Služba]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.ini
Uložte a ukončete.
Nyní znovu načtěte systémový systém pomocí příkazu níže.
systemctl daemon-reload
Ujistěte se, že nedošlo k žádné chybě, pak spusťte službu circusd a povolte její spuštění při každém startu systému.
systemctl spustit circusd
systemctl povolit circusd
Cirkusová instalace a konfigurace pro Taiga.io byla dokončena. Zkontrolujte to pomocí příkazu circusctl níže.
stav circusctl
A ujistěte se, že máte taiga-back a taiga-události na seznamu cirkusových procesů.
Nebo můžete použít příkaz systemctl, jak je uvedeno níže.
systemctl status circusd
Krok 8 – 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 vytvořte nový soubor 'taiga.conf' v adresáři 'conf.d'.
cd /etc/nginx/
vim conf.d/taiga.conf
Zde vložte následující konfiguraci.
server {
listen 80;
název_serveru taiga.hakase-labs.co;
large_client_header_buffers 4 32k;
client_max_body_size 50M;
f -8;
access_log /var/log/nginx/taiga.access.log;
error_log /var/log/nginx/taiga.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;
$sche proxy-_Scheme_set_header X-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.0.1: 1 přímé //api;0 1
}
# Django administrátorský přístup (/admin/)
umístění /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; Forwarded Proto $- proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8001$request_uri;
proxy_redirect off;
}
# Statické soubory
umístění
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_time_send_timeout 7d;
/7 >
}
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 pro Taiga.io byla dokončena.
Krok 9 – Povolení přístupu Nginx k frontendu Taiga
Někdy se může zobrazit chyba o webovém serveru Nginx, že nemůže získat přístup k souborům frontendu tajgy – v tomto případě se zobrazí Nginx '500 Internal Server Error'.
Abychom tento problém vyřešili, musíme změnit vlastníka nebo skupinu všech souborů frontendu tajgy a dát Nginxu přístup ke všem souborům.
Ve výchozím nastavení na CentOS 7 běží webový server Nginx pod uživatelem 'nginx' a instalace Taiga.io běží pod uživatelem 'taiga'.
Následuje příklad chyby Nginx, o které mluvíme.
Webový server Nginx nemůže číst veškerý obsah v adresáři '/home/taiga/taiga-front-dist/dist'.
Zkontrolujte to pomocí příkazu níže.
sudo -u nginx stat /home/taiga/taiga-front-dist/dist
A dostanete výsledek zamítnutí povolení.
Nyní musíme přidat uživatele 'nginx' do skupiny 'taiga' a dát uživateli nginx požadovaná oprávnění pro adresář taiga-front-dist.
Přidejte uživatele 'nginx' do skupiny 'taiga'.
sudo gpasswd -a nginx tajga
Udělte webovému serveru oprávnění ke čtení veškerého obsahu v adresáři taiga-front-dist.
sudo chmod g+x /home/taiga
sudo chmod g+x /home/taiga/taiga-front-dist
sudo chmod g+x /home/taiga/taiga-front-dist /dist
A restartujte webový server Nginx.
systemctl restart nginx
Krok 10 – Testování
Otevřete webový prohlížeč a navštivte název instalační domény Taiga, moje je http://taiga.hakase-labs.co
A měli byste získat výchozí domovskou stránku Taiga, která je zobrazena níže.
Zde zadejte výchozího uživatele 'admin s heslem '123123 “ a poté klikněte na tlačítko „Přihlásit se“.
A dostanete se do administračního panelu.
Instalace Taiga.io na CentOS 7 s webovým serverem Nginx byla úspěšně dokončena.