Rocket.Chat è una piattaforma gratuita, open-source, scalabile, altamente personalizzabile e sicura che ti permette di comunicare e collaborare con il tuo team, condividere file e chattare in tempo reale. È multipiattaforma e funziona su sistemi operativi Linux, Windows, macOS, Android e iOS per dispositivi mobili.
È simile a Slack e offre chat live, conferenze audio e video gratuite, canali, accesso ospite, condivisione dello schermo e condivisione di file. Per garantire una comunicazione sicura, supporta la sincronizzazione di gruppi LDAP, l’autenticazione a due fattori (2FA), la crittografia end-to-end, l’accesso Single Sign-On e diversi provider OAuth.
È importante notare che essendo completamente open-source, è possibile accedere al suo codice sorgente per personalizzarlo completamente, estenderlo o aggiungere nuove funzionalità per soddisfare i requisiti del proprio team o business.
In questo articolo, imparerai come installare e configurare il server e il client di Rocket.Chat su un sistema Linux.
Passaggio 1: Installazione di Snaps in Linux
1. Il modo più semplice per installare Rocket.Chat è utilizzando Snaps – supportati dalla maggior parte, se non tutti, le moderne distribuzioni Linux e sono sicuri perché eseguono confinati sotto una sandbox di sicurezza restrittiva. Inoltre, con snaps, è anche possibile l’aggiornamento automatico quando è disponibile una nuova versione di un pacchetto.
Prima, assicurati di avere il pacchetto snapd installato sul tuo sistema, altrimenti installalo usando il tuo gestore di pacchetti predefinito come mostrato.
$ sudo apt install snapd #Ubuntu and Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7
2. Quando l’installazione è completa, devi abilitare l’unità systemd che gestisce il socket principale di comunicazione snap come segue. Nota che questo comando avvierà il socket e lo abiliterà all’avvio del sistema. Su Ubuntu, questo dovrebbe essere fatto automaticamente dopo che l’installazione del pacchetto è completa.
$ sudo systemctl enable --now snapd.socket
Inoltre, puoi abilitare il supporto snap classico creando un collegamento simbolico tra /var/lib/snapd/snap e /snap.
$ sudo ln -s /var/lib/snapd/snap /snap
Passaggio 2: Installazione di Rocket.Chat in Linux
3. Ora che hai installato Snapd, esegui il seguente comando per installare il rocketchat-server.
$ sudo snap install rocketchat-server
4. Quando l’installazione snap è completa, il tuo server rocket.chat inizierà a funzionare e ad ascoltare sulla porta 3000 per impostazione predefinita. Apri un browser web e inserisci il seguente indirizzo per configurare rocket.chat sul sistema.
http://SERVER_IP:3000
5. Dopo il caricamento della procedura guidata di configurazione, fornisci il nome completo dell’utente amministrativo, il nome utente, l’email organizzativa e la password.

6. Successivamente, fornisci le informazioni organizzative (tipo di organizzazione, nome, settore, dimensione, paese e sito web), quindi fai clic su Continua.

7. Successivamente, fornisci le informazioni sul server (nome del sito, tipo di server predefinito e abilita anche 2FA o meno). Quindi fai clic su Continua.

8. Nella pagina successiva, registra il server. Ci sono due opzioni qui, quella predefinita è utilizzare i gateway e i proxy preconfigurati forniti da Rocket.Chat (questa è l’opzione consigliata).
In alternativa, puoi scegliere di mantenere autonomo e creare account con fornitori di servizi, aggiornare le impostazioni preconfigurate e ricompilare anche le app mobili con i tuoi certificati privati. E clicca su Continua.

La configurazione è completa e il tuo spazio di lavoro è pronto. Clicca su Vai al tuo spazio di lavoro.


