GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale el software de gestión ágil de proyectos Taiga.io en Ubuntu 16.04

Taiga.io es un sistema de gestión de proyectos de código abierto para desarrolladores, diseñadores y gestores de proyectos ágiles. Es una hermosa herramienta de administración de proyectos que puede manejar proyectos simples y complejos para empresas emergentes, desarrolladores de software, etc.

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

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

En este tutorial, le mostraré paso a paso cómo instalar la herramienta de administración de proyectos Taiga.io en el servidor Ubuntu 16.04. Aprenderemos cómo configurar el servidor Ubuntu para la instalación de Taiga.io.

Requisitos previos

  • Ubuntu 16.04
  • Privilegios de raíz

Qué haremos

  1. Instalar requisitos previos
  2. Añadir usuario Taiga
  3. Instalar y configurar Taiga Backend
  4. Instalar y configurar Taiga Frontend
  5. Instalar y configurar eventos Taiga
  6. Configurar Circus y Gunicorn
  7. Configurar Taiga Nginx Virtualhost
  8. Pruebas

Paso 1:Requisitos previos de instalación

Antes de instalar todos los componentes de Taiga.io, debemos preparar el sistema instalando los paquetes necesarios. En este primer paso, instalaremos los paquetes necesarios para todos los componentes y módulos de Taiga, incluidos Nginx, RabitMQ, Redis, etc.

Para empezar, actualice el repositorio y actualice el sistema.

sudo apt update
sudo apt upgrade -y

- Dependencias de instalación

Los siguientes paquetes se utilizarán para compilar algunos módulos de Python. Ejecute el siguiente comando apt para instalarlos todos en el sistema.

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

- Instalar Nginx

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

Instale Nginx usando el comando apt a continuación.

sudo apt install nginx -y

Una vez completada la instalación, inicie el servicio Nginx y permita que se inicie en el arranque del sistema, algo que puede hacer con el comando systemctl.

systemctl start nginx
systemctl enable nginx

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

netstat -plntu

- Instalar Redis y RabbitMQ

Este es un paquete opcional si no desea una notificación asíncrona. Instale Redis y RabbitMQ con el siguiente comando apt.

sudo apt install -y redis-server rabbitmq-server

Una vez completada la instalación, inicie los servicios redis y rabbitmq y agréguelos al tiempo de arranque.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

A continuación, debemos crear un nuevo usuario y host virtual llamado 'taiga' para RabbitMQ; se usará para 'taiga-events'.

Ejecute los comandos a continuación para crear un nuevo usuario y vhost llamado taiga con la 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 ".*" ".*" ".*"

- Instalar Python

'taiga-back' se crea con Django Web Framework y usa 'Python 3.5'. Entonces necesitamos instalar Python 3.5 en el sistema.

Ejecute el siguiente comando para instalar Python 3.5 con todas las dependencias requeridas.

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

- Instalar Circus

Circus es un administrador de procesos y un administrador de sockets. Puede usarse para monitorear y controlar procesos y sockets en el sistema Linux.

Para esta guía, usaremos circus para administrar el proceso de 'taiga-events' creado con CoffeeScript.

Instale Circus con el siguiente comando apt.

sudo apt install -y circus

Una vez completada la instalación, inicie el servicio 'circusd' y habilítelo para que se inicie cada vez que se inicie el sistema.

systemctl start circusd
systemctl enable circusd

Ahora verifique el servicio usando los siguientes comandos.

systemctl status circusd
circusctl status

Y obtendrá el resultado como se muestra a continuación.

- Instalar y configurar la base de datos PostgreSQL

Taiga.io usa PostgreSQL como base de datos y el componente 'taiga-back' usa PostgreSQL (>=9.4) como base de datos.

Instale PostgreSQL 9.5 ejecutando los siguientes comandos apt.

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 la instalación de la base de datos está completa, inicie el servicio PostgreSQL y permita que se inicie cada vez que se inicia el sistema.

