Instalar Software de gestión de proyectos Agile Taiga.io en Ubuntu 16.04

Taiga.IO es un sistema de gestión de proyectos de código abierto para desarrolladores ágiles, diseñadores, y jefes de proyecto. Es una herramienta de gestión de proyecto hermoso que puede manejar proyectos simples y complejos para startups, desarrolladores de software etcetera.

La plataforma de la Taiga tiene tres componentes principales, y cada componente tiene sus propias dependencias.

  1. Taiga-back: Backend de la aplicación que proporciona una API. Escrito en Python y Django.
  2. Taiga-frente-dist: Frontend taiga está escrito en AngularJS y CoffeeScript.
  3. Taiga-eventos: Servidor de taiga WebSocket para mostrar cambios en tiempo real en las aplicaciones. Y con RabbitMQ como un intermediario de mensajes.

En este tutorial, Le mostraré paso a paso cómo instalar la herramienta de gestión del proyecto Taiga.io en Ubuntu 16.04 servidor. Vamos a aprender cómo configurar Ubuntu server para la instalación de Taiga.io.

Requisitos previos

  • Ubuntu 16.04
  • Privilegios de root

Lo que hacemos

  1. Instalar requisitos previos
  2. Agregar usuario de Taiga
  3. Instalar y configurar servidor de Taiga
  4. Instalar y configurar la interfaz de Taiga
  5. Instalar y configurar eventos de Taiga
  6. Configurar circo y Gunicorn
  7. Configurar Nginx Virtualhost de Taiga
  8. Prueba

Paso 1 - Instalar requisitos previos

Antes de instalar todos los componentes de Taiga.io, tenemos que preparar el sistema mediante la instalación de paquetes requeridos. En este primer paso, vamos a instalar los paquetes que necesita para todos los componentes de la Taiga y módulos, como Nginx, RabitMQ, Redis etcetera.

Para comenzar con, actualizar el repositorio y actualizar el sistema.

sudo apt update
sudo apt upgrade -y

- Instalar dependencias

Se utilizarán los siguientes paquetes para compilar algunos módulos de python. Ejecute el siguiente comando apt para instalar todos ellos en el sistema.

sudo install apt -y binutils-doc de build-essential autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext

- Instalar Nginx

Taiga.IO es una herramienta de aplicación basada en web. Se está ejecutando en el servidor web. Y para esta guía, vamos a usar servidor web Nginx para la instalación.

Instalar Nginx con el siguiente comando apt.

sudo apt instalar nginx -y

Después de la instalación, Inicie el servicio de Nginx y permiten que se ejecute durante el arranque del sistema, algo que se puede hacer utilizando el comando systemctl.

systemctl Inicio nginx
systemctl habilitar nginx

Ahora usando netstat y asegúrese de que el puerto HTTP está en la lista.

netstat - plntu

Nginx successfully installed

- Instalar Redis y RabbitMQ

Este es un paquete opcional si no desea que la notificación asincrónica. Instalar Redis y RabbitMQ utilizando el siguiente comando apt.

sudo install apt -y redis-rabbitmq-servidor

Después de la instalación, iniciar los servicios redis y rabbitmq y añadir esos servicios para el tiempo de inicio.

systemctl Inicio redis
systemctl iniciar rabbitmq-servidor
systemctl habilitar servidor de rabbitmq

Siguiente, necesitamos crear un nuevo usuario y un host virtual llamado 'taiga' para RabbitMQ - se utilizará para 'taiga-eventos'.

Ejecutar comandos debajo de crear nuevo usuario y vhost llamado taiga con contraseña 'aqwe123', luego establezca el permiso para el usuario 'taiga'.

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

Install Redis and RabbitMQ

- Instalar Python

'taiga-back' se crea con Django, Web Framework, y de usos 'Python 3.5'. Así que tenemos que instalar Python 3.5 en el sistema.

Ejecute el siguiente comando para instalar Python 3.5 con las dependencias de los.

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

- Instalar el circo

Circo es un administrador de procesos y director de zócalo. Puede ser utilizado para el seguimiento y control de proceso y sockets en el sistema Linux.

Para esta guía, Circo vamos a usar para administrar el proceso de 'taiga-eventos' creado con CoffeeScript.

Instale el circo con el siguiente comando apt.

sudo install apt -y circo

Después de la instalación, iniciar el servicio 'circusd' y permitirá lanzar cada vez que en el arranque del sistema.

systemctl Inicio circusd
systemctl enable circusd

Ahora Compruebe el servicio utilizando las siguientes comandos.

systemctl estado circusd
Estado de circusctl

Y obtendrá el resultado siguiente.

Install Circus

- Instalar y configurar la base de datos PostgreSQL

Taiga.IO utiliza PostgreSQL como base de datos, y el componente 'taiga-back' está utilizando PostgreSQL (>= 9.4) como la base de datos.

Instalar PostgreSQL 9.5 ejecutando después de comandos aptos.

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

Si la instalación de la base de datos, Inicie el servicio de PostgreSQL y poder lanzar cada vez que en el arranque del sistema.

systemctl start postgresql
systemctl activar postgresql

Siguiente, vamos a crear nueva base de datos y el usuario para la instalación de Taiga.io.

Inicio de sesión para el usuario 'postgres'.

su - Postgres

Crear una nueva base de datos y un usuario llamado 'taiga' utilizando los siguientes comandos.

