Rocket.Chat es una solución de chat en línea gratuita y de código abierto para la comunicación en equipo, le permite crear su propio chat en línea. Rocket.Chat está basado en Javascript, desarrollado usando el framework de pila completa Meteor. Rocket.Chat es una excelente solución para las empresas que desean crear su propia plataforma de chat privado.
En este tutorial, le mostraré cómo crear su propio servidor de chat con Rocket.Chat. Usaré el último servidor Ubuntu LTS 16.04 para la instalación y Nginx como proxy inverso para la aplicación Rocket.Chat.
Requisito previo
- Ubuntu 16.04
- Privilegios de raíz
Paso 1:instalar las dependencias de Rocket.Chat
Inicie sesión en el servidor usando ssh (o la terminal) y escriba 'sudo su' para obtener acceso de root:
ssh [correo electrónico protegido]
sudo su
Actualice el repositorio de Ubuntu:
apt-obtener actualización
A continuación, instale los nuevos paquetes necesarios para Rocket.Chat:
apt-get install curl graphicsmagick build-essential
Paso 2:instalar MongoDB
Rocket.Chat requiere MongoDB para la instalación. En este paso, instalaremos MongoDB 3.2 desde el repositorio de MongoDB.
Agregue el servidor de claves MongoDB para que podamos acceder a los paquetes:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Luego agregue el repositorio MongoDB con el siguiente comando:
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverso" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Actualice el repositorio e instale MongoDB con el comando apt:
apt-get update
apt-get install mongodb-org
Agregue MongoDB para que se ejecute en el momento del arranque e inícielo:
systemctl habilitar mongod
systemctl iniciar mongod
MongoDB se ha iniciado en el puerto 27017.
Paso 3:configurar MongoDB ReplicaSet
Para mejorar el rendimiento, Rocket.Chat utiliza un MongoDB ReplicaSet. En este paso, configuraremos un MongoDB ReplicaSet simple editando el archivo de configuración de MongoDB.
Edite el archivo mongod.conf con vim:
vim /etc/mongod.conf
Agregue un "#" al comienzo de la línea 24 para deshabilitar la ejecución de MongoDB solo en la IP del host local.
red:
puerto:27017
#bindIp:127.0.0.1
Agregue la configuración de ReplicaSet a continuación en la línea 34.
#Replication:
Replicación:
OplogSizember:1
ReplSetName:RS0Guardar y salir.
Reinicie el servicio MongoDB:
systemctl reiniciar mongodA continuación, inicie el shell de MongoDB e inicie el ReplicaSet:
exportar LC_ALL=C
mongo
rs.initiate()Iniciar resultados:
{
"info2" :"sin configuración especificada. Usando una configuración predeterminada para el equipo",
"yo" :"nyanko-sensei:27017",
"ok" :1
}Asegúrese de que 'ok ' el valor es 1 . Si el resultado es otro número, significa que algo anda mal.
Paso 4:instalar npm y nodejs
En este paso, instalaremos nodejs y npm desde el repositorio de Ubuntu. Luego instalaremos el paquete n con el comando npm para obtener una versión específica de nodejs. La última versión de Rocket.Chat necesita nodejs 4.5.
Instale nodejs y npm desde el repositorio de Ubuntu:
apt-get install nodejs npmA continuación, instale el paquete n globalmente en el sistema con el comando npm:
instalación npm -g nUse el comando n para descargar y configurar la versión 4.5 de nodejs.
sudo n 4.5Finalmente, verifique la versión de nodejs:
nodo --versión
npm -v
Paso 5:instalar el servidor Rocket.Chat
Instalaremos Rocket.Chat (última versión) en el directorio /var/www/.
Descarga la última versión de Rocket.Chat y extráela:
curl -L https://rocket.chat/releases/latest/download -o cohete.chat.tgz
tar -xzvf cohete.chat.tgzCree un nuevo directorio /var/www/ y cambie el nombre del directorio del paquete a 'Rocket.Chat' y luego muévalo:
mkdir -p /var/www/
mv paquete Rocket.Chat
mv Rocket.Chat /var/www/Vaya al directorio Rocket.Chat, establezca algunas variables de entorno requeridas e inicie el servidor Rocket.Chat.
cd /var/www/Rocket.Chat/
cd programas/servidor/
npm install
cd ../../
exportar ROOT_URL=http://192.168.1.110:3000/
exportar MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
exportar PORT=3000
nodo principal.js
Rocket.Chat está instalado, abra su navegador web y visite la dirección IP del servidor en el puerto 3000. - 192.168.1.110:3000.
Paso 6:instalar y configurar Nginx como proxy inverso para Rocket.Chat
En el paso 5, instalamos Rocket.Chat como aplicación independiente. En este tutorial, ejecutaremos Rocket.Chat detrás del servidor web Nginx en conexiones https para obtener una configuración segura y rápida.
Instale Nginx con el comando apt:
apt-get install nginxCree un nuevo directorio SSL:
mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/Genere el archivo de certificado SSL y cambie el permiso del archivo de clave:
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 cohete- chat.keyA continuación, cree un nuevo archivo de host virtual de Rocket-chat en el directorio de sitios disponibles.
cd /etc/nginx/sites-disponible/
vim cohete-chatPegue la nueva configuración de host virtual a continuación:
# Upstreams
backend ascendente {
server 127.0.0.1:3000;
}
# Redirect Options
server {
listen 80;
nombre_servidor rocket-chat.co;
# aplicar https
devolver 301 https://$nombre_servidor$request_uri;
}
# HTTPS Servidor
servidor {
escucha 443;
nombre_servidor cohete-chat.co;
error_log /var/log/nginx/rocketchat.access.log;
ssl activado;
ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # no use SSLv3 ref:POODLE
ubicación / {
proxy_pass http://192.168.1.110:3000/;
proxy_http_version 1.1;
proxy_set_header Actualizar $http_upgrade;
proxy_set_header Conexión "actualizar";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_ip;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}Guardar y salir.
Ejecutaré Rocket.Chat con el nuevo nombre de dominio 'rocket-chat.co'. Utilice su propio nombre de dominio y reemplácelo en los archivos de configuración dondequiera que aparezca.
Active el servidor virtual Rocket.Chat y pruebe el archivo de configuración:
ln -s /etc/nginx/sites-disponible/rocket-chat /etc/nginx/sites-enabled/rocket-chat
nginx -tAsegúrese de que no haya mensajes de error.
Reinicie el servidor web Nginx:
systemctl reiniciar nginx
Paso 7:prueba de Rocket.Chat
Nginx se configuró como proxy inverso para el servidor Rocket.Chat y necesitamos actualizar las variables de entorno para ejecutar Rocket.Chat ahora.
Ejecute Rocket.Chat con las nuevas variables a continuación:
cd /var/www/Rocket.Chat/
exportar ROOT_URL=https://rocket-chat.co
exportar MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
exportar PORT=3000
nodo principal.js
En su navegador web, abra la URL:cohete-chat.co (o su nombre de dominio personalizado); será redirigido a la conexión https.
Cree su primera cuenta de administrador haciendo clic en 'Registrar una nueva cuenta' enlace.
Ingrese su nombre, correo electrónico y contraseña, y luego haga clic en 'REGISTRAR UNA NUEVA CUENTA '.
Confirme para usar el nuevo 'SITE-URL' con el nombre de dominio. Haga clic en 'Sí '.
Registre el nombre de usuario, haga clic en 'UTILIZAR ESTE NOMBRE DE USUARIO '.
Se ha creado el usuario administrador y aquí está el panel de Rocket.Chat. Puede comenzar a chatear y crear su propio canal para su equipo.
Rocket.Chat se instaló con el servidor web Nginx en ubuntu 16.04.
Resultados después de que usamos las nuevas variables de entorno: