Rocket.Chat est une application de chat gratuite, open-source et auto-hébergée qui vous permet d'héberger votre propre serveur de chat. Il est très similaire à Slack et offre des fonctionnalités similaires, notamment le partage de fichiers, les systèmes de billetterie, le chat vidéo et la conférence. Avec Rocket.Chat, vous pouvez discuter avec les membres de l'équipe, créer des chaînes et des groupes privés, passer des appels vidéo et audio, partager des écrans et télécharger des fichiers.
Caractéristiques
- API puissantes
- Surveillance vidéo à distance
- Audio et visioconférence gratuites
- Synchronisation des groupes LiveChat et LDAP
- Partage d'écran et de fichiers
- Notifications sur ordinateur et sur mobile
- Salles multi-utilisateurs publiques et privées
Rocket.Chat est le meilleur choix pour vous si vous recherchez une plateforme de chat open source à héberger dans le Cloud.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer Rocket.Chat sur Ubuntu 18.04 VPS.
Prérequis
- Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
- Un nom de domaine valide pointant vers votre adresse IP VPS. Dans ce didacticiel, nous utiliserons node1.example.com.
Remarque :Vous pouvez vous référer au Atlantic DNS Guide pour gérer les enregistrements DNS.
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Installer Node.js
Rocket.Chat nécessite Node.js et d'autres dépendances pour créer des packages npm à partir de la source. Commencez par ajouter le référentiel Node.js en exécutant la commande suivante :
curl -sL https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"| bash -
Ensuite, mettez à jour le référentiel et installez Node.js avec les dépendances requises avec la commande suivante :
apt-get update -y apt-get install nodejs build-essential curl software-properties-common graphicsmagick -y
Étape 3 - Installer MongoDB
Rocket.Chat nécessite que MongoDB soit installé sur votre serveur. Par défaut, la dernière version de MongoDB n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04, vous devrez donc ajouter le référentiel MongoDB à votre serveur.
Tout d'abord, téléchargez et ajoutez la clé de dépôt officielle avec la commande suivante :
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Ensuite, ajoutez le référentiel MongoDB en exécutant la commande suivante :
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Une fois le référentiel ajouté, mettez à jour le référentiel et installez MongoDB avec la commande suivante :
apt-get update -y apt-get install mongodb-org -y
Une fois MongoDB installé, démarrez le service MongoDB et autorisez-le à démarrer après le redémarrage du système :
systemctl start mongod systemctl enable mongod
netstat -ant
Sortie :
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
Étape 4 - Configurer MongoDB
Rocket.Chat utilise le jeu de répliques MongoDB pour améliorer les performances, vous devrez donc configurer le jeu de répliques MongoDB. Vous pouvez le configurer avec la commande suivante :
echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf
Ensuite, redémarrez le service MongoDB pour appliquer les modifications :
systemctl restart mongod
Ensuite, connectez-vous au shell MongoDB et lancez le jeu de répliques avec la commande suivante :
mongo rs.initiate()
Vous devriez voir le résultat suivant :
À ce stade, MongoDB est installé et configuré avec le jeu de répliques.
Tapez Exit pour quitter MongoDB.
Étape 5 - Installer Rocket.Chat
Avant de commencer, il est recommandé de créer un nouvel utilisateur et un groupe pour exécuter Rocket.Chat.
Tout d'abord, créez un nouvel utilisateur avec le nom rocket avec la commande suivante :
adduser rocket
Vous devriez obtenir le résultat suivant :
Ensuite, autorisez Nginx à accéder au répertoire Rocket.Chat en ajoutant l'utilisateur rocket au groupe www-data :
usermod -a -G rocket www-data
Ensuite, basculez l'utilisateur vers rocket et téléchargez la dernière version de Rocket.Chat avec la commande suivante :
su - rocket curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar zxf rocket.chat.tgz
Ensuite, déplacez le répertoire extrait vers Rocket.Chat à l'aide de la commande suivante :
mv bundle Rocket.Chat
Ensuite, changez le répertoire en répertoire Rocket.Chat/programs/server et installez tous les packages npm requis avec la commande suivante :
cd Rocket.Chat/programs/server npm install
Remarque : L'installation de Rocket.Chat prendra quelques minutes
Une fois tous les packages installés, vous devriez voir la sortie suivante :
Ensuite, définissez les variables d'environnement requises pour tester l'installation de Rocket.Chat :
export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01
Ensuite, changez le répertoire en Rocket.Chat et démarrez le serveur Rocket.Chat en utilisant la commande suivante :
cd ~/Rocket.Chat node main.js
Remarque : Ce processus peut prendre plusieurs minutes
Vous devriez obtenir le résultat suivant :
Ensuite, arrêtez le serveur Rocket.Chat avec CTRL+C puis exécutez la commande suivante pour quitter l'utilisateur Rocket :
exit
Étape 6 - Créer un fichier de service Systemd pour Rocket.Chat
Ensuite, créez un fichier de service systemd pour démarrer et arrêter le service Rocket.Chat :
nano /etc/systemd/system/rocketchat.service
Ajoutez les lignes suivantes :
[Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01 ROOT_URL=http://node1.example.com PORT=3000 ExecStart=/usr/bin/nodejs /home/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd avec la commande suivante :
systemctl daemon-reload
Ensuite, démarrez le service Rocket.Chat et activez-le après le redémarrage du système :
systemctl start rocketchat systemctl enable rocketchat
Vous pouvez maintenant vérifier le service Rocket.Chat en utilisant la commande suivante :
systemctl status rocketchat
Vous devriez obtenir le résultat suivant :
Étape 7 - Configurer un proxy inverse avec Nginx
Ensuite, vous devrez installer et configurer Nginx en tant que proxy inverse pour transférer les requêtes client provenant du port 3000 vers le port Nginx 80.
Tout d'abord, installez le serveur Web Nginx avec la commande suivante :
apt-get install nginx -y
Ensuite, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/sites-available/rocket
Ajoutez les lignes suivantes :
server { listen 80; server_name node1.example.com; access_log /var/log/nginx/rocket-access.log; error_log /var/log/nginx/rocket-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:3000/; } }
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez l'hôte virtuel avec la commande suivante :
ln -s /etc/nginx/sites-available/rocket /etc/nginx/sites-enabled/
Enfin, redémarrez le service Nginx pour appliquer les modifications de configuration :
systemctl restart nginx
Étape 8 - Accéder à l'interface Web de Rocket.Chat
Maintenant, ouvrez votre navigateur Web et accédez à l'URL http://node1.example.com. Vous serez redirigé vers l'assistant de configuration de Rocket.Chat :
Fournissez votre nom d'utilisateur administrateur, votre adresse e-mail, vos détails de mot de passe et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Ensuite, fournissez les informations de votre organisation et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Ensuite, fournissez les informations de votre serveur et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Ensuite, utilisez les passerelles et proxys préconfigurés de Rocket.Chat et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Maintenant, cliquez sur Accéder à votre espace de travail bouton. Vous serez redirigé vers le tableau de bord par défaut de Rocket.Chat :
Conclusion
Toutes nos félicitations! Vous avez installé et configuré avec succès le serveur Rocket.Chat avec Nginx en tant que proxy inverse sur Ubuntu 18.04 VPS. Vous pouvez visiter le Rocket.Chat Doc pour découvrir le nouveau système de chat. Commencez dès aujourd'hui avec Rocket.Chat sur un VPS Atlantic.Net !