GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installez le logiciel de gestion de projet agile Taiga.io sur Ubuntu 16.04

Taiga.io est un système de gestion de projet open source pour les développeurs agiles, les concepteurs et les chefs de projet. C'est un bel outil de gestion de projet qui peut gérer à la fois des projets simples et complexes pour les startups, les développeurs de logiciels, etc.

La plate-forme Taiga comporte trois composants principaux, et chaque composant a ses propres dépendances.

  1. taiga-dos :Backend de l'application qui fournit une API. Écrit en Python et Django.
  2. taiga-front-dist :Taiga Frontend est écrit en AngularJS et CoffeeScript.
  3. événements de la taïga :Serveur Taiga WebSocket pour afficher les modifications en temps réel dans les applications. Et utiliser RabbitMQ comme courtier de messages.

Dans ce tutoriel, je vais vous montrer étape par étape comment installer l'outil de gestion de projet Taiga.io sur le serveur Ubuntu 16.04. Nous apprendrons comment configurer le serveur Ubuntu pour l'installation de Taiga.io.

Prérequis

  • Ubuntu 16.04
  • Privilèges racine

Ce que nous allons faire

  1. Install Prérequis
  2. Ajouter un utilisateur Taiga
  3. Installer et configurer le backend Taiga
  4. Installer et configurer l'interface Taiga
  5. Installer et configurer les événements Taiga
  6. Configurer Circus et Gunicorn
  7. Configurer l'hôte virtuel Taiga Nginx
  8. Test

Étape 1 – Installer les conditions préalables

Avant d'installer tous les composants Taiga.io, nous devons préparer le système en installant les packages requis. Dans cette première étape, nous installerons les packages nécessaires pour tous les composants et modules Taiga, y compris Nginx, RabitMQ, Redis, etc.

Pour commencer, mettez à jour le référentiel et mettez à niveau le système.

sudo apt update
sudo apt upgrade -y

- Installer les dépendances

Les packages suivants seront utilisés pour compiler certains modules python. Exécutez la commande apt ci-dessous pour les installer tous sur le système.

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

- Installer Nginx

Taiga.io est un outil d'application basé sur le Web. Il s'exécute sur le serveur Web. Et pour ce guide, nous utiliserons le serveur Web Nginx pour l'installation.

Installez Nginx à l'aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l'installation terminée, démarrez le service Nginx et activez-le pour qu'il se lance au démarrage du système, ce que vous pouvez faire à l'aide de la commande systemctl.

systemctl start nginx
systemctl enable nginx

Vérifiez maintenant en utilisant netstat et assurez-vous que le port HTTP est sur la liste.

netstat -plntu

- Installer Redis et RabbitMQ

Il s'agit d'un package facultatif si vous ne souhaitez pas de notification asynchrone. Installez Redis et RabbitMQ à l'aide de la commande apt ci-dessous.

sudo apt install -y redis-server rabbitmq-server

Une fois l'installation terminée, démarrez les services redis et rabbitmq et ajoutez ces services au démarrage.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Ensuite, nous devons créer un nouvel utilisateur et un hôte virtuel nommé 'taiga' pour RabbitMQ - il sera utilisé pour les 'taiga-events'.

Exécutez les commandes ci-dessous pour créer un nouvel utilisateur et vhost nommé taiga avec le mot de passe 'aqwe123', puis définissez l'autorisation pour l'utilisateur 'taiga'.

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

- Installer Python

'taiga-back' est créé avec Django Web Framework et utilise 'Python 3.5'. Nous devons donc installer Python 3.5 sur le système.

Exécutez la commande suivante pour installer Python 3.5 avec toutes les dépendances requises.

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

- Installer Circus

Circus est un gestionnaire de processus et un gestionnaire de sockets. Il peut être utilisé pour surveiller et contrôler les processus et les sockets sur le système Linux.

Pour ce guide, nous utiliserons circus pour gérer le processus "taiga-events" créé avec CoffeeScript.

Installez Circus avec la commande apt ci-dessous.

sudo apt install -y circus

Une fois l'installation terminée, démarrez le service "circusd" et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl start circusd
systemctl enable circusd

Vérifiez maintenant le service en utilisant les commandes suivantes.

systemctl status circusd
circusctl status

Et vous obtiendrez le résultat ci-dessous.

- Installer et configurer la base de données PostgreSQL

Taiga.io utilise PostgreSQL comme base de données, et le composant 'taiga-back' utilise PostgreSQL (>=9.4) comme base de données.

Installez PostgreSQL 9.5 en exécutant les commandes apt suivantes.

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

Si l'installation de la base de données est terminée, démarrez le service PostgreSQL et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl start postgresql
systemctl enable postgresql

