GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

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. Taïga arrière :Backend de l'application qui fournit une API. Écrit en Python et Django.
  2. Taiga-front-dist :Taiga Frontend écrit en AngularJS et CoffeeScript.
  3. Événements Taiga :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 les outils de gestion de projet Taiga.io sur le serveur CentOS 7. Nous apprendrons également comment installer et configurer le serveur CentOS 7 pour l'installation de Taiga.io.

Prérequis

  1. CentOS 7
  2. Privilèges root

Ce que nous allons faire

  1. Installer des packages
  2. Installer et configurer PostgreSQL
  3. Ajouter un utilisateur Taiga
  4. Configurer Taiga Back
  5. Configurer l'interface Taiga
  6. Configurer les événements Taiga
  7. Configurer la gestion des processus Circus
  8. Configurer l'hôte virtuel Nginx pour Taiga.io
  9. Autoriser Nginx à accéder à l'interface Taiga
  10. Test

Étape 1 - Installer les packages

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

- Installer les dépendances

Nous avons besoin d''Outils de développement' pour CentOS 7 qui seront utilisés pour compiler certains modules python.

Installez les packages requis à l'aide de la commande yum ci-dessous.

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 

- Installer le référentiel EPEL

Nous devons maintenant installer le référentiel EPEL (Extra Packages for Enterprise Linux). Il est nécessaire pour installer le serveur Web Nginx, RabbitMQ et Redis.

Installez le référentiel EPEL sur le système CentOS 7 à l'aide de la commande suivante :

sudo yum -y install epel-release

- Installer Python

Taiga.io a besoin de Python 3.5 pour l'installation. Nous utiliserons un référentiel tiers - "ius community" - pour installer Python 3.5.

Ajoutez le référentiel 'ius community' de la manière suivante.

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

Installez maintenant Python 3.5 à l'aide de la commande yum suivante.

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

- Installer Nginx

Taiga.io est un outil d'application Web qui s'exécute sous le serveur Web. Et pour ce guide, nous utiliserons Nginx comme serveur Web.

Installez Nginx à partir du référentiel EPEL à l'aide de la commande yum ci-dessous.

sudo yum -y install nginx

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

systemctl démarrer nginx
systemctl activer nginx

Vérifiez maintenant le port ouvert à l'aide de la commande netstat.

netstat -plntu

Et assurez-vous d'avoir le port HTTP 80 dans la liste comme indiqué ci-dessous.

- Installer Redis et RabbitMQ

Ceci est facultatif, car vous pouvez toujours exécuter Taiga.io sans ces packages. Fondamentalement, les packages Redis et RabbitMQ seront utilisés par taiga-events.

Installez Redis et RabbitMQ à partir du référentiel EPEL à l'aide de la commande yum ci-dessous.

yum -y install redis rabbitmq-server

Si l'installation est terminée, démarrez les services Redis et RabbitMQ, puis activez-les pour qu'ils se lancent au démarrage du système.

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

systemctl start redis
systemctl enable redis

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

Exécutez les commandes suivantes pour créer un nouvel utilisateur et un nouvel hôte virtuel 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 Nodejs

Le nœud est requis par 'taiga-events' - ajoutez le référentiel nodejs nodesource et installez-le avec la commande yum.

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

Tous les packages de base nécessaires à l'installation de Taiga.io ont été installés sur le système.

Étape 2 - Installer et configurer PostgreSQL

Taiga.io est une application Web basée sur le framework Web Python Django et utilise PostgreSQL comme base de données. Nous avons besoin de PostgreSQL version 9.5 pour l'installation de Taiga.io.

Ajoutez le référentiel PostgreSQL 9.5 au système.

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

Installez maintenant PostgreSQL 9.5 à l'aide de la commande yum ci-dessous.

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

Une fois l'installation terminée, nous devons initialiser la base de données PostgreSQL.

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

Démarrez maintenant le service PostgreSQL et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl start postgresql-9.5
systemctl enable postgresql-9.5

Ensuite, nous devons créer une nouvelle base de données pour l'installation de Taiga.io. Nous devons créer une nouvelle base de données et un utilisateur nommé 'taiga'.

Connectez-vous en tant qu'utilisateur 'postgres'.

su - postgres

Créez maintenant une nouvelle base de données et un nouvel utilisateur pour Taiga.io à l'aide des commandes suivantes.

createuser taiga
createdb taiga -O taiga

Une nouvelle base de données PostgreSQL pour l'installation de Taiga.io a été créée.

Étape 3 - Ajouter un utilisateur Taiga

Dans cette étape, nous allons créer un nouvel utilisateur système et un groupe nommé "taiga", puis l'ajouter au groupe wheel pour l'accès à la commande sudo.

