Dans le guide d’aujourd’hui, nous allons voir l’Installation de Rocket.Chat sur Debian 9. Rocket.chat est une solution open source qui, pour faire simple, est une des alternatives les plus populaires à Slack. Celui-ci permet de communiquer et collaborer avec votre équipe, partager des fichiers, discuter en temps réel ou effectuer des conférences vidéo / audio.
L’installation sera effectuée sur Debian 9 et non Debian 10, Mongodb étant utilisé pour rocket.chat. Effectivement celui-ci n’est toujours pas disponible à ce jour sur Debian 10 pour notre tutoriel. En effet, MongoDB utilise une librairie obsolète pour Debian 10 (libcurl3). Quand cela sera disponible, je ferai une nouvelle version pour Debian 10. Sachez que l’installation est sinon très similaire pour Ubuntu 18.04, il faudra juste faire attention à la façon d’installer MongoDb, vous pouvez retrouver cela ici : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ mais aussi à la fin de cet article.
Installation
Pour commencer, nous allons mettre à jour notre système avant l’installation :
sudo apt -y update && sudo apt -y upgrade
Ensuite, vous devrez installer les différentes dépendances nécessaires à exécuter Rocket.Chat :
sudo apt install -y build-essential curl software-properties-common graphicsmagick dirmngr
Par la suite, il faudra installer mongoDB :
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt update
sudo apt -y install mongodb-org
Puis, installez nodjs :
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt install -y nodejs
sudo npm install -g inherits n && sudo n 8.11.4
Après cela, téléchargez Rocket.Chat :
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
Et enfin, on installera ce dernier :
cd /tmp/bundle/programs/server && npm install
sudo mv /tmp/bundle /opt/Rocket.Chat
Maintenant, on ajoutera un utilisateur Rocket.Chat puis on passera à la configuration du service Rocket.Chat :
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF
Une fois cela fait, il vous faudra ouvrir le fichier de service Rocket.Chat créé précédemment et changer la variable ROOT_URL : vim /usr/lib/systemd/system/rocketchat.service
vim /usr/lib/systemd/system/rocketchat.service
MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
ROOT_URL=http://votre_domaine:3000
PORT=3000
Pour finir, nous allons configurer MongoDB puis démarrer son service ainsi que celui de Rocket.Chat :
sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
sudo systemctl enable mongod && sudo systemctl start mongod
mongo --eval "printjson(rs.initiate())"
sudo systemctl enable rocketchat && sudo systemctl start rocketchat
Alors, ouvrez http: //votre_domaine:3000 dans votre navigateur Web préféré. L’écran de connexion de Rocket.Chat doit s’afficher. Vous pouvez maintenant créer votre premier utilisateur qui obtiendra les privilèges administratifs par défaut.

Ensuite, quelques informations supplémentaires vous seront demandées sur votre organisation :

Sur le serveur Rocket.Chat :

Finalement, si vous voulez utiliser les passerelles préconfigurées par Rocket.Chat Tecnologies Corp.

Dorénavant votre serveur est fonctionnel. Pour plus d’informations sur la gestion de votre installation Rocket.Chat, veuillez vous reporter à la documentation officielle de Rocket.Chat.
Enfin, vous avez la suite du tutoriel pour la Configuration du SSL pour RocketChat via Letsencrypt sur Nginx : https://sqx-bki.fr/configuration-du-ssl-pour-rocketchat-via-letsencrypt-sur-nginx
Ubuntu 18.04 : Installation mongoDB
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
apt update
apt -y install mongodb-org
systemctl enable mongod.service && systemctl start mongod.service