GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Taiga.io Agile Project Management Software su Ubuntu 16.04

Taiga.io è un sistema di gestione dei progetti open source per sviluppatori agili, designer e project manager. È un bellissimo strumento di gestione dei progetti in grado di gestire progetti sia semplici che complessi per startup, sviluppatori di software ecc.

La piattaforma Taiga ha tre componenti principali e ogni componente ha le proprie dipendenze.

  1. taiga indietro :backend dell'applicazione che fornisce un'API. Scritto in Python e Django.
  2. taiga-front-dist :Taiga Frontend è scritto in AngularJS e CoffeeScript.
  3. eventi di taiga :server Taiga WebSocket per mostrare le modifiche in tempo reale nelle app. E utilizzando RabbitMQ come broker di messaggi.

In questo tutorial, ti mostrerò passo dopo passo come installare lo strumento di gestione dei progetti Taiga.io sul server Ubuntu 16.04. Impareremo come configurare il server Ubuntu per l'installazione di Taiga.io.

Prerequisiti

  • Ubuntu 16.04
  • privilegi radice

Cosa faremo

  1. Installa prerequisiti
  2. Aggiungi utente Taiga
  3. Installa e configura il backend Taiga
  4. Installa e configura Taiga Frontend
  5. Installa e configura eventi Taiga
  6. Configura Circus e Gunicorn
  7. Configura host virtuale Taiga Nginx
  8. Test

Passaggio 1:installazione dei prerequisiti

Prima di installare tutti i componenti Taiga.io, è necessario preparare il sistema installando i pacchetti richiesti. In questo primo passaggio, installeremo i pacchetti necessari per tutti i componenti e moduli Taiga, inclusi Nginx, RabitMQ, Redis ecc.

Per cominciare, aggiorna il repository e aggiorna il sistema.

sudo apt update
sudo apt upgrade -y

- Installa dipendenze

I seguenti pacchetti verranno utilizzati per compilare alcuni moduli Python. Esegui il comando apt di seguito per installarli tutti sul sistema.

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

- Installa Nginx

Taiga.io è uno strumento applicativo basato sul web. È in esecuzione sul server web. E per questa guida, utilizzeremo il server web Nginx per l'installazione.

Installa Nginx usando il comando apt di seguito.

sudo apt install nginx -y

Al termine dell'installazione, avvia il servizio Nginx e abilitalo all'avvio all'avvio del sistema, cosa che puoi fare usando il comando systemctl.

systemctl start nginx
systemctl enable nginx

Ora controlla utilizzando netstat e assicurati che la porta HTTP sia nell'elenco.

netstat -plntu

- Installa Redis e RabbitMQ

Questo è un pacchetto opzionale se non vuoi la notifica asincrona. Installa Redis e RabbitMQ usando il comando apt di seguito.

sudo apt install -y redis-server rabbitmq-server

Al termine dell'installazione, avvia i servizi redis e rabbitmq e aggiungi tali servizi all'avvio.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Successivamente, dobbiamo creare un nuovo utente e un host virtuale chiamato "taiga" per RabbitMQ:verrà utilizzato per "eventi-taiga".

Esegui i comandi seguenti per creare un nuovo utente e vhost denominato taiga con password 'aqwe123', quindi imposta l'autorizzazione per l'utente 'taiga'.

sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

- Installa Python

'taiga-back' viene creato con Django Web Framework e utilizza 'Python 3.5'. Quindi dobbiamo installare Python 3.5 sul sistema.

Esegui il comando seguente per installare Python 3.5 con tutte le dipendenze richieste.

sudo apt install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper libxml2-dev libxslt-dev

- Installa Circus

Circus è un process manager e socket manager. Può essere utilizzato per monitorare e controllare processi e socket sul sistema Linux.

Per questa guida, utilizzeremo circus per gestire il processo di 'taiga-eventi' creato con CoffeeScript.

Installa circus con il comando apt di seguito.

sudo apt install -y circus

Al termine dell'installazione, avvia il servizio "circusd" e abilita l'avvio ogni volta all'avvio del sistema.

systemctl start circusd
systemctl enable circusd

Ora controlla il servizio usando i seguenti comandi.

systemctl status circusd
circusctl status

E otterrai il risultato come di seguito.

- Installa e configura il database PostgreSQL

Taiga.io utilizza PostgreSQL come database e il componente 'taiga-back' utilizza PostgreSQL (>=9.4) come database.

Installa PostgreSQL 9.5 eseguendo i seguenti comandi apt.

sudo apt install -y postgresql-9.5 postgresql-contrib-9.5
sudo apt install -y postgresql-doc-9.5 postgresql-server-dev-9.5

Se l'installazione del database è completa, avvia il servizio PostgreSQL e abilitalo all'avvio ogni volta all'avvio del sistema.

