Taiga è un sistema di gestione dei progetti open source che ti aiuta a gestire progetti sia semplici che complessi per le startup. È un'applicazione semplice, potente e personalizzabile appositamente progettata per sviluppatori e designer Agile per gestire lo sviluppo del progetto. Il backend di Taiga è scritto in Python e Django mentre il frontend è scritto in JavaScript utilizzando i framework CoffeeScript e AngularJS. Offre diverse funzionalità tra cui collaborazione al progetto, scheda Kanban, monitoraggio dei bug, reportistica, monitoraggio del tempo, backlog, wiki e altro ancora.
In questo tutorial, ti mostreremo come installare il sistema di gestione dei progetti Taiga su CentOS 8.
Prerequisiti
- Un CentOS 8 VPS (useremo il nostro piano SSD 2 VPS)
- Accesso all'account utente root (o accesso a un account amministratore con privilegi root)
Passaggio 1:accedi al server e aggiorna i pacchetti del sistema operativo del server
Innanzitutto, accedi al tuo server CentOS 8 tramite SSH come utente root:
ssh root@IP_Address -p Port_number
Dovrai sostituire "Indirizzo_IP" e "Numero_porta" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, sostituisci "root" con il nome utente dell'account amministratore.
Prima di iniziare, devi assicurarti che tutti i pacchetti CentOS installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:
dnf update -y
Fase 2:per iniziare
Innanzitutto, dovrai impostare un nome host completo per il tuo sistema. Puoi configurarlo con il seguente comando:
hostnamectl set-hostname taiga.example.com
Quindi, installa le altre dipendenze richieste con il seguente comando:
dnf install epel-release redis nginx git unzip curl pwgen @python38 python38-devel virtualenv -y
Quindi, installa virtualenvwrapper con il seguente comando:
pip3 install virtualenvwrapper
Quindi, avvia il servizio Nginx e Redis e abilita l'avvio al riavvio del sistema:
systemctl start nginx redis systemctl enable nginx redis
Fase 3:installa Node.js
Per impostazione predefinita, l'ultima versione di Node.js non è disponibile in CentOS 8. Quindi dovrai abilitare il repository Node.js nel tuo sistema.
Puoi abilitarlo con il seguente comando:
dnf module enable nodejs:12
Quindi, installa Node.js con il seguente comando:
dnf install nodejs -y
Dopo aver installato Node.js, verifica la versione installata di Node.js con il seguente comando:
node --version
Dovresti ottenere il seguente output:
v12.18.4
Fase 4:installa e configura RabbitMQ
Successivamente, dovrai installare il server RabbitMQ nel tuo sistema. Per impostazione predefinita, non è disponibile nel repository predefinito di CentOS 8.
Innanzitutto, aggiungi il repository RabbitMQ con il seguente comando:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash
Quindi, installa il server RabbitMQ con il seguente comando:
dnf install rabbitmq-server -y
Una volta installato, avvia il servizio RabbitMQ e abilitalo all'avvio al riavvio del sistema:
systemctl start rabbitmq-server.service systemctl enable rabbitmq-server.service
Quindi, aggiungi Taiga iser, host virtuale e imposta i permessi con il seguente comando:
rabbitmqctl add_user taiga password rabbitmqctl add_vhost taiga rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Passaggio 5:installa e configura PostgreSQL
Puoi installare il server PostgreSQL eseguendo il comando seguente:
dnf install @postgresql -y
Una volta completata l'installazione, inizializzare il database con il seguente comando:
/usr/bin/postgresql-setup initdb
Quindi, avvia il servizio PostgreSQL e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl start postgresql systemctl enable postgresql
Quindi, imposta la password per PostgreSQL con il seguente comando:
passwd postgres
Ti verrà chiesto di impostare una nuova password come mostrato di seguito:
New password: Retype new password: passwd: all authentication tokens updated successfully.
Quindi, cambia l'utente in postgres e crea un utente per taiga:
su - postgres createuser taiga
Quindi, accedi alla shell di PostgreSQL con il seguente comando:
[postgres@taiga ~]$ psql
Una volta effettuato l'accesso, dovresti ottenere il seguente output:
psql (10.14) Type "help" for help.
Quindi, imposta la password per l'utente taiga e crea un database con il seguente comando:
postgres=# ALTER USER taiga WITH ENCRYPTED password 'password'; postgres=# CREATE DATABASE taiga OWNER taiga;
Quindi, esci da PostgreSQL con il seguente comando:
\q exit
Passaggio 6:installa e configura il backend Taiga
Innanzitutto, dovrai creare un utente per eseguire Taiga. Puoi crearlo con il seguente comando:
adduser taiga passwd taiga
Quindi, aggiungi l'utente taiga al gruppo ruota per i privilegi sudo:
usermod -aG wheel taiga
Quindi, passa l'utente a taiga con il seguente comando:
su - taiga
Quindi, crea una directory di registro:
mkdir -p ~/logs
Quindi, scarica l'ultima versione del backend Taiga con il seguente comando:
git clone https://github.com/taigaio/taiga-back.git
Una volta scaricato, cambia la directory in taiga-back e controlla la versione stabile:
cd taiga-back git checkout stable
Quindi, installa le dipendenze richieste con il seguente comando:
sudo pip3 install -r requirements.txt
Quindi, migra il database con il seguente comando:
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
Quindi, crea un file di configurazione local.py:
nano ~/taiga-back/settings/local.py
Aggiungi le seguenti righe:
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 = "your-secret-key" 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:password@localhost:5672/taiga"}
Salva e chiudi il file, quindi avvia il server per verificare l'installazione:
python3 manage.py runserver
Se tutto va bene, dovresti ottenere il seguente output:
Trying import local.py settings… Trying import local.py settings… Performing system checks… System check identified no issues (0 silenced). November 15, 2020 - 08:50:41 Django version 2.2.17, using settings 'settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Press CTRL+C to stop the server.
Passaggio 7:Configura Taiga Frontend
Innanzitutto, passa l'utente a taiga e scarica l'ultima versione di taiga frontend con il seguente comando:
su - taiga git clone https://github.com/taigaio/taiga-front-dist.git
Una volta scaricato, cambia la directory in taiga frontend e controlla la versione stabile:
cd taiga-front-dist git checkout stable
Quindi, copia il file di configurazione di esempio con il seguente comando:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
Quindi, modifica il file di configurazione:
nano ~/taiga-front-dist/dist/conf.json
Definisci la tua API e eventsUrl come mostrato di seguito:
{ "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", "defaultLoginEnabled": true, "publicRegisterEnabled": true, "feedbackEnabled": true, "supportUrl": "https://tree.taiga.io/support/", "privacyPolicyUrl": null, "termsOfServiceUrl": null, "GDPRUrl": null, "maxUploadFileSize": null, "contribPlugins": [], "tagManager": { "accountId": null }, "tribeHost": null, "importers": [], "gravatar": false, "rtlLanguages": ["fa"] }
Salva e chiudi il file quando hai finito.
Fase 8:configura gli eventi Taiga
Innanzitutto, passa l'utente a taiga e scarica l'ultima versione di eventi taiga:
su - taiga git clone https://github.com/taigaio/taiga-events.git taiga-events
Una volta scaricato, cambia la directory in taiga events e installa tutte le dipendenze richieste con il seguente comando:
cd taiga-events npm install
Quindi, copia il file di configurazione di esempio:
cp config.example.json config.json
Quindi, modifica il file di configurazione e definisci l'URL RabbitMQ e la chiave segreta:
nano config.json
Aggiungi le seguenti righe:
{ "url": "amqp://taiga:password@localhost:5672/taiga", "secret": "your-secret-key", "webSocketServer": { "port": 8888 } }
Salva e chiudi il file, quindi esci dall'utente taiga con il seguente comando:
exit
Fase 9:crea un file di servizio Systemd per Taiga
Successivamente, dovrai creare un file di servizio systemd per gestire i servizi Taiga.
Innanzitutto, crea un file di servizio systemd per gli eventi taiga con il seguente comando:
nano /etc/systemd/system/taiga_events.service
Aggiungi le seguenti righe:
[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
Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Quindi, avvia il servizio taiga_events e abilitalo per l'avvio al riavvio del sistema:
systemctl start taiga_events systemctl enable taiga_events
Quindi, crea un file di servizio systemd per taiga con il seguente comando:
nano /etc/systemd/system/taiga.service
Aggiungi le seguenti righe:
[Unit] Description=taiga_back After=network.target [Service] User=taiga Environment=PYTHONUNBUFFERED=true WorkingDirectory=/home/taiga/taiga-back ExecStart=/usr/local/bin/gunicorn --workers 4 --timeout 60 -b 127.0.0.1:8001 taiga.wsgi Restart=always RestartSec=3 [Install] WantedBy=default.target
Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Quindi, avvia il servizio Taiga e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl start taiga systemctl enable taiga
Passaggio 10:configura Nginx per Taiga
Successivamente, dovrai configurare Nginx per servire Taiga. Innanzitutto, crea un file di configurazione dell'host virtuale Nginx con il seguente comando:
nano /etc/nginx/conf.d/taiga.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file, quindi riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Quindi, fornisci le autorizzazioni necessarie alla Taiga con il seguente comando:
chown -R taiga:taiga /home/taiga/ chmod o+x /home/taiga/ chmod o+rx ~taiga/taiga-back/media
Fase 11:accedi a Taiga Web Inetrface
Ora apri il tuo browser web e accedi all'interfaccia web di Taiga utilizzando l'URL http://taiga.example.com. Verrai reindirizzato alla pagina di accesso di Taiga:
Fornisci il nome utente predefinito come amministratore e la password come 123123, quindi fai clic su Accedi pulsante. Dovresti vedere la dashboard predefinita di Taiga nella schermata seguente:
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux,
nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.