GNU/Linux >> Linux Esercitazione >  >> Cent OS

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

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-back :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 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 gli strumenti di gestione dei progetti Taiga.io sul server CentOS 7. Impareremo anche come configurare e configurare il server CentOS 7 per l'installazione di Taiga.io.

Prerequisiti

  1. CentOS 7
  2. Privilegi di root

Cosa faremo

  1. Installa pacchetti
  2. Installa e configura PostgreSQL
  3. Aggiungi utente Taiga
  4. Configura Taiga indietro
  5. Configura il frontend Taiga
  6. Configura eventi Taiga
  7. Configura la gestione del processo Circus
  8. Configura Nginx Virtual Host per Taiga.io
  9. Consenti a Nginx di accedere al frontend Taiga
  10. Test

Passaggio 1:installazione dei pacchetti

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

- Installa dipendenze

Abbiamo bisogno di "Strumenti di sviluppo" per CentOS 7 che verranno utilizzati per compilare alcuni moduli Python.

Installa i pacchetti richiesti usando il comando yum di seguito.

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 curl git tmux gettext

- Installa il repository EPEL

Ora dobbiamo installare il repository EPEL (Extra Packages for Enterprise Linux). È necessario per installare il server web Nginx, RabbitMQ e Redis.

Installa EPEL Repository sul sistema CentOS 7 utilizzando il comando seguente:

sudo yum -y install epel-release

- Installa Python

Taiga.io ha bisogno di Python 3.5 per l'installazione. Utilizzeremo un repository di terze parti - "ius community" - per installare Python 3.5.

Aggiungi il repository 'ius community' nel modo seguente.

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

Ora installa Python 3.5 usando il seguente comando yum.

sudo yum -y install python35u python35u-pip python35u-devel python-devel python-pip python-virtualenvwrapper libxml2-devel libxslt-devel

- Installa Nginx

Taiga.io è uno strumento di applicazione Web e viene eseguito nel server Web. E per questa guida, utilizzeremo Nginx come server web.

Installa Nginx dal repository EPEL usando il comando yum di seguito.

sudo yum -y install nginx

Al termine dell'installazione, avvia il servizio e abilitalo all'avvio all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Ora controlla la porta aperta usando il comando netstat.

netstat -plntu

E assicurati di avere la porta HTTP 80 nell'elenco come mostrato di seguito.

- Installa Redis e RabbitMQ

Questo è facoltativo, poiché puoi ancora eseguire Taiga.io senza questi pacchetti. Fondamentalmente, i pacchetti Redis e RabbitMQ verranno utilizzati da taiga-events.

Installa Redis e RabbitMQ dal repository EPEL utilizzando il comando yum di seguito.

yum -y install rabbitmq-server redis

Se l'installazione è completa, avvia i servizi Redis e RabbitMQ, quindi abilita l'avvio all'avvio del sistema.

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

systemctl start redis
systemctl enable redis

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

Esegui i seguenti comandi 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 Nodejs

Il nodo è necessario per 'taiga-events':aggiungi il repository nodejs nodesource e installalo con il comando yum.

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs

Tutti i pacchetti di base necessari per l'installazione di Taiga.io sono stati installati sul sistema.

Passaggio 2:installazione e configurazione di PostgreSQL

Taiga.io è un'applicazione web basata sul framework web Python Django e utilizza PostgreSQL come database. Abbiamo bisogno di PostgreSQL versione 9.5 per l'installazione di Taiga.io.

Aggiungi il repository PostgreSQL 9.5 al sistema.

sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

Ora installa PostgreSQL 9.5 usando il comando yum di seguito.

sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-server

Al termine dell'installazione, è necessario inizializzare il database PostgreSQL.

sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb

Ora avvia il servizio PostgreSQL e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start postgresql-9.5
systemctl enable postgresql-9.5

Successivamente, dobbiamo creare un nuovo database per l'installazione di Taiga.io. Dobbiamo creare un nuovo database e un utente chiamato 'taiga'.

Accedi come utente 'postgres'.

su - postgres

Ora crea un nuovo database e utente per Taiga.io usando i seguenti comandi.

createuser taiga
createdb taiga -O taiga

È stato creato un nuovo database PostgreSQL per l'installazione di Taiga.io.

Fase 3 - Aggiungi utente Taiga

In questo passaggio, creeremo un nuovo utente e gruppo di sistema denominato "taiga", quindi lo aggiungeremo al gruppo ruota per l'accesso al comando sudo.

Usa il comando 'useradd' di seguito per creare l'utente e il gruppo 'taiga'.

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

Ora aggiungi l'utente "taiga" al gruppo "ruota".

usermod -a -G wheel taiga

Testare l'utente 'taiga' per l'accesso sudo.

su - taiga
sudo su

Digita la tua password e assicurati di ottenere i privilegi di root per l'utente 'taiga'.

Fase 4 - Configura Taiga Back

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

In questo passaggio installeremo e configureremo il componente taiga 'taiga-back'.

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

Prima di andare oltre, dobbiamo aggiornare il pacchetto virtualenv.

sudo pip install --upgrade virtualenv

Quindi, crea il nuovo ambiente Python "taiga" usando il comando mkvirtualenv.

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

È stato creato un nuovo virtualenv per 'taiga-back'.

Prima di installare tutti i moduli per taiga-back, dobbiamo creare un nuovo collegamento per il comando 'pg_config' alla directory '/usr/bin'.

sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_config

Ora installa tutti i moduli Python necessari al 'taiga-back' usando i comandi seguenti.

workon taiga
pip install -r requirements.txt

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

Esegui tutti i seguenti comandi.

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

Questi 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 = "theveryultratopsecretkey"

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 la 'SECRET_KEY' con la tua chiave molto 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.

