Rocket.Chat – Chat d’équipe gratuit, open source et d’entreprise pour Linux

Rocket.Chat est une plateforme gratuite, open-source, évolutive, hautement personnalisable et sécurisée qui vous permet de communiquer et de collaborer avec votre équipe, de partager des fichiers et de discuter en temps réel. Il est multiplateforme et fonctionne sous les systèmes d’exploitation Linux, Windows, macOS, Android et iOS.

Il est similaire à Slack et propose des chats en direct, des conférences audio et vidéo gratuites, des canaux, un accès invité, le partage d’écran et de fichiers. Pour garantir une communication sécurisée, il prend en charge la synchronisation de groupe LDAP, l’authentification à deux facteurs (2FA), le chiffrement de bout en bout, la connexion unique (SSO) et plusieurs fournisseurs Oauth.

Importamment, étant entièrement open-source, vous pouvez accéder à son code source pour le personnaliser entièrement, l’étendre ou ajouter de nouvelles fonctionnalités pour répondre aux besoins de votre équipe ou de votre entreprise.

Dans cet article, vous apprendrez comment installer et configurer le serveur et le client Rocket.Chat sur un système Linux.

Étape 1 : Installation de Snaps sur Linux

1. La manière la plus simple d’installer Rocket.Chat est d’utiliser Snaps – ils sont pris en charge par la plupart, sinon toutes les distributions Linux modernes, et ils sont sécurisés car ils s’exécutent confinés dans un bac à sable de sécurité restrictif. De plus, avec les snaps, vous pouvez également les mettre à jour automatiquement lorsqu’une nouvelle version d’un package est disponible.

Tout d’abord, assurez-vous d’avoir le paquet snapd installé sur votre système, sinon installez-le à l’aide de votre gestionnaire de paquets par défaut comme indiqué.

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

2. Lorsque l’installation est terminée, vous devez activer l’unité systemd qui gère le socket de communication principal de Snap comme suit. Notez que cette commande démarrera le socket et le rendra activé au démarrage du système. Sur Ubuntu, cela devrait se faire automatiquement après l’installation du paquet.

$ sudo systemctl enable --now snapd.socket

De plus, vous pouvez activer le support Snap classique en créant un lien symbolique entre /var/lib/snapd/snap et /snap.

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

Étape 2 : Installation de Rocket.Chat sous Linux

3. Maintenant que vous avez installé Snapd, exécutez la commande suivante pour installer le serveur rocketchat.
$ sudo snap install rocketchat-server

4. Lorsque l’installation de Snap est terminée, votre serveur rocket.chat démarrera et écoutera sur le port 3000 par défaut. Ouvrez un navigateur Web et saisissez l’adresse suivante pour configurer rocket.chat sur le système.

http://SERVER_IP:3000

5. Après le chargement de l’assistant de configuration, fournissez le nom complet de l’utilisateur administratif, le nom d’utilisateur, l’e-mail organisationnel et le mot de passe.

Enter Your Admin Info

6. Ensuite, fournissez les informations organisationnelles (type d’organisation, nom, industrie, taille, pays et site Web), puis cliquez sur Continuer.

Enter Organization Info

7. Ensuite, fournissez les informations sur le serveur (nom du site, type de serveur par défaut, et activez également la 2FA ou non). Cliquez ensuite sur Continuer.

Enter Server Info

8. Sur la page suivante, enregistrez le serveur. Il y a deux options ici, la configuration par défaut consiste à utiliser les passerelles et les proxys préconfigurés fournis par Rocket.Chat (c’est l’option recommandée).

Alternativement, vous pouvez choisir de rester autonome et de créer des comptes avec des fournisseurs de services, de mettre à jour les paramètres préconfigurés, et également de recompiler les applications mobiles avec vos certificats privés. Et cliquez sur Continuer.

Register Rocket.Chat Server

La configuration est terminée et votre espace de travail est prêt. Cliquez sur Aller sur votre espace de travail.

Use Work Space
Rocket.Chat Home Workspace

Étape 3 : Configuration d’un proxy inverse pour Rocket.Chat