Utilisez la commande 'useradd' ci-dessous pour créer l'utilisateur et le groupe 'taiga'.

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

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

usermod -a -G roue taïga

Testez l'utilisateur 'taiga' pour l'accès sudo.

su - taïga
sudo su

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

Étape 4 - Configurer Taiga Back

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

Dans cette étape, nous allons installer et configurer le composant taiga 'taiga-back'.

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

su - taiga
clone git 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

Avant d'aller plus loin, nous devons mettre à jour le package virtualenv.

sudo pip install --upgrade virtualenv

Ensuite, créez un nouvel environnement python 'taiga' à l'aide de la commande mkvirtualenv.

mkvirtualenv -p /usr/bin/python3.5 taïga

Un nouvel environnement virtuel pour 'taiga-back' a été créé.

Avant d'installer tous les modules pour taiga-back, nous devons créer un nouveau lien pour la commande 'pg_config' vers le répertoire '/usr/bin'.

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

Installez maintenant tous les modules python nécessaires au 'taiga-back' à l'aide des commandes ci-dessous.

workon taiga
pip install -r requirements.txt

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

Exécutez toutes les commandes suivantes.

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

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

à partir de l'importation .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 ="theveryultratopsecretkey"

DEBUG =False
PUBLIC_REGISTER_ENABLED =True

DEFAULT_FROM_EMAIL ="[email protected]"
SERVER_EMAIL =DEFAULT_FROM_EMAIL

#CELERY_ENABLED =Vrai

EVENTS_PUSH_BACKEND ="taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS ={"url":"amqp ://taiga:[email protected]:5672/taiga"}

# Décommentez et renseignez avec les paramètres de connexion appropriés
# pour activer l'envoi d'e-mails. EMAIL_HOST_USER doit se terminer par @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

# Décommentez et remplissez avec les paramètres de connexion appropriés
# pour activer la connexion/singin github.
#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é très 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.

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

Et vous obtiendrez l'API "taiga-back" au format JSON comme ci-dessous.

L'installation et la configuration de 'taiga-back' sont terminées.

Étape 5 - Configurer Taiga Frontend

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

Connectez-vous à l'utilisateur taïga.

su - taïga

Téléchargez le code source 'Taiga frontend' en utilisant git.

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

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

cd taiga-front-dist
git checkout stable

Copiez le fichier de configuration par défaut et modifiez-le à l'aide de vim.

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

Copiez la configuration suivante :

{
    "api":"http://taiga.hakase-labs.co/api/v1/",
    "eventsUrl":"ws://taiga.hakase-labs. co/events",
    "debug":"true",
    "publicRegisterEnabled":vrai,
    "feedbackEnabled":vrai,
    "privacyPolicyUrl":null,
    "termsOfServiceUrl":null,
    "maxUploadFileSize":null,
    "contribPlugins":[]
}

Enregistrez et quittez.

La configuration 'Taiga frontend' est terminée.

Étape 6 - 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 à l'utilisateur 'taiga'.

su - taïga

Téléchargez le code source de 'Taiga Events' et accédez au répertoire.

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

Nous devons maintenant télécharger et installer toutes les bibliothèques javascript nécessaires à 'taiga-events' en utilisant la commande npm de la manière suivante.

npm install
sudo npm install -g coffee-script

Remarque : Nous devons installer le 'coffee-script' sous le système racine.

Ensuite, copiez le fichier de configuration JSON dans 'config.json', puis modifiez-le à l'aide de vim.

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

Collez-y la configuration suivante.

