Taiga es un sistema de administración de proyectos de código abierto que lo ayuda a administrar proyectos simples y complejos para nuevas empresas. Es una aplicación sencilla, potente y personalizable especialmente diseñada para desarrolladores y diseñadores ágiles para gestionar el desarrollo del proyecto. El backend de Taiga está escrito en Python y Django, mientras que el frontend está escrito en JavaScript utilizando los marcos CoffeeScript y AngularJS. Ofrece varias características que incluyen colaboración en proyectos, tablero Kanban, seguimiento de errores, informes, seguimiento del tiempo, trabajos pendientes, wiki y más.
En este tutorial, le mostraremos cómo instalar el sistema de gestión de proyectos Taiga en CentOS 8.
Requisitos
- Un CentOS 8 VPS (usaremos nuestro plan SSD 2 VPS)
- Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)
Paso 1:Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor
Primero, inicie sesión en su servidor CentOS 8 a través de SSH como usuario raíz:
ssh root@IP_Address -p Port_number
Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace "root" con el nombre de usuario de la cuenta de administrador si es necesario.
Antes de comenzar, debe asegurarse de que todos los paquetes de CentOS instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:
dnf update -y
Paso 2:Primeros pasos
Primero, deberá configurar un nombre de host completo para su sistema. Puede configurarlo con el siguiente comando:
hostnamectl set-hostname taiga.example.com
Luego, instale otras dependencias requeridas con el siguiente comando:
dnf install epel-release redis nginx git unzip curl pwgen @python38 python38-devel virtualenv -y
A continuación, instale virtualenvwrapper con el siguiente comando:
pip3 install virtualenvwrapper
A continuación, inicie el servicio Nginx y Redis y habilítelos para que se inicien al reiniciar el sistema:
systemctl start nginx redis systemctl enable nginx redis
Paso 3:Instalar Node.js
De forma predeterminada, la última versión de Node.js no está disponible en CentOS 8. Por lo tanto, deberá habilitar el repositorio de Node.js en su sistema.
Puede habilitarlo con el siguiente comando:
dnf module enable nodejs:12
A continuación, instale Node.js con el siguiente comando:
dnf install nodejs -y
Después de instalar Node.js, verifique la versión instalada de Node.js con el siguiente comando:
node --version
Deberías obtener el siguiente resultado:
v12.18.4
Paso 4:Instalar y configurar RabbitMQ
A continuación, deberá instalar el servidor RabbitMQ en su sistema. De forma predeterminada, no está disponible en el repositorio predeterminado de CentOS 8.
Primero, agregue el repositorio RabbitMQ con el siguiente comando:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash
A continuación, instale el servidor RabbitMQ con el siguiente comando:
dnf install rabbitmq-server -y
Una vez instalado, inicie el servicio RabbitMQ y habilítelo para que se inicie al reiniciar el sistema:
systemctl start rabbitmq-server.service systemctl enable rabbitmq-server.service
A continuación, agregue Taiga iser, host virtual y configure los permisos con el siguiente comando:
rabbitmqctl add_user taiga password rabbitmqctl add_vhost taiga rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Paso 5:Instalar y configurar PostgreSQL
Puede instalar el servidor PostgreSQL ejecutando el siguiente comando:
dnf install @postgresql -y
Una vez completada la instalación, inicialice la base de datos con el siguiente comando:
/usr/bin/postgresql-setup initdb
A continuación, inicie el servicio PostgreSQL y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start postgresql systemctl enable postgresql
A continuación, establezca la contraseña para PostgreSQL con el siguiente comando:
passwd postgres
Se le pedirá que establezca una nueva contraseña como se muestra a continuación:
New password: Retype new password: passwd: all authentication tokens updated successfully.
A continuación, cambie el usuario a postgres y cree un usuario para taiga:
su - postgres createuser taiga
A continuación, inicie sesión en el shell de PostgreSQL con el siguiente comando:
[postgres@taiga ~]$ psql
Una vez que inicie sesión, debería obtener el siguiente resultado:
psql (10.14) Type "help" for help.
A continuación, establezca la contraseña para el usuario de taiga y cree una base de datos con el siguiente comando:
postgres=# ALTER USER taiga WITH ENCRYPTED password 'password'; postgres=# CREATE DATABASE taiga OWNER taiga;
A continuación, salga de PostgreSQL con el siguiente comando:
\q exit
Paso 6:Instalar y configurar Taiga Backend
Primero, deberá crear un usuario para ejecutar Taiga. Puedes crearlo con el siguiente comando:
adduser taiga passwd taiga
A continuación, agregue el usuario taiga al grupo de ruedas para obtener privilegios de sudo:
usermod -aG wheel taiga
A continuación, cambie el usuario a taiga con el siguiente comando:
su - taiga
A continuación, cree un directorio de registro:
mkdir -p ~/logs
A continuación, descargue la última versión del backend de Taiga con el siguiente comando:
git clone https://github.com/taigaio/taiga-back.git
Una vez descargado, cambie el directorio a taiga-back y consulte la versión estable:
cd taiga-back git checkout stable
A continuación, instale las dependencias requeridas con el siguiente comando:
sudo pip3 install -r requirements.txt
A continuación, migre la base de datos con el siguiente comando:
python3 manage.py migrate --noinput python3 manage.py loaddata initial_user python3 manage.py loaddata initial_project_templates python3 manage.py compilemessages python3 manage.py collectstatic --noinput
A continuación, cree un archivo de configuración local.py:
nano ~/taiga-back/settings/local.py
Agregue las siguientes líneas:
from .common import * MEDIA_URL = "http://taiga.example.com/media/" STATIC_URL = "http://taiga.example.com/static/" SITES["front"]["scheme"] = "http" SITES["front"]["domain"] = "taiga.example.com" SECRET_KEY = "your-secret-key" 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:password@localhost:5672/taiga"}
Guarde y cierre el archivo y luego inicie el servidor para verificar la instalación:
python3 manage.py runserver
Si todo está bien, debería obtener el siguiente resultado:
Trying import local.py settings… Trying import local.py settings… Performing system checks… System check identified no issues (0 silenced). November 15, 2020 - 08:50:41 Django version 2.2.17, using settings 'settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Press CTRL+C to stop the server.
Paso 7:configurar Taiga Frontend
Primero, cambie el usuario a taiga y descargue la última versión de la interfaz de taiga con el siguiente comando:
su - taiga git clone https://github.com/taigaio/taiga-front-dist.git
Una vez descargado, cambie el directorio a taiga frontend y verifique la versión estable:
cd taiga-front-dist git checkout stable
A continuación, copie el archivo de configuración de muestra con el siguiente comando:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
A continuación, edite el archivo de configuración:
nano ~/taiga-front-dist/dist/conf.json
Defina su API y eventsUrl como se muestra a continuación:
{ "api": "http://taiga.example.com/api/v1/", "eventsUrl": "ws://taiga.example.com/events", "eventsMaxMissedHeartbeats": 5, "eventsHeartbeatIntervalTime": 60000, "eventsReconnectTryInterval": 10000, "debug": true, "debugInfo": false, "defaultLanguage": "en", "themes": ["taiga"], "defaultTheme": "taiga", "defaultLoginEnabled": true, "publicRegisterEnabled": true, "feedbackEnabled": true, "supportUrl": "https://tree.taiga.io/support/", "privacyPolicyUrl": null, "termsOfServiceUrl": null, "GDPRUrl": null, "maxUploadFileSize": null, "contribPlugins": [], "tagManager": { "accountId": null }, "tribeHost": null, "importers": [], "gravatar": false, "rtlLanguages": ["fa"] }
Guarde y cierre el archivo cuando haya terminado.
Paso 8:configurar los eventos de Taiga
Primero, cambie el usuario a taiga y descargue la última versión de los eventos de taiga:
su - taiga git clone https://github.com/taigaio/taiga-events.git taiga-events
Una vez descargado, cambia el directorio a taiga events e instala todas las dependencias requeridas con el siguiente comando:
cd taiga-events npm install
A continuación, copie el archivo de configuración de muestra:
cp config.example.json config.json
A continuación, edite el archivo de configuración y defina su URL y clave secreta de RabbitMQ:
nano config.json
Agregue las siguientes líneas:
{ "url": "amqp://taiga:password@localhost:5672/taiga", "secret": "your-secret-key", "webSocketServer": { "port": 8888 } }
Guarde y cierre el archivo y luego salga del usuario taiga con el siguiente comando:
exit
Paso 9:Cree un archivo de servicio de Systemd para Taiga
A continuación, deberá crear un archivo de servicio systemd para administrar los servicios de Taiga.
Primero, cree un archivo de servicio systemd para eventos de taiga con el siguiente comando:
nano /etc/systemd/system/taiga_events.service
Agregue las siguientes líneas:
[Unit] Description=taiga_events After=network.target [Service] User=taiga WorkingDirectory=/home/taiga/taiga-events ExecStart=/bin/bash -c "node_modules/coffeescript/bin/coffee index.coffee" Restart=always RestartSec=3 [Install] WantedBy=default.target
Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio taiga_events y habilítelo para que se inicie al reiniciar el sistema:
systemctl start taiga_events systemctl enable taiga_events
A continuación, cree un archivo de servicio systemd para taiga con el siguiente comando:
nano /etc/systemd/system/taiga.service
Agregue las siguientes líneas:
[Unit] Description=taiga_back After=network.target [Service] User=taiga Environment=PYTHONUNBUFFERED=true WorkingDirectory=/home/taiga/taiga-back ExecStart=/usr/local/bin/gunicorn --workers 4 --timeout 60 -b 127.0.0.1:8001 taiga.wsgi Restart=always RestartSec=3 [Install] WantedBy=default.target
Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Taiga y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start taiga systemctl enable taiga
Paso 10:Configurar Nginx para Taiga
A continuación, deberá configurar Nginx para servir a Taiga. Primero, cree un archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/conf.d/taiga.conf
Agregue las siguientes líneas:
server { listen 80; server_name taiga.example.com 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; } # 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; } # 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; } }
Guarde y cierre el archivo, luego reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
A continuación, proporcione los permisos necesarios a la Taiga con el siguiente comando:
chown -R taiga:taiga /home/taiga/ chmod o+x /home/taiga/ chmod o+rx ~taiga/taiga-back/media
Paso 11:Acceda a la interfaz web de Taiga
Ahora, abra su navegador web y acceda a la interfaz web de Taiga usando la URL http://taiga.example.com. Será redirigido a la página de inicio de sesión de Taiga:
Proporcione el nombre de usuario predeterminado como administrador y la contraseña como 123123 y luego haga clic en Iniciar sesión botón. Debería ver el tablero predeterminado de Taiga en la siguiente pantalla:
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS Linux,
en cuyo caso, simplemente puede pedirle a nuestros administradores expertos de Linux que configuren esto por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.