Apri il browser web e visita il seguente indirizzo.

http://192.168.33.10:8000/api/v1/

E otterrai l'API "taiga-back" con formato JSON come di seguito.

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

Passaggio 5 - Configura Taiga Frontend

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

Accedi all'utente taiga.

su - taiga

Scarica il codice sorgente "Taiga frontend" usando git.

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

Vai alla directory 'taiga-front-dist' e cambia il ramo in 'stable'.

cd taiga-front-dist
git checkout stable

Copia il file di configurazione predefinito e modificalo usando vim.

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

Copia la seguente configurazione:

{
    "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.

Passaggio 6 - 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 all'utente 'taiga'.

su - taiga

Scarica il codice sorgente di "Taiga Events" e vai alla directory.

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

Ora dobbiamo scaricare e installare tutte le librerie javascript necessarie per 'taiga-events' usando il comando npm nel modo seguente.

npm install
sudo npm install -g coffee-script

Nota: Abbiamo bisogno di installare 'coffee-script' sotto il sistema di root.

Quindi, copia il file di configurazione JSON in 'config.json', quindi modificalo usando vim.

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

Incolla lì la seguente configurazione.

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

Salva ed esci.

Nota:

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

La configurazione degli eventi Taiga è stata completata.

Passaggio 7 - Installa e configura Circus

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, installeremo Circus manualmente dal codice sorgente.

Accedi come utente taiga.

su - taiga

Ora scarica il codice sorgente del circo usando git.

cd ~/
git clone https://github.com/circus-tent/circus.git circus

Prima di installare circus sul sistema, dobbiamo creare una nuova directory per la configurazione di circus.

Crea una nuova directory 'conf' sotto l'utente taiga.

mkdir -p ~/conf

E crea una nuova configurazione del circo per Taiga.io denominata 'taiga.ini'.

vim ~/conf/taiga.ini

Incolla la seguente configurazione.

[circus]
check_delay = 5
endpoint = 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 = 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

[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.

Ora crea la directory per i file di registro del circo.

mkdir -p ~/logs

Vai alla directory del circo e installa il software con i privilegi di root.

cd ~/circus
sudo python3.5 setup.py install

Al termine dell'installazione, configureremo circus come servizio sul sistema.

Esegui il comando sudo, quindi crea un nuovo file di servizio "circusd.service".

sudo su
vim /usr/lib/systemd/system/circusd.service

Incolla lì la seguente configurazione.

[Unit]
Description=circus

[Service]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.ini

Salva ed esci.

Ora ricarica il sistema systemd usando il comando seguente.

systemctl daemon-reload

Assicurati che non ci siano errori, quindi avvia il servizio circusd e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start circusd
systemctl enable circusd

L'installazione e la configurazione di Circus per Taiga.io sono state completate. Controllalo usando il comando circusctl qui sotto.

circusctl status

E assicurati di avere il taiga-back e gli eventi taiga nell'elenco dei processi del circo.

Oppure puoi usare il comando systemctl come di seguito.

systemctl status circusd

Passaggio 8: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 e crea un nuovo file 'taiga.conf' nella directory 'conf.d'.

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

Incolla lì la seguente configurazione.

server {
    listen 80;
    server_name taiga.hakase-labs.co;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /var/log/nginx/taiga.access.log;
    error_log /var/log/nginx/taiga.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 la configurazione di test 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 per Taiga.io è stata completata.

Fase 9:consentire a Nginx di accedere al Taiga Frontend

A volte potresti ricevere un errore sul server web Nginx che dice che non può accedere ai file taiga-frontend:in questo caso vedrai Nginx '500 Internal Server Error'.

Per risolvere questo problema, dobbiamo cambiare il proprietario o il gruppo di tutti i file taiga-frontend e dare a Nginx l'accesso a tutti i file.

Per impostazione predefinita su CentOS 7, il server Web Nginx è in esecuzione con l'utente 'nginx' e l'installazione di Taiga.io è in esecuzione con l'utente 'taiga'.

Di seguito è riportato l'esempio dell'errore Nginx di cui stiamo parlando.

Il server web Nginx non può leggere tutto il contenuto nella directory '/home/taiga/taiga-front-dist/dist'.

Verificalo usando il comando seguente.

sudo -u nginx stat /home/taiga/taiga-front-dist/dist

E otterrai il risultato del permesso negato.

Ora dobbiamo aggiungere l'utente 'nginx' al gruppo 'taiga' e fornire all'utente nginx i permessi necessari per la directory taiga-front-dist.

Aggiungi l'utente 'nginx' al gruppo 'taiga'.

sudo gpasswd -a nginx taiga

Concedi al server web le autorizzazioni per leggere tutto il contenuto nella directory 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

E riavvia il server web Nginx.

systemctl restart nginx

Fase 10 - Test

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

E dovresti ottenere la home page predefinita di Taiga mostrata di seguito.

Qui, digita l'utente predefinito 'admin ' con password '123123 ', quindi fare clic sul pulsante 'Accedi'.

E arriverai alla dashboard dell'amministratore.

L'installazione di Taiga.io su CentOS 7 con il server web Nginx è stata completata con successo.


Cent OS
  1. Come installare PHP 7, 7.2 e 7.3 su CentOS 7

  2. Come installare Java 11 e 12 su CentOS 7

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

  4. Come installare il software per aste WebBid su CentOS

  5. Come installare Taiga Project Management su CentOS 8

Come installare Jira Agile Project Management Tool su CentOS 8

Come installare il software di gestione aziendale Flectra con Nginx su CentOS 8

Come installare il sistema di gestione dei progetti Taiga su Ubuntu 20.04

Come installare il software di gestione delle risorse dell'inventario OCS CentOS 8

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

Come installare il software di gestione dei progetti Kanboard su CentOS 8