systemctl start postgresql
systemctl enable postgresql

A continuación, crearemos una nueva base de datos y un usuario para la instalación de Taiga.io.

Inicie sesión en el usuario 'postgres'.

su - postgres

Cree una nueva base de datos y un usuario llamado 'taiga' usando los comandos a continuación.

createuser taiga
createdb taiga -O taiga

Se instaló la base de datos PostgreSQL y se creó la base de datos para Taiga.io.

- Instalar Nodejs

Node es necesario para 'taiga-events':agregue el repositorio nodesource de nodejs e instálelo con el comando apt.

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

Todos los paquetes necesarios para la instalación de Taiga.io se han instalado correctamente.

Paso 2:Agregar nuevo usuario Taiga

En este paso, crearemos un nuevo usuario del sistema llamado 'taiga' y luego lo agregaremos al grupo sudo.

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

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

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

usermod -a -G sudo taiga

Ahora inicie sesión como 'taiga' e intente usar el comando sudo.

su - taiga
sudo su

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

Se ha creado un nuevo usuario 'taiga'.

Paso 3:configurar el backend de Taiga

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

En este paso, instalaremos y configuraremos el componente taiga 'taiga-back' como un backend que proporciona una API.

Inicie sesión en el usuario 'taiga' y descargue el código fuente 'taiga-back' de GitHub.

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

Ahora ve al directorio 'taiga-back' y cambia la rama a la rama 'estable'.

cd taiga-back/
git checkout stable

A continuación, necesitamos crear un nuevo entorno de python 'taiga' usando virtualenv.

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

Inicie sesión en el nuevo entorno virtual 'taiga' e instale todos los módulos de Python que necesita 'taiga-back' usando el comando pip como se muestra a continuación.

workon taiga
pip install -r requirements.txt

Después de completar la instalación de todos los módulos requeridos, necesitamos llenar la base de datos con los datos básicos iniciales.

Ejecute todos los comandos de inicialización a continuación.

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

Los comandos crearán automáticamente una cuenta de administrador 'admin ' con contraseña '123123 '.

Luego, cree una nueva configuración para 'taiga-back' usando vim.

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

Pegue la siguiente configuración allí.

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"

Guardar y salir.

Nota:

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

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

workon taiga
python manage.py runserver 0.0.0.0:8000

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

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

Y debería obtener la API 'taiga-back' con formato JSON como se muestra a continuación.

Se completó la instalación y configuración de 'taiga-back' como backend.

Paso 4:configurar Taiga Frontend

En este paso, descargaremos y configuraremos la interfaz de taiga. La interfaz manejará todas las interfaces de taiga.

Inicie sesión como usuario de taiga.

su - taiga

Descarga el script 'taiga-front-dist' usando el comando git.

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

Después de esto, ve al directorio 'taiga-front-dist' y cambia la rama a 'estable'.

cd taiga-front-dist/
git checkout stable

Ahora copie la muestra de la configuración 'taiga-front-dist' en 'conf.json' y edítela usando el editor vim.

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

Realice toda la configuración como se indica a continuación y cambie la 'api' y la '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.

La configuración de la interfaz de Taiga se ha completado.

Paso 5:configurar los eventos de Taiga

Taiga-events es un servidor WebSocket que le permite mostrar cambios en tiempo real en el panel de control de Taiga.io y utiliza RabbitMQ como intermediario de mensajes. En este paso, descargaremos y configuraremos 'taiga-events'.

Inicie sesión como usuario 'taiga'.

su - taiga

Descargue el código fuente de 'taiga-events' de GitHub usando el comando git y vaya al directorio 'taiga-events'.

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

Ahora instale todos los módulos javascript que necesita 'taiga-events' usando npm y luego instale el paquete 'coffee-script' en el sistema.

npm install
sudo npm install -g coffee-script

A continuación, copie la configuración predeterminada de 'taiga-events' en 'config.json' y edítela con el editor vim.

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

