Instalación de un chat corporativo Rocket.chat en Linux

Anonim

Rocket.chat es un chat corporativo de código abierto escalable gratuito diseñado con Meteor. Rocket.Chat se puede considerar un análogo de la holgura, que se puede implementar en su servidor y conectarse a él de los clientes en Linux, Windows, MacOS, Android e IOS.

Instalación de un chat corporativo Rocket.chat en Linux 18002_1

Funciones Rocket.Chat

  • Chat en tiempo real
  • Conferencia de audio
  • Videoconferencia
  • Canales
  • Invitado
  • Pantalla de transmisión
  • Transferencia de archivos
  • API con todas las funciones

Para garantizar la seguridad utilizada:

  • Sincronización de grupo LDAP
  • Autenticación de dos factores de 2FA
  • A través del cifrado
  • SSO de entrada única.
  • Múltiples proveedores de autenticación de outh

Demos que instalar y configurar el servidor y el cliente Rocket.chat en Linux.

Paso 1. Instalación de Snap in Linux

Para la simplicidad, utilizaremos SNAPS PAQUETES Management System. En primer lugar, debe instalar el paquete SNAPD utilizando el Administrador de paquetes.

$ sudo apt install snapd #ubuntu y debian $ sudo dnf instalar snapd #fedora 22 + / centos / rhel 8 $ sudo yum install snapd # centos / rhel 7

A continuación, debe habilitar el módulo SYSTEMSD que controla la toma de comunicación instantánea principal. Este comando iniciará el zócalo y le permitirá comenzar cuando se carga el sistema.

$ Sudo systemctl habilitar --Now Snapdd.socket

Paso 2: Instalación de Rocket.chat en Linux

Para instalar Rocketchat-Server, Ejecutar:

$ sudo Snap Instale Rocketchatchat-Server

Cuando se completa la instalación a través de Snap, Rocket.Chat Server comenzará a trabajar y escuchará el puerto 3000. A continuación, abra el navegador web e ingrese la siguiente dirección para configurar Rocket.chat a través de GUI.

http: // server_ip: 3000

Después de descargar el asistente de configuración, especifique los siguientes parámetros: el nombre completo del administrador, el nombre de usuario, la dirección de correo electrónico de la organización y la contraseña.

Instalación de un chat corporativo Rocket.chat en Linux 18002_2

A continuación, debe especificar información sobre la organización: Tipo de organización, nombre, industria, tamaño, país y sitio.

Instalación de un chat corporativo Rocket.chat en Linux 18002_3

Luego, debe especificar la información del servidor: el nombre del sitio, el idioma, el tipo de servidor y la conmutación o desactivación de la autenticación de dos factores de 2FA.

Instalación de un chat corporativo Rocket.chat en Linux 18002_4

En la página siguiente, debe registrar el servidor. Aquí hay dos opciones. El primero es usar las puertas de enlace preestablecidas y los proxies proporcionados por Rocket.Chat en segundo lugar, guardar la autonomía y crear cuentas de los proveedores de servicios, actualizar los parámetros preestablecidos y recompilar aplicaciones móviles con sus certificados privados.

Instalación de un chat corporativo Rocket.chat en Linux 18002_5

Configuración completada, y su área de trabajo está lista, ahora debe hacer clic en Ir a su espacio de trabajo (Ir al espacio de trabajo)

Instalación de un chat corporativo Rocket.chat en Linux 18002_6

Así es como se ve.

Instalación de un chat corporativo Rocket.chat en Linux 18002_7
Paso 3: Configuración de proxy inversa para Rocket.chat

El servidor proxy inverso, como NGINX o Apache, le permite configurar la aplicación Rocket.chat para acceder a través de un dominio o subdominio. Rocket.Chat es un servidor de aplicaciones de nivel medio que no admite SSL / TLS. El proxy inverso le permitirá personalizar los certificados SSL / TLS para encender HTTPS.

Proxy inverso nginx para rocket.chat

Primero instale nginx.

$ sudo apt apt instalar nginx # ubuntu / debian $ sudo dnf instalar nginx #fedora 22 + / centos / rhel 8 $ sudo yum install nginx # centos / rhel 7

A continuación, ejecute el servicio NGINX, encienda su inicio automático al cargar el sistema y verifique su estado

$ sudo systemctl habilitar - NOVOW NGINX $ sudo systemctl estado nginx

Luego, cree un archivo de servidor virtual de bloque para la aplicación Rocket.chat, por ejemplo, en el directorio /etc/nginx/conf.d/.

$ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf

A continuación, inserte la configuración en este archivo reemplazando el dominio a su y ahorre.