systemctl start postgresql
systemctl enable postgresql

Successivamente, creeremo un nuovo database e un nuovo utente per l'installazione di Taiga.io.

Accedi all'utente 'postgres'.

su - postgres

Crea un nuovo database e un utente chiamato 'taiga' usando i comandi seguenti.

createuser taiga
createdb taiga -O taiga

Il database PostgreSQL è stato installato ed è stato creato il database per Taiga.io.

- Installa Nodejs

Node è necessario per 'taiga-events' - aggiungi il repository nodejs nodesource e installalo con il comando apt.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs

Tutti i pacchetti necessari per l'installazione di Taiga.io sono stati installati correttamente.

Fase 2:aggiungi un nuovo utente Taiga

In questo passaggio creeremo un nuovo utente di sistema chiamato 'taiga', quindi lo aggiungeremo al gruppo sudo.

Esegui il comando per creare il nuovo utente 'taiga'.

useradd -m -s /bin/bash taiga
passwd taiga

Ora aggiungi l'utente 'taiga' al gruppo 'sudo'.

usermod -a -G sudo taiga

Ora accedi come 'taiga' e prova a usare il comando sudo.

su - taiga
sudo su

Digita la tua password e assicurati di ottenere i privilegi di root.

È stato creato un nuovo utente 'taiga'.

Passaggio 3:configurazione del backend Taiga

Taiga-back è un backend di Taiga.io che fornisce un'API. È scritto in Python e Django Web Framework.

In questo passaggio, installeremo e configureremo il componente taiga 'taiga-back' come backend che fornisce un'API.

Accedi all'utente 'taiga' e scarica il codice sorgente 'taiga-back' da GitHub.

su - taiga
git clone https://github.com/taigaio/taiga-back.git taiga-back

Ora vai alla directory 'taiga-back' e cambia il ramo nel ramo 'stabile'.

cd taiga-back/
git checkout stable

Successivamente, dobbiamo creare un nuovo ambiente Python "taiga" usando virtualenv.

mkvirtualenv -p /usr/bin/python3.5 taiga

Accedi al nuovo ambiente virtuale 'taiga' e installa tutti i moduli Python necessari a 'taiga-back' usando il comando pip come mostrato di seguito.

workon taiga
pip install -r requirements.txt

Al termine dell'installazione di tutti i moduli richiesti, è necessario popolare il database con i dati di base iniziali.

Esegui tutti i comandi di inizializzazione di seguito.

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

I comandi creeranno automaticamente un account amministratore 'admin ' con password '123123 '.

Quindi, crea una nuova configurazione per 'taiga-back' usando vim.

vim ~/taiga-back/settings/local.py

Incolla lì la seguente configurazione.

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 = "[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"}

# 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"

Salva ed esci.

Nota:

  • Cambia 'MEDIA_URL' e 'STATIC_URL' con il tuo nome di dominio.
  • Cambia 'SECRET_KEY' con la tua chiave segreta.
  • Cambia il valore della password EVENTS_PUSH_BACKEND_OPTIONS con il tuo valore RabbitMQ. Per questa guida utilizziamo la password 'aqwe123'.

Ora prova 'taiga-back' con il comando seguente.

workon taiga
python manage.py runserver 0.0.0.0:8000

Il comando eseguirà taiga-back sotto l'IP pubblico del server con la porta 8000.

Aprire il browser web e visitare il seguente indirizzo. Il mio è:http://192.168.33.10:8000/api/v1/

E dovresti ottenere l'API "taiga-back" con il formato JSON come di seguito.

L'installazione e la configurazione di 'taiga-back' come backend sono state completate.

Fase 4 - Configura Taiga Frontend

In questo passaggio, scaricheremo e configureremo il frontend taiga. Il frontend gestirà tutte le interfacce taiga.

Accedi come utente taiga.

su - taiga

Scarica lo script 'taiga-front-dist' usando il comando git.

cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist

Successivamente, vai alla directory 'taiga-front-dist' e cambia il ramo in 'stable'.

cd taiga-front-dist/
git checkout stable

Ora copia l'esempio di configurazione 'taiga-front-dist' in 'conf.json' e modificalo usando l'editor vim.

cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.json

Effettua tutte le configurazioni come di seguito e cambia "api" e "eventsUrl" con il tuo nome di dominio.

{
    "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": []
}

Salva ed esci.

La configurazione del frontend Taiga è stata completata.

Fase 5 - Configura eventi Taiga

Taiga-events è un server WebSocket che ti consente di mostrare le modifiche in tempo reale nel dashboard di Taiga.io e utilizza RabbitMQ come broker di messaggi. In questo passaggio, scaricheremo e configureremo 'taiga-eventi'.