{
    "url":"amqp://taiga:[email protected]:5672/taiga",
    "secret":"theveryultratopsecretkey",
    "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' - le fichier de configuration de 'taiga-back'.

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

Étape 7 - Installer et configurer Circus

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 allons installer Circus manuellement à partir du code source.

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

su - taïga

Téléchargez maintenant le code source du cirque en utilisant git.

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

Avant d'installer circus sur le système, nous devons créer un nouveau répertoire pour la configuration de circus.

Créez un nouveau répertoire 'conf' sous l'utilisateur taiga.

mkdir -p ~/conf

Et créez une nouvelle configuration de cirque pour Taiga.io nommée "taiga.ini".

vim ~/conf/taiga.ini

Collez la configuration suivante.

[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]
CHEMIN =/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.

Créez maintenant le répertoire des fichiers journaux du cirque.

mkdir -p ~/logs

Allez dans le répertoire circus et installez le logiciel avec les privilèges root.

cd ~/circus
installation de sudo python3.5 setup.py

Une fois l'installation terminée, nous configurerons Circus en tant que service sur le système.

Exécutez la commande sudo, puis créez un nouveau fichier de service 'circusd.service'.

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

Collez-y la configuration suivante.

[Unité]
Description=circus

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

Enregistrez et quittez.

Maintenant, rechargez le système systemd en utilisant la commande ci-dessous.

rechargement du démon systemctl

Assurez-vous qu'il n'y a pas d'erreur, puis 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

L'installation et la configuration de Circus pour Taiga.io sont terminées. Vérifiez-le en utilisant la commande circusctl ci-dessous.

statut de cirque

Et assurez-vous que les événements de la taïga et de la taïga figurent sur la liste des processus de cirque.

Ou vous pouvez utiliser la commande systemctl comme ci-dessous.

systemctl status circusd

Étape 8 - 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.

Allez dans le répertoire de configuration nginx et créez un nouveau fichier 'taiga.conf' sous le répertoire 'conf.d'.

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

Collez-y la configuration suivante.

serveur {
    écouter 80 ;
    nom_serveur taiga.hakase-labs.co ;

    large_client_header_buffers 4 32 k ;
    client_max_body_size 50 M ;
    jeu de caractères utf -8 ;

    access_log /var/log/nginx/taiga.access.log ;
    error_log /var/log/nginx/taiga.error.log ;

    # Frontend
    emplacement / {
        racine /home/taiga/taiga-front-dist/dist/ ;
        try_files $uri $uri/ /index.html ;
    }

    # Backend
    location /api {
        proxy_set_header Hôte $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 ;
    }

    # Accès administrateur Django (/admin/)
    emplacement /admin {
        proxy_set_header Hôte $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 ;
    }

    # Fichiers statiques
    location /static {
        alias /home/taiga/taiga-back/static ;
    }

    # Fichiers multimédias
    emplacement /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.

Exécutez maintenant la configuration de test nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le service du serveur Web.

nginx -t
systemctl redémarre nginx

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

Étape 9 - Autoriser Nginx à accéder à l'interface Taiga

Parfois, vous pouvez obtenir une erreur à propos du serveur Web Nginx indiquant qu'il ne peut pas accéder aux fichiers frontaux de la taïga - vous verrez l'erreur "500 Internal Server Error" de Nginx dans ce cas.

Pour résoudre ce problème, nous devons changer le propriétaire ou le groupe de tous les fichiers frontaux de la taïga et donner à Nginx l'accès à tous les fichiers.

Par défaut sur CentOS 7, le serveur Web Nginx s'exécute sous l'utilisateur 'nginx' et l'installation de Taiga.io s'exécute sous l'utilisateur 'taiga'.

Voici l'exemple de l'erreur Nginx dont nous parlons.

Le serveur Web Nginx ne peut pas lire tout le contenu du répertoire '/home/taiga/taiga-front-dist/dist'.

Vérifiez cela en utilisant la commande ci-dessous.

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

Et vous obtiendrez le résultat d'autorisation refusée.

Nous devons maintenant ajouter l'utilisateur 'nginx' au groupe 'taiga' et donner à l'utilisateur nginx les autorisations requises pour le répertoire taiga-front-dist.

Ajoutez l'utilisateur 'nginx' au groupe 'taiga'.

sudo gpasswd -a nginx taïga

Accordez au serveur Web les autorisations nécessaires pour lire tout le contenu du répertoire 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

Et redémarrez le serveur Web Nginx.

systemctl redémarrer nginx

Étape 10 - Tester

Ouvrez votre navigateur Web et visitez votre nom de domaine d'installation Taiga, le mien est http://taiga.hakase-labs.co

Et vous devriez obtenir la page d'accueil par défaut de Taiga illustrée ci-dessous.

Ici, tapez l'utilisateur par défaut 'admin ' avec le mot de passe '123123 ', puis cliquez sur le bouton 'Connexion'.

Et vous accéderez au tableau de bord d'administration.

L'installation de Taiga.io sur CentOS 7 avec le serveur Web Nginx s'est terminée avec succès.


Cent OS
  1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

  2. Comment installer Java 11 et 12 sur CentOS 7

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

  4. Comment installer le logiciel d'enchères WeBid sur CentOS

  5. Comment installer Taiga Project Management sur CentOS 8

Comment installer l'outil de gestion de projet Jira Agile sur CentOS 8

Comment installer le logiciel de gestion d'entreprise Odoo avec Nginx sur CentOS 8

Comment installer le système de gestion de projet Taiga sur Ubuntu 20.04

Comment installer le logiciel de gestion des actifs d'inventaire OCS CentOS 8

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

Comment installer le logiciel de gestion de projet Kanboard sur CentOS 8