Rocket.Chat es una plataforma gratuita, de código abierto, escalable, altamente personalizable y segura que te permite comunicarte y colaborar con tu equipo, compartir archivos y chatear en tiempo real. Es multiplataforma y se ejecuta en sistemas operativos móviles Linux, Windows, macOS, Android e iOS.
Es similar a Slack y cuenta con chat en vivo, conferencias de audio y video gratuitas, canales, acceso de invitados, compartir pantalla y archivos. Para garantizar una comunicación segura, admite sincronización de grupos LDAP, autenticación de dos factores (2FA), cifrado de extremo a extremo, inicio de sesión único y varios proveedores de OAuth.
Es importante destacar que al ser completamente de código abierto, puedes acceder a su código fuente para personalizarlo completamente, ampliarlo o agregar nuevas funcionalidades para satisfacer los requisitos de tu equipo o empresa.
En este artículo, aprenderás cómo instalar y configurar el servidor y cliente de Rocket.Chat en un sistema Linux.
Paso 1: Instalando Snaps en Linux
1. La forma más fácil de instalar Rocket.Chat es mediante el uso de Snaps – son compatibles con la mayoría, si no todas, las distribuciones modernas de Linux y son seguros porque se ejecutan confinados bajo un sandbox de seguridad restrictivo. Además, con snaps, también puedes actualizar automáticamente cuando haya disponible una nueva versión de un paquete.
Primero, asegúrese de tener instalado el paquete snapd en su sistema; de lo contrario, instálelo utilizando su gestor de paquetes predeterminado, como se muestra a continuación.
$ sudo apt install snapd #Ubuntu and Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7
2. Cuando la instalación esté completa, debe habilitar la unidad systemd que gestiona el socket principal de comunicación de snap de la siguiente manera. Tenga en cuenta que este comando iniciará el socket y lo habilitará para que se inicie en el arranque del sistema. En Ubuntu, esto debería hacerse automáticamente después de que la instalación del paquete esté completa.
$ sudo systemctl enable --now snapd.socket
Además, puede habilitar el soporte clásico de snap creando un enlace simbólico entre /var/lib/snapd/snap y /snap.
$ sudo ln -s /var/lib/snapd/snap /snap
Paso 2: Instalación de Rocket.Chat en Linux
3. Ahora que tiene instalado Snapd, ejecute el siguiente comando para instalar el rocketchat-server.
$ sudo snap install rocketchat-server
4. Cuando la instalación de snap esté completa, su servidor rocket.chat comenzará a ejecutarse y escuchará en el puerto 3000 de forma predeterminada. Abra un navegador web e ingrese la siguiente dirección para configurar rocket.chat en el sistema.
http://SERVER_IP:3000
5. Después de que cargue el asistente de configuración, proporcione el nombre completo del usuario administrativo, nombre de usuario, correo electrónico organizativo y contraseña.

6. A continuación, proporcione la información organizativa (tipo de organización, nombre, industria, tamaño, país y sitio web) y luego haga clic en Continuar.

7. A continuación, proporcione la información del servidor (nombre del sitio, predeterminado, tipo de servidor y también habilite o no la 2FA). Luego haga clic en Continuar.

8. En la siguiente página, registra el servidor. Hay dos opciones aquí, la predeterminada es utilizar las pasarelas y proxies preconfigurados proporcionados por Rocket.Chat (esta es la opción recomendada).
Alternativamente, puedes optar por mantenerlo independiente y crear cuentas con proveedores de servicios, actualizar la configuración preconfigurada y también recompilar las aplicaciones móviles con tus certificados privados. Y haz clic en Continuar.

La configuración está completa y tu espacio de trabajo está listo. Haz clic en Ir a tu espacio de trabajo.