9. Un proxy inverse tel que NGINX ou Apache vous permet de configurer l’application Rocket.Chat pour qu’elle soit accessible via un domaine ou un sous-domaine (par exemple http://chat.tecmint.com) au lieu de taper l’adresse du serveur et le port de l’application (par exemple http://10.42.0.247:3000).

De plus, Rocket.Chat est un serveur d’application de niveau intermédiaire qui ne gère pas SSL/TLS. Un proxy inverse vous permet également de configurer des certificats SSL/TLS pour activer HTTPS.

Activer le proxy inverse Nginx pour Rocket.Chat

10. Tout d’abord, installez le paquet NGINX s’il n’est pas encore installé sur votre système.

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

11. Une fois l’installation du paquet terminée, démarrez le service Nginx, pour le moment, activez-le pour démarrer automatiquement au démarrage du système et vérifiez son état pour vous assurer qu’il fonctionne.

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

12. Ensuite, créez un fichier de bloc de serveur virtuel pour l’application Rocket.Chat dans le répertoire /etc/nginx/conf.d/, par exemple.

$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf

Puis copiez et collez la configuration suivante dans le fichier (remplacez chat.tecmint.com par votre sous-domaine ou domaine valide).

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

Enregistrez le fichier et fermez-le.

13. Ensuite, vérifiez la configuration de NGINX pour tout problème de syntaxe. Si tout est en ordre, redémarrez le service Nginx pour appliquer les modifications récentes.

$ sudo nginx -t
$ sudo systemctl restart nginx

Activez le proxy inverse Apache pour Rocket.Chat

14. Commencez par installer le paquet Apache2 s’il n’est pas encore installé sur votre système.

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

15. Ensuite, démarrez et activez le service apache et vérifiez s’il fonctionne comme suit.

----- 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. Ensuite, créez un fichier de virtual host pour l’application Rocket.Chat dans le répertoire /etc/apache2/sites-available/ ou /etc/httpd/conf.d/, par exemple.

----- 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. Copiez et collez la configuration suivante dedans, remplacez chat.tecmint.com par votre domaine valide.

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

Enregistrez le fichier et fermez-le.

18. Sur Ubuntu et Debian, activez les modules apache2 nécessaires et redémarrez le service pour appliquer les modifications récentes.

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

Sur CentOS/RHEL et Fedora, redémarrez simplement le service apache.

# systemctl restart httpd

19. Maintenant que tout est configuré correctement, ouvrez votre navigateur et tapez l’adresse suivante. L’application Rocket.Chat devrait être accessible en utilisant votre domaine configuré dans le serveur proxy.

http://chat.tecmint.com
Rocket.Chat Login Screen

20. La prochaine étape cruciale est d’ajouter les avantages de sécurité et de confidentialité d’un certificat HTTPS à votre service de chat. Pour un environnement de production, nous recommandons d’utiliser Let’s Encrypt qui est gratuit et approuvé par la plupart des navigateurs web modernes.

Notez que Let’s Encrypt est automatisé : vous pouvez utiliser certbot, un outil open-source gratuit pour obtenir et installer automatiquement ou simplement obtenir et installer manuellement les certificats Let’s Encrypt dans les distributions Linux principales et les serveurs web.

Étape 4 : Installation des clients Rocket.Chat sur le bureau

21. Enfin, vous pouvez télécharger et installer une application de bureau Rocket.Chat pour Linux, Mac ou Windows depuis le site web du projet Rocket.Chat. Il fournit également des applications mobiles pour Android et iOS.

Pour installer l’application de bureau sur Linux, vous pouvez télécharger un paquet deb (x64) ou rpm(x64) en fonction de votre distribution 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. Ensuite, installez le package en utilisant le gestionnaire de paquets dpkg ou rpm comme indiqué.

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

23. Une fois l’installation du package terminée, recherchez rocket.chat dans le Menu Système et lancez-le. Après son chargement, saisissez l’URL de votre serveur pour vous y connecter comme indiqué dans la capture d’écran suivante.

Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/