Installer un 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, concepteurs, et gestionnaires de projet. C’est un outil de gestion de beau projet capable de gérer des projets simples ou complexes pour le démarrage, développeurs de logiciels etc..

La plate-forme de la taïga a trois composantes principales, et chaque composant possède ses propres dépendances.

  1. Taiga-dos: Backend de l’application qui fournit une API. Écrit en Python et Django.
  2. Taiga-front-dist: Frontend taïga est écrit en AngularJS et CoffeeScript.
  3. Taiga-événements: Serveur de WebSocket taïga pour montrer les changements en temps réel dans les apps. Et comme un courtier de messages à l’aide de RabbitMQ.

Dans ce tutoriel, Je vais vous montrer étape par étape comment installer l’outil de gestion de projet Taiga.io sur Ubuntu 16.04 serveur. Nous allons apprendre comment configurer Ubuntu serveur pour l’installation de Taiga.io.

Conditions préalables

  • Ubuntu 16.04
  • Privilèges root

Ce que nous ferons

  1. Installer les composants requis
  2. Ajouter un utilisateur de la taïga
  3. Installer et configurer taïga Backend
  4. Installer et configurer taïga Frontend
  5. Installer et configurer les événements de la taïga
  6. Configurer le cirque et Gunicorn
  7. Configurer la taïga Nginx Virtualhost
  8. Test

Étape 1 - Installer les composants requis

Avant d’installer tous les composants de Taiga.io, Nous devons préparer le système en installant les paquets nécessaires. Dans cette première étape, Nous allons installer les paquets nécessaires pour tous les modules et les composants de la taïga, y compris Nginx, RabitMQ, Redis etc..

Tout d’abord, mise à jour du référentiel et à moderniser le système.

sudo apt mise à jour
sudo apt mise à niveau -y

- Installer les dépendances

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

sudo install apt -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ée sur le web. Il s’exécute sur le serveur web. Et pour ce guide, Nous allons utiliser serveur web Nginx pour l’installation.

Installer Nginx à l’aide de la commande apt ci-dessous.

sudo apt installer nginx -y

Une fois l’installation terminée, Démarrez le service de Nginx et lui permettre de lancer au démarrage du système, quelque chose que vous pouvez faire en utilisant la commande systemctl.

systemctl démarrer nginx
systemctl enable nginx

Maintenant, vérifiez à l’aide de netstat et assurez-vous que le port HTTP est sur la liste.

netstat - plntu

Nginx installé avec succès

- Installer le Redis et RabbitMQ

C’est un package optionnel si vous ne voulez pas notification asynchrone. Installer le Redis et RabbitMQ en utilisant la commande apt ci-dessous.

sudo apt installer -y redis-serveur rabbitmq

Une fois l’installation terminée, démarrer les services redis et rabbitmq et ajout de ces services au moment du démarrage.

systemctl démarrer redis
systemctl démarrer rabbitmq-serveur
systemctl enable rabbitmq-serveur

Prochaine, Nous devons créer un nouvel utilisateur et un hôte virtuel nommé « taïga » pour RabbitMQ - il sera utilisé pour « taïga-événements ».

Exécutez les commandes ci-dessous pour créer nouvel utilisateur et serveur virtuel nommé taïga avec mot de passe « aqwe123 », then set the permission for the 'taiga' user.

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

Installer le Redis et RabbitMQ

- Installez Python

'taiga-back' is created with Django Web Framework, and it's uses 'Python 3.5'. So we need to install Python 3.5 sur le système.

Run the following command to install Python 3.5 with all required dependencies.

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

- Install Circus

Circus is a process manager and socket manager. It can be used for monitoring and controlling process and sockets on the Linux system.

Pour ce guide, we will be using circus for managing the 'taiga-events' process created with CoffeeScript.

Install circus with the apt command below.

sudo apt install -y circus

Une fois l’installation terminée, start the 'circusd' service and enable to launch everytime at system boot.