Paso 3: Configuración de Proxy Inverso para Rocket.Chat
9. Un proxy inverso como NGINX o Apache te permite configurar la aplicación Rocket.Chat para que sea accesible a través de un dominio o subdominio (por ejemplo, http://chat.tecmint.com) en lugar de escribir la dirección del servidor y el puerto de la aplicación (por ejemplo, http://10.42.0.247:3000).
Además, Rocket.Chat es un servidor de aplicaciones de nivel intermedio que no maneja SSL/TLS. Un proxy inverso también te permite configurar certificados SSL/TLS para habilitar HTTPS.
Habilitar Proxy Inverso de Nginx para Rocket.Chat
10. Primero, instala el paquete NGINX si aún no está instalado en tu sistema.
$ sudo apt apt install nginx #Ubuntu/Debian $ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8 $ sudo yum install nginx #CentOS/RHEL 7
11. Una vez completada la instalación del paquete, inicia el servicio de Nginx, habilita automáticamente su inicio en el arranque del sistema y verifica su estado para asegurarte de que esté en funcionamiento.
$ sudo systemctl enable --now nginx $ sudo systemctl status nginx
12. A continuación, crea un archivo de bloque de servidor virtual para la aplicación Rocket.Chat en el directorio /etc/nginx/conf.d/, por ejemplo.
$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf
Luego, copia y pega la siguiente configuración en el archivo (reemplaza chat.tecmint.com con tu subdominio o dominio válido).
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.tecmint.com; # You can increase the limit if you need to. client_max_body_size 200M; error_log /var/log/nginx/chat.tecmint.com.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }
Guarda el archivo y ciérralo.
13. Luego, verifica la configuración de NGINX en busca de cualquier problema de sintaxis. Si está bien, reinicia el servicio de Nginx para aplicar los cambios recientes.
$ sudo nginx -t $ sudo systemctl restart nginx
Habilitar el proxy inverso de Apache para Rocket.Chat
14. Comienza por instalar el paquete Apache2 si aún no está instalado en tu sistema.
$ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7
15. A continuación, inicia y habilita el servicio de apache y verifica si está en funcionamiento de la siguiente manera.
----- On Ubuntu/Debian ----- $ sudo systemctl enable --now apache2 $ sudo systemctl status apache2 ----- On CentsOS/RHEL 7/8 ----- $ sudo systemctl enable --now httpd $ sudo systemctl status httpd
16. A continuación, crea un archivo de host virtual para la aplicación Rocket.Chat en el directorio /etc/apache2/sites-available/ o /etc/httpd/conf.d/, por ejemplo.
----- On Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf ----- On CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf
17. Copia y pega la siguiente configuración en él, reemplazando chat.tecmint.com con tu dominio válido.
<VirtualHost *:80> ServerAdmin [email protected] ServerName chat.tecmint.com LogLevel info ErrorLog /var/log/chat.tecmint.com_error.log TransferLog /var/log/chat.tecmint.com_access.log <Location /> Require all granted </Location> RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost>
Guarda el archivo y ciérralo.
18. En Ubuntu y Debian, habilita los módulos de apache2 requeridos y reinicia el servicio para aplicar los cambios recientes.
$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2
En CentOS/RHEL y Fedora, simplemente reinicia el servicio de apache.
# systemctl restart httpd
19. Ahora que todo está configurado correctamente, abre tu navegador y escribe la siguiente dirección. La aplicación Rocket.Chat debería ser accesible utilizando tu dominio configurado en el servidor proxy.
http://chat.tecmint.com

20. El siguiente paso crucial es añadir los beneficios de seguridad y privacidad de un certificado HTTPS a tu servicio de chat. Para un entorno de producción, recomendamos usar Let’s Encrypt, que es gratuito y confiable para la mayoría de los navegadores web modernos.
Ten en cuenta que Let’s Encrypt es automatizado: puedes usar certbot, una herramienta gratuita de código abierto para obtener e instalar automáticamente o simplemente obtener e instalar manualmente certificados de Let’s Encrypt en distribuciones de Linux y servidores web populares.
Paso 4: Instalación de Clientes Rocket.Chat en Escritorio
21. Por último, pero no menos importante, puedes descargar e instalar una aplicación de escritorio Rocket.Chat para Linux, Mac o Windows desde el sitio web del proyecto Rocket.Chat. También proporciona aplicaciones móviles para Android e iOS.
Para instalar la aplicación de escritorio en Linux, puedes descargar un paquete deb (x64) o rpm(x64) dependiendo de tu distribución de Linux.
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb OR $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm
22. Luego instala el paquete usando el gestor de paquetes dpkg o rpm según se muestra.
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
23. Una vez que la instalación del paquete esté completa, busca rocket.chat en el Menú del Sistema y ábrelo. Después de cargar, ingresa la URL de tu servidor para conectarte como se muestra en la siguiente captura de pantalla.
Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/