Rocket.Chat: xat d'equip empresarial gratuït, de codi obert i per a Linux


Rocket.Chat és una plataforma gratuïta, de codi obert, escalable, altament personalitzable i segura que us permet comunicar-vos i col·laborar amb el vostre equip, compartir fitxers i xatejar en temps real. És multiplataforma i s'executa en sistemes operatius mòbils Linux, Windows, macOS, Android i iOS.

És similar a Slack i inclou xat en directe, conferències d'àudio i vídeo gratuïtes, canals, accés per a convidats, ús compartit de pantalla i arxius compartits. Per garantir una comunicació segura, admet la sincronització de grups LDAP, l'autenticació de dos factors (2FA), el xifratge d'extrem a extrem, l'inici de sessió únic i diversos proveïdors d'Oauth.

És important destacar que, al ser totalment de codi obert, podeu accedir al seu codi font per personalitzar completament, ampliar o afegir noves funcionalitats per satisfer els requisits del vostre equip o de negoci.

En aquest article, aprendràs a instal·lar i configurar el servidor i el client Rocket.Chat en un sistema Linux.

Pas 1: instal·lació de Snaps a Linux

1. La manera més senzilla d'instal·lar Rocket.Chat és utilitzar Snaps: són compatibles amb la majoria, si no totes, les distribucions de Linux modernes i són segures perquè s'executen confinats sota una caixa de proves de seguretat restrictiva. A més, amb instantànies, també podeu actualitzar automàticament quan hi hagi una versió nova d'un paquet disponible.

Primer, assegureu-vos que teniu el paquet snapd instal·lat al vostre sistema, en cas contrari instal·leu-lo mitjançant el vostre gestor de paquets predeterminat, tal com es mostra.

$ sudo apt install snapd		#Ubuntu and Debian
$ sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd		#CentOS/RHEL 7

2. Quan s'hagi completat la instal·lació, haureu d'habilitar la unitat systemd que gestiona el sòcol de comunicació principal de la manera següent. Tingueu en compte que aquesta ordre iniciarà el sòcol i l'habilitarà a l'inici del sistema. A Ubuntu, això s'ha de fer automàticament un cop finalitzada la instal·lació del paquet.

$ sudo systemctl enable --now snapd.socket

A més, podeu habilitar el suport clàssic de snap creant un enllaç simbòlic entre /var/lib/snapd/snap i /snap.

 
$ sudo ln -s /var/lib/snapd/snap /snap

Pas 2: instal·lació de Rocket.Chat a Linux

3. Ara que teniu Snapd instal·lat, executeu l'ordre següent per instal·lar el servidor rocketchat.
$sudo snap install rocketchat-server

4. Quan s'hagi completat la instal·lació instantània, el servidor rocket.chat començarà a executar-se i a escoltar-lo al port 3000 de manera predeterminada. Obriu un navegador web i introduïu l'adreça següent per configurar rocket.chat al sistema.

http://SERVER_IP:3000

5. Després de carregar l'assistent de configuració, proporcioneu el nom complet, el nom d'usuari, el correu electrònic de l'organització i la contrasenya de l'usuari administratiu.

6. A continuació, proporcioneu la informació de l'organització (tipus d'organització, nom, indústria, mida, país i lloc web) i feu clic a Continuar.

7. A continuació, proporcioneu la informació del servidor (nom del lloc, predeterminat, tipus de servidor i també activeu 2FA o no). A continuació, feu clic a Continuar.

