Instalar un servidor Rocket.Chat en Ubuntu

Instalar un servidor Rocket.Chat en Ubuntu y derivados.

Rocket.Chat es un excelente servidor de web-chat opensource, y actualmente es la mejor alternativa auto alojada a Slack. Ofrece un montón de opciones como por ejemplo, chat, vídeo, llamadas de voz, intercambio de archivos y un gran sistema de ayuda.

Algunas de las mejores características:

  • Sistema de traducción en tiempo real.
  • Integraciones entrantes y salientes de WebHook.
  • Chat en vivo / Centro de llamadas / Llamadas de audio.
  • APIs muy potentes.
  • Permite subir y compartir archivos con el resto de usuarios.
  • Tiene aplicación web, también para escritorio Linux, Android, iOS, Windows, Mac.
  • App para IOS y Android.
  • Monitoreo remoto de vídeo.
  • Temas personalizados, emojis, sonidos y cualquier activo de tu empresa.
  • etc…

Para realizar este articulo usamos un servidor con Ubuntu 18.04 instalado.

 

Instalar un servidor Rocket.Chat

Antes de instalar el servidor Rocket.Chat actualizamos nuestro sistema.

apt update && apt upgrade

Rocket.Chat requiere un servidor de base de datos MongoDB, versión 3.2 o superior. Para instalar la ultima versión de MongoDB debemos agregar el repositorio correspondiente.
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Instalamos MongoDB.
apt update && apt install -y mongodb-org curl graphicsmagick

Ahora debemos crear un archivo especifico para que MongoDB inicie como servicio.
nano /etc/systemd/system/mongodb.service

Copia y pega en el archivo lo siguiente.
[Unit]
Description=High-performance, schema-free document-oriented database server
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Guarda el archivo y cierra el editor nano.

Recargamos los demonios.

systemctl daemon-reload

Iniciamos MongoDB y habilitamos su inicio con el sistema.
systemctl start mongodb

systemctl enable mongodb

 

Bueno… ya tenemos el servidor de bases de datos en marcha, así que continuamos.

Rocket.Chat requiere que tengamos instalado Node.js (se recomienda la versión 8.11.3) y el gestor de paquetes npm, procedemos.

apt -y install node.js

apt install npm build-essential

npm install -g inherits n && n 8.11.3

Agregamos un nuevo usuario (rocketchat) para no utilizar Rocket.Chat como root.
useradd -m -U -r -d /opt/rocketchat rocketchat

Cambiamos al usuario que acabamos de crear.
su - rocketchat

Descargamos la última versión estable de Rocket.Chat.
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Descomprime el paquete.
tar zxvf rocket.chat.tgz

Cambiamos el nombre de la carpeta de la aplicación.
mv bundle rocketchat

Nos movemos de directorio e instalamos las dependencias necesarias.
cd rocketchat/programs/server

npm install

Establecemos las siguientes variables (con tu dominio real).
cd /opt/rocketchat/rocketchat
export ROOT_URL=http://tudominio.es:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export PORT=3000

 

En este momento ya tenemos todo preparado para iniciar nuestro servidor chat.

node main.js

Si todo a salido bien, veras una pantalla similar a esta…
+-----------------------------------------------------------------------+
|                             SERVER RUNNING                            |
+-----------------------------------------------------------------------+
|                                                                       |
|  Rocket.Chat Version: 1.2.1                                          |
|       NodeJS Version: 8.11.3 - x64                                    |
|             Platform: linux                                           |
|         Process Port: 3000                                            |
|             Site URL: http://tudominio.com:3000/                     |
|     ReplicaSet OpLog: Disabled                                        |
|          Commit Hash: 202a465f1c                                      |
|        Commit Branch: HEAD                                            |
|                                                                       |
+-----------------------------------------------------------------------+

Para que Rocket.Chat se inicie como servicio sigue los pasos siguientes.
nano  /etc/systemd/system/rocketchat.service

Agregamos lo siguiente (asegúrate de insertar el nombre de tu dominio).
[Unit]

Description=RocketChat Server
After=network.target remote-fs.target nss-lookup.target mongod.target

[Service]
ExecStart=/usr/local/bin/node /opt/rocketchat/rocketchat/main.js    
Restart=always                                               
RestartSec=10                                                
StandardOutput=syslog                                        
StandardError=syslog                                         
SyslogIdentifier=nodejs-example
#User=
#Group=
Environment=NODE_ENV=production PORT=3000 ROOT_URL=http://tudominio.com MONGO_URL=mongodb://localhost:27017/rocketchat

[Install]
WantedBy=multi-user.target

Guarda el archivo y cierra el editor.

Reinicia el demonio.

systemctl daemon-reload

Iniciamos Rocket.Chat y habilitamos su inicio con el sistema.
systemctl enable rocketchat

systemctl start rocketchat

Ya podemos acceder a Rocket.Chat y completar la instalación. Desde tu navegador web favorito accede a la siguiente url.

http://tudominio.com:3000

El asistente de instalación te guiará a través de la configuración desde su usuario administrador.

Una vez ya lo tengas todo instalado y configurado, te recomiendo que descargues la aplicación de escritorio para interactuar con el resto de usuarios.

Al iniciar la aplicación de escritorio por primera vez te pedirá la url del servidor de chat al que te quieres conectar. La url «https://open.rocket.chat» es el chat de la comunidad Rocket.Chat.

Inicio Rocketchat URL del servidor

Inicio Rocket.chat URL del servidor

Creamos un usuario.

Registro de usuario en Rocketchat

Registro de usuario en Rocketchat

Chat demo.

Rocketchat demo

Rocketchat demo

Para más información sobre cómo usar y configurar Rocket.Chat, revisa la documentación oficial.

 

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog,  foro o redes sociales.

 

2 Comentarios

  1. Jose Daniel
    04/07/2019

Agregar comentario