Ensuite, nous allons créer une nouvelle base de données et un nouvel utilisateur pour l'installation de Taiga.io.

Connectez-vous à l'utilisateur 'postgres'.

su - postgres

Créez une nouvelle base de données et un utilisateur nommé 'taiga' en utilisant les commandes ci-dessous.

createuser taiga
createdb taiga -O taiga

La base de données PostgreSQL a été installée et la base de données pour Taiga.io a été créée.

- Installer Nodejs

Le nœud est requis par 'taiga-events' - ajoutez le dépôt nodesource nodejs et installez-le avec la commande apt.

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

Tous les packages nécessaires à l'installation de Taiga.io ont été installés avec succès.

Étape 2 - Ajouter un nouvel utilisateur Taiga

Dans cette étape, nous allons créer un nouvel utilisateur système nommé "taiga", puis l'ajouter au groupe sudo.

Exécutez la commande pour créer le nouvel utilisateur 'taiga'.

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

Ajoutez maintenant l'utilisateur 'taiga' au groupe 'sudo'.

usermod -a -G sudo taiga

Connectez-vous maintenant en tant que 'taiga' et essayez d'utiliser la commande sudo.

su - taiga
sudo su

Tapez votre mot de passe et assurez-vous d'obtenir les privilèges root.

Un nouvel utilisateur 'taiga' a été créé.

Étape 3 - Configurer le backend Taiga

Taiga-back est un backend de Taiga.io qui fournit une API. Il est écrit en Python et Django Web Framework.

Dans cette étape, nous allons installer et configurer le composant taiga "taiga-back" en tant que backend fournissant une API.

Connectez-vous à l'utilisateur 'taiga' et téléchargez le code source 'taiga-back' depuis GitHub.

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

Allez maintenant dans le répertoire 'taiga-back' et changez la branche en branche 'stable'.

cd taiga-back/
git checkout stable

Ensuite, nous devons créer un nouvel environnement python 'taiga' en utilisant virtualenv.

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

Connectez-vous au nouvel environnement virtuel 'taiga' et installez tous les modules python nécessaires au 'taiga-back' à l'aide de la commande pip comme indiqué ci-dessous.

workon taiga
pip install -r requirements.txt

Une fois l'installation de tous les modules requis terminée, nous devons remplir la base de données avec les données de base initiales.

Exécutez toutes les commandes d'initialisation ci-dessous.

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

Les commandes créeront automatiquement un compte administrateur 'admin ' avec le mot de passe '123123 '.

Ensuite, créez une nouvelle configuration pour 'taiga-back' en utilisant vim.

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

Collez-y la configuration suivante.

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"

Enregistrez et quittez.

Remarque :

  • Remplacez 'MEDIA_URL' et 'STATIC_URL' par votre propre nom de domaine.
  • Changez la 'SECRET_KEY' avec votre propre clé secrète.
  • Remplacez la valeur du mot de passe EVENTS_PUSH_BACKEND_OPTIONS par votre propre valeur RabbitMQ. Pour ce guide, nous utilisons le mot de passe "aqwe123".

Testez maintenant 'taiga-back' avec la commande ci-dessous.

workon taiga
python manage.py runserver 0.0.0.0:8000

La commande exécutera taiga-back sous l'adresse IP publique du serveur avec le port 8000.

Ouvrez le navigateur Web et visitez l'adresse suivante. Le mien est :http://192.168.33.10:8000/api/v1/

Et vous devriez obtenir l'API 'taiga-back' avec le format JSON comme ci-dessous.

L'installation et la configuration de 'taiga-back' en tant que backend sont terminées.

Étape 4 - Configurer Taiga Frontend

Dans cette étape, nous allons télécharger et configurer l'interface taïga. L'interface gérera toutes les interfaces de la taïga.

Connectez-vous en tant qu'utilisateur taïga.

su - taiga

Téléchargez le script 'taiga-front-dist' à l'aide de la commande git.

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

Après cela, allez dans le répertoire 'taiga-front-dist' et changez la branche en 'stable'.

cd taiga-front-dist/
git checkout stable

Copiez maintenant l'exemple de configuration 'taiga-front-dist' dans 'conf.json' et modifiez-le à l'aide de l'éditeur vim.

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

Effectuez toutes les configurations comme ci-dessous et modifiez 'api' et 'eventsUrl' avec votre propre nom de domaine.

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

Enregistrez et quittez.

La configuration de l'interface Taiga est terminée.

Étape 5 - Configurer les événements Taiga

Taiga-events est un serveur WebSocket qui vous permet d'afficher les modifications en temps réel dans le tableau de bord Taiga.io, et il utilise RabbitMQ comme courtier de messages. Dans cette étape, nous allons télécharger et configurer 'taiga-events'.

Connectez-vous en tant qu'utilisateur "taïga".

