Cómo instalar y configurar Wekan Trello-like Kanban en CentOS 7

Wekan es un tablero kanban de código abierto similar a Trello y basado en el framework Javascript Meteor. Es una herramienta de gestión basada en la web que te permite crear un tablero para la colaboración en tus proyectos. Con el tablero wekan, sólo tienes que invitar a un miembro al tablero y ya está. En el tablero de wekan, puedes crear una gestión de tareas y tareas pendientes basada en tarjetas, y luego asignarla al miembro.

En este tutorial, te mostraré paso a paso cómo instalar y configurar Wekan Trello-like Kanban en un servidor CentOS 7. Utilizaremos MongoDB como base de datos y el servidor web Nginx como Proxy inverso para la aplicación Wekan. Este tutorial cubrirá algunos temas en detalle, incluyendo la seguridad del servidor de base de datos MongoDB y la configuración de Nginx como Proxy inverso.

Requisitos previos

  • Servidor CentOS 7
  • Privilegios de root

Qué haremos

  1. Instalar Nodejs
  2. Instalar y configurar MongoDB
  3. Instalar Wekan
  4. Ejecutar Wekan como servicio en CentOS 7
  5. Instalar y configurar Nginx como proxy inverso para Wekan
  6. Prueba de

Paso 1 – Instalar NodeJS utilizando el Gestor de Versiones de Node NVM

Wekan es una aplicación basada en nodejs, y requiere la versión 4.8 de nodejs. En este tutorial, no instalaremos nodejs desde el repositorio de CentOS, sino que instalaremos nodejs 4.8 utilizando el Gestor de Versiones de Nodos nvm.

Antes de instalar nodejs, añade un nuevo usuario del sistema ‘wekan’ utilizando el siguiente comando.

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

Inicia sesión con el usuario ‘wekan’, luego descarga y ejecuta el script instalador de nvm.

su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

Instalar NodeJS

El comando instalará nvm bajo el usuario ‘wekan’ y añadirá una nueva configuración al archivo de configuración ‘.bashrc’. Ahora vuelve a cargar el archivo ‘.bashrc’.

source ~/.bashrc

Prueba utilizando el comando nvm como se indica a continuación.

command -v nvm
nvm --version

Ahora puedes ver nvm ‘0.33.8’ instalado en el sistema.

A continuación, instala nodejs 4.8 utilizando el siguiente comando nvm.

nvm install v4.8
nvm use node

Una vez completada la instalación, comprueba la versión de nodejs.

node -v

Y verás que nodejs 4.8 está instalado en el servidor CentOS 7, bajo el usuario ‘wekan’.

nodejs 4.8 está instalado

Paso 2 – Instalar y configurar MongoDB

En este paso, instalaremos MongoDB 3.2.x utilizando el repositorio oficial, y luego configuraremos la seguridad básica para el servidor de bases de datos NoSQL MongoDB.

Ve al directorio ‘/etc/yum.repos.d./ y crea un nuevo archivo .repo utilizando el editor vim.

cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo

Pega allí el siguiente repositorio de MongoDB.

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

Guarda y sal.

Ahora instala MongoDB utilizando el siguiente comando yum.

yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

Una vez completada la instalación, inicia el servicio MongoDB y haz que se inicie al arrancar el sistema.

systemctl start mongod
systemctl enable mongod

MongoDB 3.2 ha sido instalado en el sistema CentOS 7.

Instalar y configurar MongoDB

A continuación, tenemos que configurar la autenticación de MongoDB. Entra en el shell de mongo y crea un nuevo usuario llamado ‘admin’ para el acceso de superusuario.

Accede al shell de mongo.

mongo

Ahora crea un nuevo usuario ‘admin’ con la contraseña ‘MyAdminPassword’ con el rol de ‘root’. Ejecuta las siguientes consultas de MongoDB.

db.createUser(
  {
    user: "admin",
    pwd: "MyAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

El usuario administrador de MongoDB ha sido creado.

Configurar el usuario de MongoDB

Ahora tenemos que editar el archivo de configuración ‘/etc/mongod.conf’ para habilitar la autenticación.

Edita el archivo de configuración ‘mongod.conf’ utilizando vim.

vim /etc/mongod.conf

Descomenta la línea ‘security’ y añade la configuración como se muestra a continuación.

security:
 authorization: enabled

Guarda y sal.

Ahora reinicia el servicio MongoDB.

systemctl restart mongod

La autenticación de MongoDB ha sido habilitada.

A continuación, tenemos que crear una nueva base de datos y un nuevo usuario para Wekan. Crearemos una nueva base de datos llamada ‘wekan’ con el usuario ‘wekan’ y la contraseña ‘WekanPassword’.

Accede al shell de mongo como usuario admin.

mongo -u admin -p

Escribe la contraseña de administrador ‘MyAdminPassword’.

Y cuando obtengas el shell de mongo, ejecuta las consultas de MongoDB que aparecen a continuación.

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "WekanPassword",
      roles: ["readWrite"]
    }
 )

La base de datos y el usuario para la instalación de wekan han sido creados.

El usuario ha sido añadido con éxito

Paso 3 – Instalar Wekan

Inicia sesión como el usuario wekan.

su - wekan

Descarga el código fuente de wekan utilizando el comando wget y extráelo.

wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz

Y obtendrás un nuevo directorio llamado ‘bundle’ – ve a ese directorio e instala las dependencias de wekan usando el comando npm como se muestra a continuación.