Passaggio 3: Configurazione del proxy inverso per Rocket.Chat
9. Un proxy inverso come NGINX o Apache ti consente di configurare l’applicazione Rocket.Chat in modo che sia accessibile tramite un dominio o un sottodominio (ad esempio http://chat.tecmint.com) anziché digitare l’indirizzo del server e la porta dell’applicazione (ad esempio http://10.42.0.247:3000).
Inoltre, Rocket.Chat è un server di applicazioni di livello intermedio che non gestisce SSL/TLS. Un proxy inverso consente anche di configurare certificati SSL/TLS per abilitare HTTPS.
Abilita il proxy inverso Nginx per Rocket.Chat
10. Innanzitutto, installa il pacchetto NGINX se non è ancora installato nel tuo 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. Una volta completata l’installazione del pacchetto, avvia il servizio Nginx, per ora, abilitalo per l’avvio automatico al boot del sistema e controlla il suo stato per assicurarti che sia in esecuzione.
$ sudo systemctl enable --now nginx $ sudo systemctl status nginx
12. Successivamente, crea un file di blocco del server virtuale per l’applicazione Rocket.Chat sotto la directory /etc/nginx/conf.d/, ad esempio.
$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf
Quindi copia e incolla la seguente configurazione nel file (sostituisci chat.tecmint.com con il tuo sottodominio o dominio valido).
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.tecmint.com; # 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; } }
Salva il file e chiudilo.
13. Successivamente, controlla la configurazione di NGINX per eventuali problemi di sintassi. Se è OK, riavvia il servizio Nginx per applicare le modifiche recenti.
$ sudo nginx -t $ sudo systemctl restart nginx
Abilita il proxy inverso di Apache per Rocket.Chat
14. Inizia installando il pacchetto Apache2 se non è ancora installato nel tuo sistema.
$ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7
15. Successivamente, avvia ed abilita il servizio apache e controlla se è in esecuzione come segue.
----- 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. In seguito, crea un file di host virtuale per l’applicazione Rocket.Chat sotto la directory /etc/apache2/sites-available/ o /etc/httpd/conf.d/, ad esempio.
----- On Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf ----- On CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf
17. Copia e incolla la seguente configurazione al suo interno, sostituendo chat.tecmint.com con il tuo dominio valido.
<VirtualHost *:80> ServerAdmin [email protected] ServerName chat.tecmint.com LogLevel info ErrorLog /var/log/chat.tecmint.com_error.log TransferLog /var/log/chat.tecmint.com_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>
Salva il file e chiudilo.
18. Su Ubuntu e Debian, abilita i moduli apache2 necessari e riavvia il servizio per applicare le modifiche recenti.
$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2
Su CentOS/RHEL e Fedora, riavvia semplicemente il servizio apache.
# systemctl restart httpd
19. Ora che tutto è configurato correttamente, apri il tuo browser e digita l’indirizzo seguente. L’applicazione Rocket.Chat dovrebbe essere accessibile utilizzando il tuo dominio configurato nel server proxy.
http://chat.tecmint.com

20. Il prossimo passo cruciale è aggiungere i vantaggi della sicurezza e della privacy di un certificato HTTPS al tuo servizio di chat. Per un ambiente di produzione, consigliamo di utilizzare Let’s Encrypt, che è gratuito e affidabile per la maggior parte dei moderni browser web.
Nota che Let’s Encrypt è automatizzato: puoi utilizzare certbot, un tool gratuito open-source per ottenere e installare automaticamente o semplicemente ottenere e installare manualmente i certificati Let’s Encrypt nelle distribuzioni Linux e nei server web mainstream.
Passaggio 4: Installazione dei client di Rocket.Chat su Desktop
21. Infine, puoi scaricare ed installare un’applicazione desktop Rocket.Chat per Linux, Mac o Windows dal sito web del progetto Rocket.Chat. Fornisce inoltre app per dispositivi mobili per Android e iOS.
Per installare l’applicazione desktop su Linux, puoi scaricare un pacchetto deb (x64) o rpm(x64) a seconda della tua distribuzione 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. Quindi installa il pacchetto utilizzando il gestore di pacchetti dpkg o rpm come mostrato.
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
23. Una volta completata l’installazione del pacchetto, cerca rocket.chat nel Menu di Sistema e avvialo. Dopo il caricamento, inserisci l’URL del tuo server per connetterti ad esso come mostrato nello screenshot seguente.
Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/