En este tutorial, lo guiaremos a través del proceso de instalación de Rocket.Chat en un VPS con Ubuntu 18.04.
Rocket.Chat es un servidor de chat web de código abierto, que es una excelente alternativa autohospedada a Slack. Ofrece muchas funcionalidades, como chat, videoconferencia y conferencias de voz, uso compartido de archivos y un sistema de asistencia técnica.
Rocket.Chat tiene muchas características útiles. Algunos de ellos se enumeran a continuación:
- Traducción en tiempo real
- Integraciones de WebHook entrantes y salientes a Rocket.Chat
- Chat en vivo/Centro de llamadas de mensajería/Llamadas de audio
- API potentes
- Subir y compartir archivos
- Aplicaciones web, de escritorio y móviles para Linux, Android, iOS, Windows y Mac
- Supervisión remota de vídeo
- Temas personalizados, emojis, sonidos y recursos de la empresa
- y muchos más...
Comencemos con la instalación.
Requisitos previos
- Un VPS con Ubuntu 18.04. Utilizaremos uno de nuestros planes de alojamiento SSD 2 VPS.
- Un usuario del sistema con privilegios de raíz, o acceso al propio usuario raíz.
Paso 1:Inicie sesión y actualice los paquetes de software del sistema
Inicie sesión en su Ubuntu 18.04 VPS a través de SSH como usuario root (o como usuario con privilegios de root):
ssh root@IP_Address -p Port_number
Donde 'IP_Address' y 'Port_number' son la dirección IP real y el número de puerto SSH de su servidor.
Una vez que haya iniciado sesión, ejecute los siguientes comandos para asegurarse de que todos los paquetes instalados en su servidor estén actualizados a sus últimas versiones disponibles:
apt update && apt upgrade
Una vez hecho esto, podemos comenzar con la instalación del software real.
Paso 2:Instalar MongoDB
Rocket.Chat requiere un servidor de base de datos MongoDB, versión 3.2 o superior. Al momento de escribir este artículo, la última versión de MongoDB disponible en el repositorio oficial de Ubuntu 18.04 es la 3.6.3. Si bien esta versión del servidor funcionará bien, siempre es ideal usar la última versión posible. Para instalar una versión más reciente de MongoDB, instalaremos el servidor de base de datos desde los repositorios de MongoDB. Estos repositorios se pueden agregar fácilmente importando la clave pública de MongoDB con el siguiente comando:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Salida:
Executing: /tmp/apt-key-gpghome.LTAnWbMyRv/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <[email protected]>" imported gpg: Total number processed: 1 gpg: imported: 1
Luego agregue el repositorio e instale el servidor de base de datos MongoDB junto con algunas de sus dependencias:
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt update && apt install -y mongodb-org curl graphicsmagick
Con este paso, MongoDB ahora está instalado y listo para usar. Podemos comprobar la versión mediante el siguiente comando:
mongod -version version v4.0.6
Pero para iniciarlo como un servicio, se requiere un archivo de unidad systemd. Cree un archivo en /etc/systemd/system/ usando su editor de texto preferido; usaremos 'nano'. Podemos crearlo con el siguiente comando:
nano /etc/systemd/system/mongodb.service
Ahora agregue estos contenidos al archivo:
[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
Cuando haya terminado, guarde y salga del archivo. Luego recarga las unidades usando systemctl:
systemctl daemon-reload
Ahora podemos verificar si MongoDB está funcionando. Eso se puede hacer usando este comando:
systemctl status mongodb
La salida debería verse así:
mongodb.service - High-performance, schema-free document-oriented database Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2019-03-15 03:42:11 CDT; 59min ago Main PID: 30802 (mongod) Tasks: 27 (limit: 2320) CGroup: /system.slice/mongodb.service 30802 /usr/bin/mongod --quiet --config /etc/mongod.conf
A continuación, inicie el servidor MongoDB y habilítelo para que se inicie automáticamente después de reiniciar.
systemctl start mongodb systemctl enable mongodb
Paso 3:Instalar Node.js
Rocket.Chat requiere Node.js. Se puede instalar fácilmente desde los repositorios oficiales de Ubuntu:
apt -y install node.js
Una vez instalado, compruebe la versión instalada:
node --version v8.10.0
A continuación, instale el administrador de paquetes 'npm' (junto con algunas otras dependencias necesarias para crear paquetes npm desde la fuente):
apt install npm build-essential
Según la documentación oficial de Rocket.Chat se recomienda tener la versión 8.11.3 de Node.js. La versión se puede cambiar fácilmente usando una herramienta llamada 'n':
npm install -g inherits n && n 8.11.3
Salida:
install : node-v8.11.3 mkdir : /usr/local/n/versions/node/8.11.3 fetch : https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.gz installed : v8.11.3
Puede verificar que la versión deseada de Node.js esté instalada:
node --version v8.11.3
Paso 4:Instalar Rocket.Chat
No se recomienda ejecutar Rocket.Chat como usuario raíz, por lo que el siguiente paso será crear un nuevo usuario del sistema.
useradd -m -U -r -d /opt/rocketchat rocketchat
Cambie el usuario al recién creado:
su - rocketchat
Luego descargue la última versión estable de Rocket.Chat en un directorio de su servidor. Asegúrese de cambiar a ese directorio primero. Este es el comando para descargar la última versión de Rocket.Chat:
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Una vez descargado, descomprima el archivo Rocket.Chat:
tar zxvf rocket.chat.tgz
El contenido de la aplicación se almacenará en un nuevo directorio llamado 'paquete'. Cambiaremos el nombre del directorio a 'rocketchat':
mv bundle rocketchat
Cambie el directorio de trabajo actual y use el administrador de paquetes npm para instalar todas las dependencias enumeradas en el archivo packages.json proporcionado por la aplicación:
cd rocketchat/programs/server npm install
Para iniciar Rocket.Chat, debemos configurar las variables de entorno (como se muestra a continuación):
cd /opt/rocketchat/rocketchat export ROOT_URL=http://yourdomain.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat export PORT=3000
No olvide reemplazar 'yourdomain.com
' con su nombre de dominio real.
Y finalmente, inicia Rocket.Chat usando el siguiente comando:
node main.js
Una vez que Rocket.Chat se inicie con éxito, obtendrá un resultado de texto similar al siguiente:
+-----------------------------------------------------------------------+ | SERVER RUNNING | +-----------------------------------------------------------------------+ | | | Rocket.Chat Version: 0.74.3 | | NodeJS Version: 8.11.3 - x64 | | Platform: linux | | Process Port: 3000 | | Site URL: http://yourdomain.com:3000/ | | ReplicaSet OpLog: Disabled | | Commit Hash: 202a465f1c | | Commit Branch: HEAD | | | +-----------------------------------------------------------------------+
También puede configurar Rocket.Chat para que se ejecute como un servicio. Cree un archivo de unidad como en el Paso 2 utilizando su editor de texto preferido.
nano /etc/systemd/system/rocketchat.service
Luego agregue los siguientes contenidos al archivo:
[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://yourdomain.com MONGO_URL=mongodb://localhost:27017/rocketchat [Install] WantedBy=multi-user.target
Guarde y salga del archivo, luego vuelva a cargar las unidades:
systemctl daemon-reload
Una vez hecho esto, puede iniciar el servicio Rocket.Chat y permitir que se inicie al reiniciar:
systemctl enable rocketchat systemctl start rocketchat
Ahora podrá acceder a Rocket.Chat y completar la instalación en http://yourdomain.com:3000
. El asistente de instalación lo guiará a través de la configuración de su primer usuario administrativo, la configuración de su organización, el registro de su servidor para recibir notificaciones automáticas gratuitas y más.
Para obtener más información sobre cómo usar y configurar Rocket.Chat. Consulte su documentación oficial.
Por supuesto, no es necesario que instale Rocket.Chat en Ubuntu 18.04 si utiliza uno de nuestros planes de alojamiento gestionado de Ubuntu, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que instalen Rocket.Chat en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.