systemctl start circusd
systemctl enable circusd

Now check the service using following commands.

systemctl status circusd
circusctl status

And you will get the result as below.

Install Circus

- Install and Configure PostgreSQL Database

Taiga.io is using PostgreSQL as the database, and the component 'taiga-back' is using PostgreSQL (>= 9.4) as the database.

Installer PostgreSQL 9.5 by running following apt commands.

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

If the database installation is complete, start the PostgreSQL service and enable it to launch everytime at system boot.

systemctl démarrer postgresql
systemctl enable postgresql

Prochaine, we will create new database and user for the Taiga.io installation.

Login to the 'postgres' user.

su - Postgres

Créer une nouvelle base de données et un utilisateur nommé « taïga » à l’aide des commandes ci-dessous.

CreateUser taïga
taiga - O de taïga CreateDB

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

Configurer Postgres

- Installer Nodejs

Nœud est nécessaire pour « taïga-événements » - Ajouter le dépôt de nodesource nodejs et l’installer avec la commande apt.

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

Tous les paquets nécessaires à l’installation de Taiga.io a été installé avec succès.

Étape 2 - Ajouter nouvel utilisateur taïga

Dans cette étape, Nous allons créer un nouvel utilisateur de système nommé « taïga », puis ajoutez-le au groupe sudo.

Exécutez la commande pour créer le nouvel utilisateur « taïga ».

useradd -m -s/bin/bash taïga
passwd taïga

Maintenant ajoutez l’utilisateur « taïga » au groupe « sudo ».

usermod - une taïga sudo -G

Maintenant ouvrir en tant que « taïga » et essayez d’utiliser la commande sudo.

su - taïga
sudo su

Type your password and make sure you get the root privileges.

Add taiga user

New 'taiga' user has been created.

Étape 3 - Configure Taiga Backend

Taiga-back is a backend of Taiga.io that provides an API. It's written in Python and Django Web Framework.

Dans cette étape, we will install and configure the taiga component 'taiga-back' as a backend that provides an API.

Login to the 'taiga' user and download the 'taiga-back' source code from GitHub.

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

Now go to the 'taiga-back' directory and change the branch to the 'stable' branch.

cd taiga-back/
git checkout stable

Prochaine, we need to create new python environment 'taiga' using the virtualenv.

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

Configure Taiga Backend

Log in to the new 'taiga' virtual environment and install all python modules needed by the 'taiga-back' using pip command as shown below.

workon taiga
PIP installer r - requirements.txt

After installation of all required modules is complete, we need to populate the database with initial basic data.

Run all initialize commands below.

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

The commands will automatically create an administrator account 'admin« avec le mot de passe »123123'.

Prochaine, create a new configuration for 'taiga-back' using vim.

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

Paste the following configuration there.

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.  25
# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

Sauvegarder et quitter.

Remarque :

  • Change the 'MEDIA_URL' and 'STATIC_URL' with your own domain name.
  • Change the 'SECRET_KEY' with your own secret key.
  • Change the EVENTS_PUSH_BACKEND_OPTIONS password value to your own RabbitMQ value. Pour ce guide, we are using password 'aqwe123'.

Now test 'taiga-back' with the command below.

workon taiga
runserver manage.py python 0.0.0.0: 8000

The command will run taiga-back under the server public IP with port 8000.

run taiga-back under the server public IP

Open the web browser and visit the following address. Le mien est: http://192.168.33.10:8000/api/v1/

And you should get the 'taiga-back' API with JSON format as below.

API in json format

Installation and configuration of 'taiga-back' as backend has been completed.

Étape 4 - Configure Taiga Frontend

Dans cette étape, we will download and configure the taiga frontend. The frontend will handle all taiga interfaces.

Login as the taiga user.

su - taïga

Download the 'taiga-front-dist' script using git command.

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

