Rocket.Chat es una aplicación de chat gratuita, de código abierto y autohospedada que le permite alojar su propio servidor de chat. Es muy similar a Slack y ofrece características similares que incluyen compartir archivos, sistemas de emisión de boletos, chat de video y conferencias. Con Rocket.Chat, puede chatear con los miembros del equipo, crear canales y grupos privados, realizar videollamadas y llamadas de audio, compartir pantallas y cargar archivos.
Características
- API potentes
- Supervisión remota de vídeo
- Conferencias de audio y video gratuitas
- LiveChat y sincronización de grupos LDAP
- Compartir pantalla y archivos
- Notificaciones de escritorio y móviles
- Salas multiusuario públicas y privadas
Rocket.Chat es la mejor opción para usted si está buscando una plataforma de chat de código abierto para alojar en la nube.
En este tutorial, le mostraremos cómo instalar y configurar Rocket.Chat en Ubuntu 18.04 VPS.
Requisitos
- Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
- Un nombre de dominio válido dirigido a su dirección IP de VPS. En este tutorial, usaremos node1.example.com.
Nota:puede consultar la Guía de DNS de Atlantic para administrar los registros de DNS.
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:instalar Node.js
Rocket.Chat requiere Node.js y otras dependencias para crear paquetes npm desde el origen. Primero, agregue el repositorio Node.js ejecutando el siguiente comando:
curl -sL https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"| bash -
A continuación, actualice el repositorio e instale Node.js junto con las dependencias requeridas con el siguiente comando:
apt-get update -y apt-get install nodejs build-essential curl software-properties-common graphicsmagick -y
Paso 3:instalar MongoDB
Rocket.Chat requiere que MongoDB esté instalado en su servidor. De forma predeterminada, la última versión de MongoDB no está disponible en el repositorio predeterminado de Ubuntu 18.04, por lo que deberá agregar el repositorio de MongoDB a su servidor.
Primero, descargue y agregue la clave del repositorio oficial con el siguiente comando:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
A continuación, agregue el repositorio de MongoDB ejecutando el siguiente comando:
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Una vez que se agrega el repositorio, actualice el repositorio e instale MongoDB con el siguiente comando:
apt-get update -y apt-get install mongodb-org -y
Una vez que MongoDB esté instalado, inicie el servicio MongoDB y habilítelo para que se inicie después de reiniciar el sistema:
systemctl start mongod systemctl enable mongod
netstat -ant
Salida:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
Paso 4:configurar MongoDB
Rocket.Chat utiliza el conjunto de réplicas de MongoDB para mejorar el rendimiento, por lo que deberá configurar el conjunto de réplicas de MongoDB. Puedes configurarlo con el siguiente comando:
echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf
A continuación, reinicie el servicio MongoDB para aplicar los cambios:
systemctl restart mongod
A continuación, inicie sesión en el shell de MongoDB e inicie el conjunto de réplicas con el siguiente comando:
mongo rs.initiate()
Debería ver el siguiente resultado:
En este punto, MongoDB está instalado y configurado con el conjunto de réplicas.
Escriba Salir para salir de MongoDB.
Paso 5:instala Rocket.Chat
Antes de comenzar, se recomienda crear un nuevo usuario y grupo para ejecutar Rocket.Chat.
Primero, crea un nuevo usuario con el nombre de cohete con el siguiente comando:
adduser rocket
Deberías obtener el siguiente resultado:
A continuación, permita que Nginx acceda al directorio Rocket.Chat agregando el usuario de cohete al grupo www-data:
usermod -a -G rocket www-data
A continuación, cambie el usuario a Rocket y descargue la última versión de Rocket.Chat con el siguiente comando:
su - rocket curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:
tar zxf rocket.chat.tgz
Luego, mueva el directorio extraído a Rocket.Chat usando el siguiente comando:
mv bundle Rocket.Chat
A continuación, cambie el directorio a Rocket.Chat/programs/server e instale todos los paquetes npm necesarios con el siguiente comando:
cd Rocket.Chat/programs/server npm install
Una vez que todos los paquetes estén instalados, debería ver el siguiente resultado:
A continuación, configure las variables de entorno requeridas para probar la instalación de Rocket.Chat:
export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01
A continuación, cambie el directorio a Rocket.Chat e inicie el servidor Rocket.Chat con el siguiente comando:
cd ~/Rocket.Chat node main.js
Deberías obtener el siguiente resultado:
A continuación, detenga el servidor Rocket.Chat con CTRL+C y luego ejecute el siguiente comando para salir del usuario de cohete:
exit
Paso 6:cree un archivo de servicio de Systemd para Rocket.Chat
A continuación, cree un archivo de servicio systemd para iniciar y detener el servicio Rocket.Chat:
nano /etc/systemd/system/rocketchat.servicio
Agregue las siguientes líneas:
[Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01 ROOT_URL=http://node1.example.com PORT=3000 ExecStart=/usr/bin/nodejs /home/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target
Guarde y cierre el archivo cuando haya terminado. Luego, vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Rocket.Chat y habilítelo para que se inicie después de reiniciar el sistema:
systemctl start rocketchat systemctl enable rocketchat
Ahora puede verificar el servicio Rocket.Chat usando el siguiente comando:
systemctl status rocketchat
Deberías obtener el siguiente resultado:
Paso 7:configurar un proxy inverso con Nginx
A continuación, deberá instalar y configurar Nginx como un proxy inverso para reenviar las solicitudes de los clientes que llegan del puerto 3000 al puerto 80 de Nginx.
Primero, instale el servidor web Nginx con el siguiente comando:
apt-get install nginx -y
A continuación, cree un archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/sites-available/rocket
Agregue las siguientes líneas:
server { listen 80; server_name node1.example.com; access_log /var/log/nginx/rocket-access.log; error_log /var/log/nginx/rocket-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:3000/; } }
Guarde y cierre el archivo cuando haya terminado. Luego, habilite el host virtual con el siguiente comando:
ln -s /etc/nginx/sites-available/rocket /etc/nginx/sites-enabled/
Finalmente, reinicie el servicio Nginx para aplicar los cambios de configuración:
systemctl restart nginx
Paso 8:acceda a la interfaz web de Rocket.Chat
Ahora, abra su navegador web y navegue hasta la URL http://node1.example.com. Será redirigido al asistente de configuración de Rocket.Chat:
Proporcione su nombre de usuario de administrador, correo electrónico, detalles de contraseña y haga clic en Continuar botón. Debería ver la siguiente página:
A continuación, proporcione la información de su organización y haga clic en Continuar. botón. Debería ver la siguiente página:
A continuación, proporcione la información de su servidor y haga clic en Continuar botón. Debería ver la siguiente página:
A continuación, utilice las puertas de enlace y los proxies preconfigurados de Rocket.Chat y haga clic en Continuar. botón. Debería ver la siguiente página:
Ahora, haz clic en Ir a tu espacio de trabajo botón. Se le redirigirá al panel predeterminado de Rocket.Chat:
Conclusión
¡Felicidades! Ha instalado y configurado con éxito el servidor Rocket.Chat con Nginx como proxy inverso en Ubuntu 18.04 VPS. Puede visitar Rocket.Chat Doc para conocer el nuevo sistema de chat. ¡Empiece hoy con Rocket.Chat en un VPS de Atlantic.Net!