8. A la pàgina següent, registreu el servidor. Aquí hi ha dues opcions, la predeterminada és utilitzar les passarel·les i els servidors intermediaris preconfigurats proporcionats per Rocket.Chat (aquesta és l'opció recomanada).

Alternativament, podeu optar per mantenir-se autònom i crear comptes amb proveïdors de serveis, actualitzar la configuració preconfigurada i també recompilar les aplicacions mòbils amb els vostres certificats privats. I feu clic a Continuar.

La configuració s'ha completat i el vostre espai de treball està preparat. Feu clic a Vés al vostre espai de treball.

Pas 3: Configuració del servidor intermediari invers per a Rocket.Chat

9. Un servidor intermediari invers com NGINX o Apache us permet configurar l'aplicació Rocket.Chat perquè sigui accessible mitjançant un domini o subdomini (p. ex. http://chat.linux-console.net) en lloc d'escriure l'adreça del servidor i el port de l'aplicació (p. ex. http://10.42.0.247:3000).

A més, Rocket.Chat és un servidor d'aplicacions de nivell mitjà que no gestiona SSL/TLS. Un servidor intermediari invers també us permet configurar certificats SSL/TLS per habilitar HTTPS.

10. Primer, instal·leu el paquet NGINX si encara no està instal·lat al vostre sistema.

$ sudo apt apt install nginx		#Ubuntu/Debian 
$ sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx		#CentOS/RHEL 7

11. Un cop finalitzada la instal·lació del paquet, inicieu el servei Nginx; de moment, activeu-lo perquè s'iniciï automàticament a l'arrencada del sistema i comproveu-ne l'estat per assegurar-vos que s'està executant.

$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx

12. A continuació, creeu un fitxer de bloc de servidor virtual per a l'aplicació Rocket.Chat al directori /etc/nginx/conf.d/, per exemple.

$ sudo vim /etc/nginx/conf.d/chat.linux-console.net.conf

A continuació, copieu i enganxeu la configuració següent al fitxer (substituïu chat.linux-console.net pel vostre subdomini o domini vàlid).

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.linux-console.net;

    # You can increase the limit if you need to.
    client_max_body_size 200M;

    error_log /var/log/nginx/chat.tecmint.com.log;

    location / {
        proxy_pass http://backend/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

Deseu el fitxer i tanqueu-lo.

13. A continuació, comproveu la configuració de NGINX per detectar qualsevol problema de sintaxi. Si està bé, reinicieu el servei Nginx per aplicar els canvis recents.

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Comenceu instal·lant el paquet Apache2 si encara no està instal·lat al vostre sistema.

$ sudo apt install apache2		#Ubuntu/Debian 
$ sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd		#CentOS/RHEL 7

15. A continuació, inicieu i activeu el servei apache i comproveu si està en funcionament de la manera següent.

----- On Ubuntu/Debian -----
$ sudo systemctl enable --now apache2 	
$ sudo systemctl status apache2

----- On CentsOS/RHEL 7/8 ----- 
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd

16. A continuació, creeu un fitxer d'amfitrió virtual per a l'aplicació Rocket.Chat al directori /etc/apache2/sites-available/ o /etc/httpd/conf.d/, per exemple.

----- On Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.linux-console.net.conf

----- On CentsOS/RHEL 7/8 ----- 
$ sudo vim /etc/httpd/conf.d/chat.linux-console.net.conf

17. Copieu i enganxeu-hi la configuració següent, substituïu chat.linux-console.net pel vostre domini vàlid.

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName chat.linux-console.net

    LogLevel info
    ErrorLog /var/log/chat.linux-console.net_error.log
    TransferLog /var/log/chat.linux-console.net_access.log

    <Location />
        Require all granted
    </Location>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

    ProxyPassReverse /          http://localhost:3000/
</VirtualHost>

Deseu el fitxer i tanqueu-lo.

18. A Ubuntu i Debian, activeu els mòduls apache2 necessaris i reinicieu el servei per aplicar els canvis recents.

$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2

A CentOS/RHEL i Fedora, simplement reinicieu el servei apache.

# systemctl restart httpd

19. Ara tot està configurat correctament, obriu el vostre navegador i escriviu l'adreça següent. L'aplicació Rocket.Chat hauria de ser accessible mitjançant el vostre domini configurat al servidor intermediari.

http://chat.linux-console.net

20. El següent pas crucial és afegir els avantatges de seguretat i privadesa d'un certificat HTTPS al vostre servei de xat. Per a un entorn de producció, us recomanem que utilitzeu Let's Encrypt, que és gratuït i de confiança per a la majoria dels navegadors web moderns.

Tingueu en compte que Let's Encrypt està automatitzat: podeu utilitzar certbot, una eina gratuïta de codi obert per obtenir i instal·lar automàticament o simplement obtenir i instal·lar manualment els certificats Let's Encrypt a les distribucions i servidors web principals de Linux.

Pas 4: instal·lació de clients de Rocket.Chat a l'escriptori

21. Finalment, però no menys important, podeu baixar i instal·lar una aplicació d'escriptori Rocket.Chat per a Linux, Mac o Windows des del lloc web del projecte Rocket.Chat. També ofereix aplicacions mòbils per a Android i iOS.

Per instal·lar l'aplicació d'escriptori a Linux, descarregueu un paquet deb (x64) o rpm (x64) en funció de la vostra distribució de Linux.

$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
OR
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm

22. A continuació, instal·leu el paquet utilitzant el gestor de paquets rpm tal com es mostra.

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23. Un cop finalitzada la instal·lació del paquet, cerqueu rocket.chat al menú Sistema i inicieu-lo. Un cop es carregui, introduïu l'URL del vostre servidor per connectar-hi com es mostra a la captura de pantalla següent.