Après cela, go to the 'taiga-front-dist' directory and change the branch to 'stable'.

cd taiga-front-dist/
git checkout stable

Now copy the sample of 'taiga-front-dist' configuration to 'conf.json' and edit it using the vim editor.

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

Make all configuration as below and change the 'api' and 'eventsUrl' with your own domain name.

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

Sauvegarder et quitter.

Configure Taiga Frontend

The Taiga frontend configuration has been completed.

Étape 5 - Configure Taiga Events

Taiga-events is a WebSocket server that allows you to show real-time changes in the Taiga.io Dashboard, and it uses RabbitMQ as a message broker. Dans cette étape, we will download and configure 'taiga-events'.

Login as 'taiga' user.

su - taïga

Download the 'taiga-events' source code from GitHub using git command and go to the 'taiga-events' directory.

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

Now install all of the javascript modules needed by 'taiga-events' using npm and then install the 'coffee-script' package to the system.

installation de la NGP
sudo npm install -g coffee-script

Configure Taiga Events

Prochaine, copy the default configuration of 'taiga-events' to 'config.json' and edit it using vim editor.

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

Make the configuration as below.

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

Sauvegarder et quitter.

Remarque :

  • Modifiez la valeur « url » avec vos propres rabbitmq utilisateur et le mot de passe.
  • Pour la valeur « secret », Assurez-vous qu’il s’allie avec le « SECRET_KEY » sur « local.py » le fichier de configuration de « taïga-back ».

Configuration de la taïga-événements a été complétée.

Étape 6 - Configurer le cirque et Gunicorn

Cirque sera utilisé pour le contrôle et la gestion des processus « taïga-back » et « taïga-événements ». « taïga-événements » sont exécuté comme un script de café, et « taïga-back » est exécuté sous Gunicorn.

Dans cette étape, Nous allons ajouter de nouveaux taïga-événements et taïga-bac à circusd.

Pour les « taïga-événements », créer le nouveau fichier "taïga-events.ini' à l’aide de vim.

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

Configuration de coller 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

Sauvegarder et quitter.

And for the taiga-back, create new file 'taiga.ini'.

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

Paste the following configuration there.

[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

Sauvegarder et quitter.

Prochaine, we need to create new 'logs' directory for both 'taiga-events' and 'taiga-back' processes.

su - taïga
mkdir -p ~/logs

Now restart the circusd service and check all of the processes available.

systemctl restart circusd
circusctl status

And make sure the 'taiga-events' and 'taiga-back' is active on the process list, comme indiqué ci-dessous.

Configurer le cirque et Gunicorn

Étape 7 - Configure Taiga Nginx Virtual Host

Dans cette étape, we will configure Nginx virtual host for Taiga.io. We will create new virtual host file under 'conf.d' directory for our Taiga.io installation.

Go to the nginx configuration directory and delete the 'default' virtual host file.

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

Now create new virtual host file 'taiga.conf' under the 'conf.d' directory.

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

Paste the following configuration there.

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

Sauvegarder et quitter.

Now run test nginx configuration and make sure there is no error. Then restart the web server service.

Nginx -t
systemctl redémarrage nginx

Nginx virtual host configuration for Taiga.io has been completed.

Configure Taiga Nginx Virtual Host

Étape 8 - Test

Open your web browser and visit the Taiga.io domain name. Mine is: http://taiga.hakase-labs.co

And you will get the default taiga home page.

Test taiga.io

Now click the 'Login' button on the top right and you will get the admin login page.

Taiga.io Login

Login with the default user 'admin' and password '123123'.

And you will get the result as below.

Admin account

Prochaine, we will reset the default admin password.

Click the 'administrator' button on the top right, then click 'Change Password'.

Change administrator password

Now type the old password '123123' and the new password as you want, then click 'Save'.

Change password

Installation and configuration for Taiga.io on Ubuntu 16.04 a été effectué avec succès.

Référence

Source

Laisser une réponse