Realice la configuración como se indica a continuación.

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

Guardar y salir.

Nota:

  • Cambie el valor de 'url' con su propio usuario y contraseña de rabbitmq.
  • Para el valor 'secreto', asegúrese de que coincida con 'SECRET_KEY' en 'local.py' el archivo de configuración de 'taiga-back'.

La configuración de los eventos de Taiga se ha completado.

Paso 6:configurar Circus y Gunicorn

Circus se utilizará para controlar y gestionar el proceso de 'taiga-back' y 'taiga-events'. 'taiga-events' se ejecuta como un script de café y 'taiga-back' se ejecuta bajo Gunicorn.

En este paso, agregaremos nuevos eventos de taiga y taiga-bac a circusd.

Para los 'taiga-events', cree un nuevo archivo 'taiga-events.ini' usando vim.

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

Pegue la configuración a continuación.

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

Y para el taiga-back, cree un nuevo archivo 'taiga.ini'.

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

Pegue la siguiente configuración allí.

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

A continuación, necesitamos crear un nuevo directorio de 'registros' para los procesos 'taiga-events' y 'taiga-back'.

su - taiga
mkdir -p ~/logs

Ahora reinicie el servicio circusd y verifique todos los procesos disponibles.

systemctl restart circusd
circusctl status

Y asegúrese de que 'taiga-events' y 'taiga-back' estén activos en la lista de procesos, como se muestra a continuación.

Paso 7:configurar el host virtual Taiga Nginx

En este paso, configuraremos el host virtual Nginx para Taiga.io. Crearemos un nuevo archivo de host virtual en el directorio 'conf.d' para nuestra instalación de Taiga.io.

Vaya al directorio de configuración de nginx y elimine el archivo de host virtual "predeterminado".

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

Ahora cree un nuevo archivo de host virtual 'taiga.conf' en el directorio 'conf.d'.

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

Pegue la siguiente configuración allí.

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.

Ahora ejecute la configuración de prueba nginx y asegúrese de que no haya ningún error. Luego reinicie el servicio del servidor web.

nginx -t
systemctl restart nginx

Se completó la configuración del host virtual Nginx para Taiga.io.

Paso 8 - Prueba

Abra su navegador web y visite el nombre de dominio Taiga.io. El mío es:http://taiga.hakase-labs.co

Y obtendrá la página de inicio predeterminada de taiga.

Ahora haga clic en el botón 'Iniciar sesión' en la parte superior derecha y obtendrá la página de inicio de sesión del administrador.

Inicie sesión con el usuario predeterminado 'admin ' y contraseña '123123 '.

Y obtendrá el resultado como se muestra a continuación.

A continuación, restableceremos la contraseña de administrador predeterminada.

Haga clic en el botón 'administrador' en la parte superior derecha, luego haga clic en 'Cambiar contraseña'.

Ahora escriba la contraseña anterior '123123' y la nueva contraseña que desee, luego haga clic en 'Guardar'.

La instalación y configuración de Taiga.io en Ubuntu 16.04 se completó con éxito.


Ubuntu
  1. Cómo instalar el software de gestión de proyectos Taiga.io en CentOS 7

  2. Cómo instalar el software Odoo ERP en Ubuntu 15.04

  3. Cómo instalar el software Odoo ERP en Ubuntu 16.04

  4. Cómo instalar el software de gestión de proyectos MyCollab en CentOS 7

  5. Cómo instalar Taiga Project Management en CentOS 8

Cómo instalar el software de gestión de proyectos Redmine en Ubuntu 20.04

Cómo instalar Thunderbird en Ubuntu 20.04

Instale Graylog en Ubuntu 20.04 LTS:un software de gestión de registros

Cómo instalar el proyecto Agora en Ubuntu 15.04

Cómo instalar digiKam - Software de gestión de fotos en Ubuntu

Cómo instalar el software de edición no lineal Lightworks en Ubuntu 22.04