su - taiga

Téléchargez le code source 'taiga-events' depuis GitHub à l'aide de la commande git et accédez au répertoire 'taiga-events'.

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

Installez maintenant tous les modules javascript nécessaires à 'taiga-events' à l'aide de npm, puis installez le package 'coffee-script' sur le système.

npm install
sudo npm install -g coffee-script

Ensuite, copiez la configuration par défaut de 'taiga-events' dans 'config.json' et modifiez-la à l'aide de l'éditeur vim.

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

Effectuez la configuration comme ci-dessous.

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

Enregistrez et quittez.

Remarque :

  • Changez la valeur 'url' avec votre propre nom d'utilisateur et mot de passe rabbitmq.
  • Pour la valeur 'secret', assurez-vous qu'elle correspond à la 'SECRET_KEY' sur 'local.py' du fichier de configuration de 'taiga-back'.

La configuration des événements Taiga est terminée.

Étape 6 - Configurer Circus et Gunicorn

Circus sera utilisé pour contrôler et gérer le processus « retour de la taïga » et « événements de la taïga ». 'taiga-events' s'exécute en tant que script de café et 'taiga-back' s'exécute sous Gunicorn.

Dans cette étape, nous ajouterons de nouveaux événements taiga et taiga-bac à circusd.

Pour les 'taiga-events', créez un nouveau fichier 'taiga-events.ini' en utilisant vim.

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

Collez la configuration ci-dessous.

[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

Enregistrez et quittez.

Et pour le taiga-back, créez un nouveau fichier 'taiga.ini'.

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

Collez-y la configuration suivante.

[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

Enregistrez et quittez.

Ensuite, nous devons créer un nouveau répertoire 'logs' pour les processus 'taiga-events' et 'taiga-back'.

su - taiga
mkdir -p ~/logs

Redémarrez maintenant le service circusd et vérifiez tous les processus disponibles.

systemctl restart circusd
circusctl status

Et assurez-vous que 'taiga-events' et 'taiga-back' sont actifs dans la liste des processus, comme indiqué ci-dessous.

Étape 7 - Configurer l'hôte virtuel Taiga Nginx

Dans cette étape, nous allons configurer l'hôte virtuel Nginx pour Taiga.io. Nous allons créer un nouveau fichier d'hôte virtuel sous le répertoire 'conf.d' pour notre installation Taiga.io.

Accédez au répertoire de configuration nginx et supprimez le fichier d'hôte virtuel "par défaut".

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

Créez maintenant un nouveau fichier d'hôte virtuel 'taiga.conf' sous le répertoire 'conf.d'.

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

Collez-y la configuration suivante.

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

Enregistrez et quittez.

Maintenant, lancez test nginx configuration et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le service du serveur Web.

nginx -t
systemctl restart nginx

La configuration de l'hôte virtuel Nginx pour Taiga.io est terminée.

Étape 8 - Tester

Ouvrez votre navigateur Web et visitez le nom de domaine Taiga.io. Le mien est :http://taiga.hakase-labs.co

Et vous obtiendrez la page d'accueil par défaut de la taïga.

Cliquez maintenant sur le bouton "Connexion" en haut à droite et vous obtiendrez la page de connexion de l'administrateur.

Connectez-vous avec l'utilisateur par défaut 'admin ' et le mot de passe '123123 '.

Et vous obtiendrez le résultat ci-dessous.

Ensuite, nous allons réinitialiser le mot de passe administrateur par défaut.

Cliquez sur le bouton 'administrateur' en haut à droite, puis cliquez sur 'Modifier le mot de passe'.

Tapez maintenant l'ancien mot de passe '123123' et le nouveau mot de passe comme vous le souhaitez, puis cliquez sur 'Enregistrer'.

L'installation et la configuration de Taiga.io sur Ubuntu 16.04 ont été effectuées avec succès.


Ubuntu
  1. Comment installer le logiciel de gestion de projet Taiga.io sur CentOS 7

  2. Comment installer le logiciel Odoo ERP sur Ubuntu 15.04

  3. Comment installer le logiciel Odoo ERP sur Ubuntu 16.04

  4. Comment installer le logiciel de gestion de projet MyCollab sur CentOS 7

  5. Comment installer Taiga Project Management sur CentOS 8

Comment installer le logiciel de gestion de projet Redmine sur Ubuntu 20.04

Comment installer Thunderbird sur Ubuntu 20.04

Installez Graylog sur Ubuntu 20.04 LTS - Un logiciel de gestion de journaux

Comment installer le projet Agora sur Ubuntu 15.04

Comment installer digiKam - Logiciel de gestion de photos dans Ubuntu

Comment installer le logiciel d'édition non linéaire Lightworks sur Ubuntu 22.04