Comment installer Rocket.Chat sur Ubuntu 20.04 avec snap

Rocket.Chat est un logiciel de communication en équipe. Le fonctionnement de l'outil est très proche de celui de Mattermost, vous pouvez échanger avec les autres membres sur des fils publics (accessibles à tou·te·s), des groupes de discussion privés (accessibles sur invitation d'un·e membre) ou par messages privés.

La mise en forme des messages se fait avec le langage Markdown. De nombreuses fonctionnalités sont proposées : partage de fichiers, messages vocaux, échange par vidéo.

Comme tous les logiciels décentralisés, il est possible de l'installer sur son propre serveur.

De plus, il propose un mode livechat "Omnichannel" qui permet à vos clients/visiteurs de pouvoir discuter directement avec vous, pour une réactivité au top ! Pour ma part, je l'ai mis en mode hors ligne, ce qui vous permez de m'envoyer un mail directement.

Installation

Il faut tout d'abord avoir le service snapd d'installé sur son système, si ce n'est pas le cas, saisissez la commande suivante :

apt-get install snapd -y

Une fois installé, vous pouvez d'ores et déjà utiliser les snaps sur Ubuntu.

Le format snap vise à permettre l'installation de nouvelles versions de logiciels dans les systèmes Linux, tout en apportant aux développeurs la facilité de distribution, la fiabilité et la sécurité. L'application s'exécute ensuite de manière isolée, ce qui accroît la stabilité et la sécurité du système

Rocket.Chat et toutes ses dépendances sont ainsi isolées du reste de votre système.

Les clichés se mettent également à jour automatiquement lorsqu'une nouvelle version est publiée.

Donc, plus besoin de mise à jour compliquée.

Pour installer Rocket.Chat, saisissez la commande suivante :

snap install rocketchat-server

Ensuite, accédez à http://VotreIP:3000 sur Rocket.Chat et vous pouvez commencez la configuration.

Attention au conflit de port avec un autre service, par exemple Grafana, vous pouvez changer le port d'écoute avec la commande suivante :

snap set rocketchat-server port=8080

Pour mettre à jour, si cela ne se fait pas automatiquement :

snap refresh rocketchat-server

Si vous préférez effectuer un rollback, un retour en arrière, pensez aux sauvegardes avant :

snap revert rocketchat-server

Pour sauvegarder, stoppez le processus, puis lancez la sauvegarde :

snap stop rocketchat-server.rocketchat-server

snap run rocketchat-server.backupdb

Vous aurez alors un message de ce type indiquant le chemin où se situe la sauvegarde, ainso que son horodatage :

A backup of your data can be found at /var/snap/rocketchat-server/common/backup/rocketchat_backup_.tar.gz

Pour restaurer cette sauvegarde :

snap stop rocketchat-server.rocketchat-server

cp rocketchat_backup.tar.gz /var/snap/rocketchat-server/common/

snap run rocketchat-server.restoredb /var/snap/rocketchat-server/common/rocketchat_backup.tgz

Configuration avec Nginx

Maintenant que votre service est fonctionnel, il convient de ne pas l'exposer avec VotreIP:Port

Nous allons utiliser Nginx pour ce faire, pour l'installer :

apt-get install nginx

Créez ensuite un fichier de configuration pour Rocket.Chat :

nano /etc/nginx/conf.d/chat.conf

Mettez les lignes suivantes dans le fichier. Remplacez chat.example.com par votre propre nom de domaine, ainsi que le numéro de port que vous avez spécifié (par défaut 3000) :

server {
      listen 80;
      server_name chat.example.com;

      location / {
          proxy_pass http://127.0.0.1:3000;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_set_header X-Forwarded-Proto https;
          proxy_set_header X-Nginx-Proxy true;
      }
}
J'y ai rajouté les instructions pour l'utilisation du websocket, nécessaires pour l'utilisation des applications

Enregistrez et fermez ce fichier.

Rechargez Nginx pour que la modification prenne effet :

sudo systemctl reload nginx

Vous pouvez maintenant accéder à votre messagerie instantanée via chat.example.com.

Activer le HTTPS

Pour chiffrer le trafic HTTP lorsque vous visitez Rocket.Chat de l'extérieur, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

Exécutez ensuite la commande suivante pour obtenir et installer le certificat TLS :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d chat.example.com

Le certificat doit maintenant être obtenu et installé automatiquement, vous pouvez accéder à l'interface Web de Rocket.chat via HTTPS.

Boris

Boris