Accedi come utente 'taiga'.

su - taiga

Scarica il codice sorgente 'taiga-events' da GitHub usando il comando git e vai alla directory 'taiga-events'.

git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events

Ora installa tutti i moduli javascript necessari per 'taiga-events' usando npm e poi installa il pacchetto 'coffee-script' sul sistema.

npm install
sudo npm install -g coffee-script

Quindi, copia la configurazione predefinita di 'taiga-events' in 'config.json' e modificala usando l'editor vim.

cp config.example.json config.json
vim config.json

Effettua la configurazione come di seguito.

{
    "url": "amqp://taiga:[email protected]:5672/taiga",
    "secret": "myverysecretkey",
    "webSocketServer": {
        "port": 8888
    }
}

Salva ed esci.

Nota:

  • Cambia il valore 'url' con il tuo utente e password rabbitmq.
  • Per il valore 'secret', assicurati che corrisponda a 'SECRET_KEY' su 'local.py' il file di configurazione di 'taiga-back'.

La configurazione degli eventi Taiga è stata completata.

Fase 6 - Configura Circus e Gunicorn

Circus sarà utilizzato per il controllo e la gestione del processo "taiga-back" e "taiga-eventi". "taiga-events" viene eseguito come script per il caffè e "taiga-back" viene eseguito sotto Gunicorn.

In questo passaggio, aggiungeremo nuovi eventi taiga e taiga-bac al circo.

Per 'taiga-events', crea il nuovo file 'taiga-events.ini' usando vim.

vim /etc/circus/conf.d/taiga-events.ini

Incolla la configurazione di seguito.

[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

Salva ed esci.

E per il taiga-back, crea il nuovo file 'taiga.ini'.

vim /etc/circus/conf.d/taiga.ini

Incolla lì la seguente configurazione.

[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

Salva ed esci.

Successivamente, dobbiamo creare una nuova directory 'logs' sia per i processi 'taiga-events' che per 'taiga-back'.

su - taiga
mkdir -p ~/logs

Ora riavvia il servizio circusd e controlla tutti i processi disponibili.

systemctl restart circusd
circusctl status

E assicurati che 'taiga-events' e 'taiga-back' siano attivi nell'elenco dei processi, come mostrato di seguito.

Passaggio 7:configurazione dell'host virtuale Taiga Nginx

In questo passaggio, configureremo l'host virtuale Nginx per Taiga.io. Creeremo un nuovo file host virtuale nella directory 'conf.d' per la nostra installazione di Taiga.io.

Vai alla directory di configurazione di nginx ed elimina il file host virtuale "predefinito".

cd /etc/nginx/
sudo rm -f sites-enabled/default

Ora crea un nuovo file host virtuale 'taiga.conf' nella directory 'conf.d'.

vim /etc/nginx/conf.d/taiga.conf

Incolla lì la seguente configurazione.

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;
    }
}

Salva ed esci.

Ora esegui il test della configurazione di nginx e assicurati che non ci siano errori. Quindi riavvia il servizio del server web.

nginx -t
systemctl restart nginx

La configurazione dell'host virtuale Nginx per Taiga.io è stata completata.

Fase 8 - Test

Apri il tuo browser web e visita il nome di dominio Taiga.io. Il mio è:http://taiga.hakase-labs.co

E otterrai la home page predefinita della taiga.

Ora fai clic sul pulsante "Accedi" in alto a destra e otterrai la pagina di accesso dell'amministratore.

Accedi con l'utente predefinito 'admin ' e password '123123 '.

E otterrai il risultato come di seguito.

Successivamente, ripristineremo la password amministratore predefinita.

Fai clic sul pulsante "amministratore" in alto a destra, quindi fai clic su "Cambia password".

Ora digita la vecchia password "123123" e la nuova password come desideri, quindi fai clic su "Salva".

L'installazione e la configurazione di Taiga.io su Ubuntu 16.04 sono state completate con successo.


Ubuntu
  1. Come installare il software di gestione dei progetti Taiga.io su CentOS 7

  2. Come installare il software Odoo ERP su Ubuntu 15.04

  3. Come installare il software Odoo ERP su Ubuntu 16.04

  4. Come installare il software di gestione dei progetti MyCollab su CentOS 7

  5. Come installare Taiga Project Management su CentOS 8

Come installare il software di gestione dei progetti Redmine su Ubuntu 20.04

Come installare Thunderbird su Ubuntu 20.04

Installa Graylog su Ubuntu 20.04 LTS – Un software di gestione dei registri

Come installare il progetto Agora su Ubuntu 15.04

Come installare digiKam – Software di gestione delle foto in Ubuntu

Come installare il software di editing non lineare Lightworks su Ubuntu 22.04