Detrás de las organizaciones, tenemos aplicaciones que les permiten hacer su trabajo. Y una característica que nunca pasa de moda en Internet es el chat. Entonces, ¿por qué no tener su propio chat en su organización? Esto es precisamente lo que ofrece la instalación de Let's Chat en Ubuntu 20.04.
¿Qué es Let's Chat?
Según el sitio web del proyecto:
Let's Chat es una aplicación de mensajería persistente que se ejecuta en Node.js y MongoDB . Está diseñado para ser fácilmente implementable y se adapta bien a equipos pequeños e íntimos.
El programa es gratuito y de código abierto, publicado bajo la licencia MIT. Esto significa que podemos usarlo en casi cualquier circunstancia sin preocuparnos por las licencias o los altos costos.
Es muy útil en equipos de trabajo remotos y especialmente en estos tiempos difíciles que vivimos. Por eso Let’s Chat es una solución eficaz en su campo.
Algunas de sus principales características son:
- BYOS (traiga su propio servidor). Entonces, su servidor, sus reglas.
- Soporte para autenticación LDAP/Kerberos.
- Chat multiusuario XMPP (MUC)
- Puede crear varias salas
- API similar a REST
- La aplicación está traducida a muchos idiomas
Por lo tanto, también brinda todas las posibilidades que puede esperar de un chat, como enviar archivos, crear cuentas, menciones, soporte para notificaciones de escritorio.
Instalar Let's Chat en Ubuntu 20.04
El proceso de instalación de Let’s Chat no es complicado pero requiere de una serie de pasos para lograr el objetivo. Para ello, necesitamos instalar dependencias y programas para que funcione correctamente.
Para esta publicación, ejecutaremos los comandos como usuario raíz en un servidor Ubuntu 20.04 . En caso de que no tenga el usuario raíz, puede ejecutar los comandos agregando el comando sudo al inicio.
Primer paso:Instalar dependencias, Node.JS y MongoDB
Una vez que se haya conectado al servidor o haya abierto una sesión de terminal, debe actualizar su distribución.
apt update
apt upgrade
A continuación, proceda a instalar algunos paquetes que son dependencias de la aplicación.
apt install curl gnupg2 unzip software-properties-common git build-essential
A continuación, es hora de instalar Node.JS a través del repositorio oficial de la serie 10.x.
Entonces, agréguelo ejecutando
curl -sL https://deb.nodesource.com/setup_10.x | bash -
Ahora podemos instalar Node.JS ejecutando
apt install nodejs
Puede verificar la versión instalada usando el comando:
node -v
Salida de muestra:
v10.24.0
Luego necesitamos instalar MongoDB. Para ello utilizaremos el repositorio oficial proporcionado por los desarrolladores de MongoDB.
Primero, agregue la clave GPG para garantizar la integridad de los paquetes y que el sistema confíe en esta nueva fuente de software
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
Ahora agregue el repositorio:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Actualice APT e instale MongoDB
apt update
apt install mongodb-org
A continuación, inicie MongoDB y haga que se inicie junto con el sistema. Esto asegura que cuando el sistema se reinicie, MongoDB también se ejecutará.
systemctl enable --now mongod
Ahora verifique el estado del servicio para asegurarse de que todo esté bien.
systemctl status mongod
Salida de muestra:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-02-25 16:46:10 CET; 1s ago
Docs: https://docs.mongodb.org/manual
Main PID: 7916 (mongod)
Memory: 58.7M
CGroup: /system.slice/mongod.service
└─7916 /usr/bin/mongod --config /etc/mongod.conf
Feb 25 16:46:10 atechtown systemd[1]: Started MongoDB Database Server.
Ahora podemos instalar Let's Chat.
Segundo paso:Instalar y configurar Let's Chat
Con todo lo que necesita, ahora puede instalar Let's Chat. Para hacer esto, clone el repositorio usando git
comando
git clone https://github.com/sdelements/lets-chat.git
Salida de muestra:
Cloning into 'lets-chat'…
remote: Enumerating objects: 13287, done.
remote: Total 13287 (delta 0), reused 0 (delta 0), pack-reused 13287
Receiving objects: 100% (13287/13287), 21.23 MiB | 15.54 MiB/s, done.
Resolving deltas: 100% (7651/7651), done.
Accede a la carpeta generada
cd lets-chat/
E instale la aplicación con la ayuda de npm
comando
npm install
Una vez finalizado el proceso, copie el archivo de configuración predeterminado y actívelo.
cp settings.yml.sample settings.yml
E inicie la aplicación con el siguiente comando:
npm start
Si obtiene una pantalla de salida como la que se muestra en la imagen, entonces todo está bien.
Aunque es fácil iniciar la aplicación, es mejor manejarla como un servicio del sistema. Entonces, termine de ejecutar Let's Chat presionando CTRL + C
llaves.
Luego cree un nuevo archivo para la configuración del servicio
nano /etc/systemd/system/letschat.service
Y agregue la siguiente configuración
[Unit]
Description=Let's Chat Server
Wants=mongodb.service
After=network.target mongod.service
[Service]
Type=simple
WorkingDirectory=/root/lets-chat
ExecStart=/usr/bin/npm start
User=root
Group=root
Restart=always
RestartSec=9
[Install]
WantedBy=multi-user.target
Luego guarde los cambios y cierre el editor
Actualice la configuración del servicio ejecutando:
systemctl daemon-reload
Inicie el servicio y habilítelo para que se inicie con el sistema.
systemctl start letschat
systemctl enable letschat
Ahora verifique el estado para asegurarse de que todo esté bien.
systemctl status letschat
Entonces, Let's Chat está funcionando.
Tercer paso:configurar Ngnix para chatear en Ubuntu 20.04
La aplicación Let's Chat funciona bajo el puerto 5000
que tienes que abrir en el cortafuegos. Pero podemos configurar Ngnix para que sea el proxy inverso de la aplicación para facilitar el acceso a la aplicación.
Esto es bastante simple, primero instala Nginx
sudo apt install nginx
Y cree un archivo de configuración para Let's Chat.
nano /etc/nginx/sites-available/letschat.conf
Y agregue el siguiente contenido:
server { server_name letschat.atechtown.test; listen 80; access_log /var/log/nginx/lets_chat-access.log; error_log /var/log/nginx/lets_chat-error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_pass http://127.0.0.1:5000; } }
De estos valores, debe modificar el server_name
valor al valor de su dominio.
Cuando salga del editor, debe habilitar la nueva configuración:
ln -s /etc/nginx/sites-available/letschat.conf /etc/nginx/sites-enabled/
Además, modifique una opción en la configuración de Nginx. Abra el archivo de configuración de Nginx:
nano /etc/nginx/nginx.conf
Y bajo el http
sección agregue el siguiente valor
server_names_hash_bucket_size 64;
Nuevamente, guarde los cambios y cierre el editor. Y ahora puedes reiniciar Nginx.
systemctl restart nginx
Opcional:instalar certificados Certbot y Let's Encrypt
Si la instancia de Let's Chat estará disponible en Internet, entonces es recomendable tener más seguridad sobre los datos que se transmitirán.
Entonces, instale certificados de seguridad para acceder al sitio y esto es facilitado por Certbot y Let's Encrypt.
Por lo tanto, instale Certbot y el complemento Nginx.
apt install certbot python3-certbot-nginx
Después de eso, cree el nuevo certificado para su sitio con el siguiente comando:
certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [your-email] -d [your-domain]
Reemplace los valores indicados con los suyos propios.
Luego reinicie Ngnix para aplicar los cambios.
systemctl restart nginx
Cuarto Paso:Acceso a la interfaz de Let's Chat
Ahora necesitamos abrir un navegador web y acceder a https://your-domain
para que podamos ver la pantalla de inicio de sesión de Let's Chat.
Ahora debe crear una nueva cuenta haciendo clic en Necesito una cuenta enlace.
Esto te llevará a una pantalla donde podrás registrarte sin problemas.
Luego regrese a la pantalla de inicio de sesión para iniciar sesión con sus credenciales y podrá acceder a la aplicación.
Conclusión
Las aplicaciones de código abierto juegan un papel clave en muchas empresas hoy en día. Uno de ellos es Let’s Chat que permite desplegar un programa de chat muy completo para pequeños equipos de trabajo pero con muchas posibilidades y con una licencia de código abierto que te permite utilizarlo sin problemas.
¿Sabías que Charlemos? ¿quieres instalarlo? ¿qué piensas? déjanos un comentario y comparte la publicación.
Gracias por leer.