Backend upstream {servidor 127.0.0.1:3000; } Server {escuchar 80; Server_name chat.merionet.com; # Puede aumentar el límite si lo necesita. Client_max_body_Size 200m; error_log /var/log/nginx/chat.merionet.com.log; Ubicación / {proxy_pass http: // backend /; proxy_http_version 1.1; Actualización Proxy_Set_Header $ http_upgrade; Conexión Proxy_Set_Header "Actualización"; proxy_set_header host $ http_host; proxy_set_header x-real-ip $ remote_ADDR; proxy_set_header X-reenviado-para $ proxy_add_x_forwarded_for; proxy_set_header x-forward-proto http; proxy_set_header x-nginx-proxy verdadero; proxy_redirect off; }}

Finalmente, verifique la sintaxis y reinicie el servicio NGINX.

$ sudo nginx -t $ sudo systemctl reiniciar nginx

Proxy Apache inverso para Rocket.Chat

Instale el paquete Apache2

$ sudo apt install apache2 # ubuntu / debian $ sudo dnf instalar httpd #fedora 22 + / centos / rhel 8 $ sudo yum install httpd # centos / rhel 7

A continuación, ejecute y habilite el servicio Apache y verifique si se está ejecutando y funcionando.

------ en Ubuntu / Debian ----- $ sudo systemctl habilitar --now apache2 $ sudo systemctl estado apache2 ----- en centsos / rhel 7/8 ----- $ sudo systemctl habilitar - ahora httpd $ sudo systemctl status httpd

Luego, cree un archivo de host virtual para la aplicación Rocket.chat, por ejemplo, en el directorio / etc / apache2 / sitio / o /etc/httpd/conf.d/.

----- En Ubuntu / Debian ----- $ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf ----- en centsos / rhel 7/8 -------- $ sudo vim /etc/httpd/conf.d/chot.merionet.com.conf

A continuación, inserte la configuración en este archivo reemplazando el dominio a su y ahorre.

Serveradmin [email protected] servername chat.merionet.com Loglevel Información de información /var/log/chat.merionet.com_error.log TransferLog /var/log/chat.merionet.com_access.log requiere que todos puedan conceder a rewriteengine en rewitecond% {http: Actualizar} = Websocket [NC] Rewriterule /(.*) WS: // localhost: 3000 / $ 1 [p, l] rewritecond% {http: upproud}! = Websocket [NC] rewriterule /(.*) http: / / Localhost: 3000 / $ 1 [p, l] proxypassreverse / http: // localhost: 3000 /

En Ubuntu y Debian, habilite los módulos Apache2 necesarios y reinicie el servicio.

$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod reescribe $ sudo systemctl reiniciar apache2

En Centlos / Rhel y Fedora reinician el servicio Apache.

# SystemCTL Reinicie httpd

Ahora abra el navegador e ingrese su dirección configurada y la aplicación Rocket.chat estará disponible a través de su dominio configurado en el servidor proxy.

http://chat.merionet.com.

Instalación de un chat corporativo Rocket.chat en Linux 18002_8
Paso 4: Instalación de clientes Rocket.chat

Las aplicaciones de clientes se pueden descargar desde el sitio web oficial Rocket.chat. Para instalar una aplicación de escritorio en Linux, descarga el paquete DEB (X64) o RPM (X64) dependiendo de su distribución de Linux.

$ wget -c https://github.com/rocketchat/rocket.chat.electron/releses/Download/2.17.7/Rocketchat_2.17.7_amd64.deb

O

$ wget -c https://github.com/rocketchat/rocket.chat.electron/releses/Download/2.17.7/Rocketchat-2.17.7.x86_64.rpm

Siguiente paquete utilizando DPKG o RPM Packet Manager

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb # ubuntu / debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm # centos / redhat

Instalación manual Rocket.Chat.

Si no desea instalar Rocket.Chat a través de las broches, puede hacerlo manualmente.

Instalación node.js.

Primero, actualice la lista de paquetes del sistema:

Actualización de sudo apt.

Establezca NOde.js, NPM y todas las demás dependientes necesarias para crear paquetes NPM del código fuente:

SUDO APT Instale Nodejs NPM Build-Essential Curl Software-Properties-Common GraphicsMagick

Usaremos el paquete N, NPM, que le permite administrar las versiones de NODE.J.J. Comando a continuación para instalar n y node.js:

Sudo NPM install -g hereda n sudo n 8.11.3

Instalación de MongoDB.

Mongodb es una base de datos NOSQL orientada a los documentos, que utiliza Rocket.chat para almacenar datos.

Importe la clave pública de MongoDB y encienda el repositorio oficial de MongoDB:

Sudo apt-key adv --yyserver hkp: //keyserver.ubuntu.com: 80 --recv 9da31620334bd75d9dcb49f368818cb49f36881818c72e52529d4 sudo add-apt-repository 'deb [arch = amd64] https://repo.mongodb.org/Apt/ubuntu bionic /mongodb-org/4.0 multiverso '

Después de encender el repositorio APT, actualice la lista de paquetes e instale MongoDB escribiendo:

SUDO APT Actualizar sudo apt instalar MongoDB-ORG

Luego encienda y inicie el servicio de MongoDB:

Sudo systemctl start mongod sudo systemctl habilitar mongod

Creando un nuevo usuario del sistema

Ahora necesita crear un nuevo usuario y un grupo llamado Rocket, que ejecutará las instancias de Rocket.chat.

Sudo useradd -m -u -r -d / opt / cohete cohete

Agregue un usuario de WWW-DATA a un nuevo grupo de usuarios y cambie los derechos de acceso al directorio / opt / rocket para que NGINX pueda acceder a Rocket.chat Installation:

Sudo usermod -a -g cohete www-data sudo chmod 750 / opt / cohet

Instalando Rocket.chat.

Cambiar al usuario de cohetes

Sudo su - cohete

Cargue la última versión estable de Rocket.chat usando CURL:

Curl -l https://releses.rocket.chat/lateest/download -o rocket.chat.tgz

Después de completar la descarga, retire el archivo y cambie el nombre del directorio en Rocket.chat:

TAR ZXF ROCKET.CHAT.TGZ MV BUNDLE ROCKET.CHAT

Vaya al directorio Rocket.chat/programs/server e instale todos los paquetes NPM necesarios:

CD Rocket.Chat/Programs/Server NPM Install

Para probar nuestra instalación antes de crear el módulo SYSTEMD y configurar el proxy inverso con NGINX o Apache, instalaremos las variables de entorno necesarias e instalaremos el servidor Rocket.chat

Puerto de exportación = 3000 Exportar Root_URL = http: //0.0.0.0: 3000 / Exportar Mongo_URL = MongoDB: // LocalHost: 27017 / Rocketchat

Vuelva al directorio Rocket.chat y ejecute el servidor Rocket.chat ingresando los siguientes comandos:

Cd ../../ nodo main.js

Si no hay errores, debe ver la siguiente conclusión:

? + ----------------------------------------------- +? | Servidor en ejecución | ? + ----------------------------------------------- +? | | ? | Rocket.Chat versión: 0.71.1 | ? | Versión NODEJS: 8.11.3 - X64 | ? | Plataforma: Linux | ? | Puerto de proceso: 3000 | ? | URL del sitio: http: //0.0.0: 3000 / | ? | Replicaset Oplog: Discapacitado | ? | Cometer hash: E73DC78FFD | ? | Sucursal de cometer: cabeza | ? | | ? + ------------------------------------------------- +.

Detenga el servidor Rocket.chat utilizando CTRL + C y regrese a su usuario sudo escribiendo la salida.

Creando un módulo de sistemas

Para ejecutar Rocket.Chat como servicio, debe crear un archivo del módulo Rocketchat.Service en el / etc / Systemd / System / System.

sudo nano /etc/rsystemd/system/rocketchat.service.

Inserte el siguiente código:

[Unidad] Descripción = Rocket.chat Server After = Network.Target NSS-LookUP.Target Mongod.Target [Service] StandardOutput = Syslog StandardError = Syslog Syslogidentifier = Rocketchat User = Rocketchat User = Rocketchat Medio ambiente = Mongo_URL = MongoDB: // localhost: 27017 / Rocketchat Root_url = https: //chat.merionet.com Puerto = 3000 Execstart = / usr / local / bin / nodo /opt/rocket/rocket.chat/main.js [install] wantedby = Multi-user.target

Informe a Systemd que hemos creado un nuevo archivo de módulos y ejecute el servicio Rocket.Chat realizando:

Sudo systemctl daemon-recargar sudo systemctl start rocketchat

Compruebe el estado del servicio:

SYDO Systemctl Status Rocketchat

La conclusión debería ser así:

* Rocketchat.Service - Rocket.chat Server Cargado: cargado (/etc/systemd/system/rocketchat.service; deshabilitado; proveedor preestablecido: habilitado) activo: activo (en ejecución) desde miércoles 2018-11-07 14:36:24 PST ; Hace 5s PRINCIPAL PID: 12693 (nodo) Tareas: 10 (Límite: 2319) CGROUP: / System.Slice / Rocketchat.Service` -12693 / USR / local / bin / nodo /opt/rocket/rocket.chat/main.js

Finalmente, encienda el inicio automático del servicio Rocket.chat durante la descarga:

Sudo systemctl habilita rocketchat

Finalizar, instalamos Rocket.chat manualmente, ahora puede ir a configurar el proxy inverso y la inicialización del sistema que se describió a partir del paso 3.

Resultados

En este manual, aprendió cómo instalar Rocket.chat en Linux y cómo configurar NGINX y Apache como un proxy inverso.

Para obtener más información sobre Rocket.Chat, visite la página de documentación.

Lee mas