cd bundle/programs/server
npm install

Una vez completada la instalación de todas las dependencias, obtendrás el resultado que se muestra a continuación.

Instalar las dependencias de Wekan

A continuación, intentaremos ejecutar Wekan en el sistema.

Ejecuta los siguientes comandos para configurar la variable de entorno para la aplicación Wekan.

export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=8000

Ahora ve al directorio ‘bundle’ y ejecuta la aplicación wekan.

cd ~/bundle
node main.js

Corre Wekan

El servidor Wekan se ejecuta ahora en el puerto 8000. Abre tu navegador web y escribe la dirección de tu servidor con el puerto 8000.

http://192.168.33.10:8000/

Y obtendrás la página de inicio de sesión de Wekan como se indica a continuación.

Inicio de sesión en Wekan

Ahora Wekan está instalado con éxito en el servidor CentOS 7.

Paso 4 – Ejecutar Wekan como servicio en CentOS 7

Vamos a ejecutar la aplicación wekan como un servicio en el sistema Ubuntu. Así que necesitamos crear un nuevo archivo de servicio en el directorio del sistema systemd.

Antes de crear el archivo de servicio de wekan, tenemos que crear el archivo de variables de entorno.

Inicia sesión como el usuario wekan.

su - wekan

Ve al directorio ‘bundle/’ y crea un nuevo archivo de variables de entorno ‘.env’ utilizando vim.

cd bundle/
vim .env

Pega allí la siguiente configuración.

MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=8000
HTTP_FORWARDED_COUNT=1

Guarda y sal.

A continuación, vuelve a tu terminal raíz.

Ve al directorio ‘/etc/systemd/system’ y crea un nuevo archivo de servicio ‘wekan.service’.

cd /etc/systemd/system
vim wekan.service

Pega allí la siguiente configuración.

[Unit]
Description=Wekan Server
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target

Guarda y sal.

Recarga el sistema systemd con el comando systemctl.

systemctl daemon-reload

Inicia el servicio wekan y habilita su lanzamiento cada vez que se inicie el sistema.

systemctl start wekan
systemctl enable wekan

Ahora comprueba el servicio wekan utilizando los siguientes comandos.

netstat -plntu
systemctl status wekan

Y el siguiente es el resultado en nuestro caso.

Ejecutar Wekan como servicio

Wekan se ejecuta ahora como un servicio en el puerto 8000 en un sistema CentOS 7.

Paso 5 – Instalar y configurar Nginx como proxy inverso para Wekan

En este paso, instalaremos el servidor web Nginx y lo configuraremos como proxy inverso para el servicio wekan que se ejecuta bajo el puerto 8000.

Antes de instalar el servidor web Nginx, añade un nuevo repositorio EPEL (Extra Package for Enterprise Linux).

yum -y install epel-release

Ahora instala nginx desde el repositorio epel utilizando el siguiente comando yum.

yum -y install nginx

Una vez completada la instalación, ve al directorio de configuración ‘/etc/nginx/’ y crea un nuevo archivo de host virtual ‘wekan.conf’ en el directorio ‘conf.d’.

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

Pega allí la siguiente configuración del host virtual.

server {
    server_name wekan.hakase-labs.co;
    listen 80;

    access_log /var/log/nginx/wekan-access.log;
    error_log /var/log/nginx/wekan-error.log;

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $host;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection 'upgrade';
        proxy_cache_bypass $http_upgrade;
        proxy_pass         http://127.0.0.1:8000;
    }
}

Guarda y sal.

Prueba la configuración de nginx y asegúrate de que no hay ningún error.

nginx -t

Si no hay ningún error, inicia el servicio Nginx y haz que se inicie al arrancar el sistema.

systemctl start nginx
systemctl enable nginx

Ahora comprueba el puerto HTTP con el comando netstat, y asegúrate de que está en estado «LISTEN».

netstat -plntu

La configuración del host virtual Nginx para Wekan se ha completado.

Nginx como proxy inverso

Paso 6 – Prueba

Abre tu navegador web y escribe la url de instalación de Wekan en la barra de direcciones.

http://wekan.hakase-labs.co/

Y serás redirigido a la página de inicio de sesión – haz clic en el enlace «Registro».

Acceder a Wekan

Ahora escribe tu nombre de usuario, tu correo electrónico, tu contraseña y deja en blanco el código de invitación.

Crear una cuenta

Haz clic en el botón azul «Registro».

Aparecerá el mensaje «Error interno del servidor». Déjalo y vuelve a tu terminal. Porque vamos a activar el primer usuario desde el terminal.

Abre tu terminal y entra en el shell de mongo como usuario ‘wekan’.

mongo -u wekan -p --authenticationDatabase "wekan"

Ahora activa el usuario mediante las siguientes consultas.

use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})

Sal del shell de mongo.

Salir del shell de Mongo

Vuelve a tu navegador y abre de nuevo la instalación de la url de Wekan.

http://wekan.hakase-labs.co/

Escribe tu nombre de usuario y tu contraseña, y haz clic en el botón «Iniciar sesión».

Puedes registrarte

Y obtendrás el panel de usuario de Wekan.

Panel de control de Wekan

A continuación se muestra el proyecto de ejemplo de Wekan.

Proyecto de ejemplo de Wekan

La instalación de Wekan en un sistema CentOS 7 con MongoDB y un servidor web Nginx se ha completado con éxito.

Referencia

También te podría gustar...