Ricerca nel sito web

Rocket.Chat - Strumento di comunicazione di gruppo open source per Linux


Rocket.Chat è una piattaforma gratuita, open source, scalabile, altamente personalizzabile e sicura che ti consente di comunicare e collaborare con il tuo team, condividere file e chattare in tempo reale. È multipiattaforma e funziona su sistemi operativi mobili Linux, Windows, macOS, Android e iOS.

È simile a Slack e offre chat dal vivo, conferenze audio e video gratuite, canali, accesso ospite, condivisione dello schermo e condivisione di file. Per garantire una comunicazione sicura, supporta la sincronizzazione dei gruppi LDAP, l'autenticazione a due fattori (2FA), la crittografia end-to-end, il Single Sign-On e diversi provider OAuth.

È importante sottolineare che, essendo completamente open source, puoi accedere al suo codice sorgente per personalizzare, estendere o aggiungere nuove funzionalità completamente per soddisfare i requisiti del tuo team o aziendali.

In questo articolo imparerai come installare e configurare il server e il client Rocket.Chat su un sistema Linux.

Passaggio 1: installazione degli snap in Linux

1. Il modo più semplice per installare Rocket.Chat è utilizzare Snaps: sono supportati dalla maggior parte se non da tutte le moderne distribuzioni Linux e sono sicuri perché funzionano confinati in una sandbox di sicurezza restrittiva. Inoltre, con gli snap, puoi anche eseguire l'aggiornamento automatico quando è disponibile una nuova versione di un pacchetto.

Innanzitutto, assicurati di avere il pacchetto snapd installato sul tuo sistema, altrimenti installalo utilizzando il gestore 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. Una volta completata l'installazione, è necessario abilitare l'unità systemd che gestisce la presa di comunicazione Snap principale come segue. Tieni presente che questo comando avvierà il socket e ne consentirà l'avvio all'avvio del sistema. Su Ubuntu, questa operazione dovrebbe essere eseguita automaticamente al termine dell'installazione del pacchetto.

sudo systemctl enable --now snapd.socket

Inoltre, puoi abilitare il supporto dello 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 su Linux

3. Ora che hai installato Snapd, esegui il comando seguente per installare rocketchat-server.
$sudo snap installa rocketchat-server

4. Una volta completata l'installazione rapida, 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, il nome utente, l'e-mail aziendale e la password dell'utente amministrativo.

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

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

8. Nella pagina successiva, registra il server. Ci sono due opzioni qui, l'impostazione predefinita è utilizzare i gateway e i proxy preconfigurati forniti da Rocket.Chat (questa è l'opzione consigliata).

In alternativa, puoi scegliere di rimanere autonomo e creare account con fornitori di servizi, aggiornare le impostazioni preconfigurate e anche ricompilare le app mobili con i tuoi certificati privati. E fai clic su Continua.

La configurazione è completa e il tuo spazio di lavoro è pronto. Fai clic su Vai alla tua area 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 sottodominio (ad esempio http://chat.linux-console.net) invece di digitare l'indirizzo del server e la porta dell'applicazione (ad esempio http://10.42.0.247:3000 ).

Inoltre, Rocket.Chat è un server applicativo di livello intermedio che non gestisce SSL/TLS. Un proxy inverso consente inoltre di configurare i certificati SSL/TLS per abilitare HTTPS.

Abilita il proxy inverso Nginx per Rocket.Chat

10. Innanzitutto, installa il pacchetto NGINX se non è ancora installato sul 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 all'avvio automatico all'avvio 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 nella directory /etc/nginx/conf.d/, Per esempio.

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

Quindi copia e incolla la seguente configurazione nel file (sostituisci chat.linux-console.net con il tuo sottodominio o dominio valido).

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;
    }
}

Salva il file e chiudilo.

13. Quindi 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 Apache per Rocket.Chat

14. Inizia installando il pacchetto Apache2, se non è ancora installato, sul 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 e abilita il servizio Apache e controlla se è attivo e funzionante 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. Successivamente, crea un file host virtuale per l'applicazione Rocket.Chat in /etc/apache2/sites-available/ o /etc/httpd/conf.d/, ad esempio.

----- 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. Copia e incolla la seguente configurazione al suo interno, sostituisci chat.linux-console.net con il tuo dominio valido.

<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>

Salva il file e chiudilo.

18. Su Ubuntu e Debian abilita i moduli apache2 richiesti 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 browser e digita il seguente indirizzo. L'applicazione Rocket.Chat dovrebbe essere accessibile utilizzando il tuo dominio configurato nel server proxy.

http://chat.linux-console.net

20. Il prossimo passo cruciale è aggiungere i vantaggi di sicurezza e privacy di un certificato HTTPS al tuo servizio di chat. Per un ambiente di produzione, ti consigliamo di utilizzare Let's Encrypt, un servizio gratuito e affidabile per la maggior parte dei browser Web moderni.

Tieni presente che Let's Encrypt è automatizzato: puoi utilizzare certbot, uno strumento open source gratuito per ottenere e installare automaticamente o semplicemente ottenere e installare manualmente i certificati Let's Encrypt nelle principali distribuzioni Linux e server web.

Passaggio 4: installazione dei client Rocket.Chat sul desktop

21. Ultimo ma non meno importante, puoi scaricare e installare un'app desktop Rocket.Chat per Linux, Mac o Windows da Rocket.Chat >sito web del progetto. Fornisce anche app mobili per Android e iOS.

Per installare l'applicazione desktop su Linux, scarica 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 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 Sistema e avvialo. Dopo il caricamento, inserisci l'URL del tuo server per connetterti ad esso come mostrato nello screenshot seguente.