CreateUser taiga
createdb taiga - O de taiga

Se ha instalado la base de datos PostgreSQL, y se ha creado la base de datos para Taiga.io.

Configure Postgres

- Instalar Nodejs

Nodo es necesario 'taiga-eventos' - Añadir el repositorio de nodesource de nodejs e instalarlo con el comando apt.

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

Todos los paquetes necesarios para la instalación de Taiga.io se ha instalado con éxito.

Paso 2 - Añadir nuevo usuario Taiga

En este paso, vamos a crear un nuevo usuario del sistema llamado 'taiga', y luego agregarlo al grupo sudo.

Ejecute el comando para crear el nuevo usuario 'taiga'.

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

Ahora agregar el usuario 'taiga' al grupo 'sudo'.

usermod - a taiga de sudo -G

Ahora login como 'taiga' y trate de utilizar el comando sudo.

su - Taiga
sudo su

Escriba su contraseña y asegúrese de que obtener los privilegios de root.

Add taiga user

Se ha creado el nuevo usuario 'taiga'.

Paso 3 - Configurar servidor de Taiga

Taiga-back es un back-end de Taiga.io que proporciona una API. Está escrito en Python y Django, Web Framework.

En este paso, vamos a instalar y configurar el taiga componente 'taiga-back' como un backend que proporciona una API.

Entrar para descargar el código fuente 'taiga-back' y el 'taiga' usuario de GitHub.

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

Ahora vaya al directorio de 'taiga-back' y cambiar la rama a la rama 'estable'.

taiga-back CD /
git checkout estable

Siguiente, necesitamos crear nuevas python entorno 'taiga' usando el 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 instalar - 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' with password '123123'.

Siguiente, 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"}
# Descomentar y rellenar con parámetros de conexión apropiado
# para el envío de correo electrónico permiten.  25
# Descomentar y rellenar con parámetros de conexión apropiado
# para habilitar inicio de sesión/singin de github.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

Guardar y salir.

Nota:

  • Cambiar el 'MEDIA_URL' y 'STATIC_URL' con su propio nombre de dominio.
  • Cambiar el 'SECRET_KEY' con su propia clave secreta.
  • Cambie el valor de la contraseña EVENTS_PUSH_BACKEND_OPTIONS a su propio valor RabbitMQ. Para esta guía, Estamos usando contraseña 'aqwe123'.

Ahora prueba 'taiga-back' con el siguiente comando.

workon taiga
Python manage.py runserver 0.0.0.0: 8000

El comando se ejecutará taiga-back en la IP pública del servidor con el puerto 8000.

run taiga-back under the server public IP

Abra el explorador web y visite la siguiente dirección. El mío es: http://192.168.33.10:8000/api/v1 /

Y usted debe obtener la API 'taiga-back' con formato JSON como abajo.

API in json format

Instalación y configuración de 'taiga-back' como back-end se ha completado.

Paso 4 - Configurar interfaz de Taiga

En este paso, vamos a descargar y configurar la interfaz de taiga. El frontend encargará de todas las interfaces de taiga.

Iniciar sesión como el usuario de taiga.

su - Taiga

Descargar el script 'taiga-frente-dist' el comando git.

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

Después de esto, ir al directorio 'taiga-frente-dist' y cambiar la rama 'estable'.

CD taiga-frente-dist /
git checkout estable

Ahora copia el ejemplo de 'taiga-frente-dist' configuración 'conf.json' y editar con el editor vim.

CP ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
VIM ~/taiga-front-dist/dist/conf.json

Hacer toda la configuración como abajo y cambie el 'api' y 'eventsUrl' con su propio nombre de dominio.

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

Guardar y salir.

Configure Taiga Frontend

Se ha completado la configuración de la interfaz de Taiga.

Paso 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. En este paso, we will download and configure 'taiga-events'.

Login as 'taiga' user.

su - Taiga

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.

instalación de la nueva gestión pública
sudo npm install -g coffee-script

Configure Taiga Events

Siguiente, 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
}
}

Guardar y salir.

Nota:

  • Change the 'url' value with your own rabbitmq user and password.
  • For the 'secret' value, make sure it matches with the 'SECRET_KEY' on 'local.py' the configuration file of 'taiga-back'.

Taiga-events configuration has been completed.

Paso 6 - Configurar circo y Gunicorn

Circus will be used for controlling and managing 'taiga-back' and 'taiga-events' process. 'taiga-events' is running as a coffee script, and 'taiga-back' is running under Gunicorn.

En este paso, we will add new taiga-events and taiga-bac to circusd.

For the 'taiga-events', create new file 'taiga-events.ini' using vim.

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

Paste configuration below.

[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

Guardar y salir.

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

Guardar y salir.

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

su - Taiga
mkdir -p ~/logs

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

systemctl restart circusd
Estado de circusctl

And make sure the 'taiga-events' and 'taiga-back' is active on the process list, como se muestra a continuación.

Configure Circus and Gunicorn

Paso 7 - Configure Taiga Nginx Virtual Host

En este paso, 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;
}
}

Guardar y salir.

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

Nginx -t
systemctl reinicio nginx

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

Configure Taiga Nginx Virtual Host

Paso 8 - Prueba

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

Y obtendrá el resultado siguiente.

Admin account

Siguiente, 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 has been completed successfully.

Referencia

Fuente