GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déployer Rocket Chat avec Nginx sur Ubuntu 18.04

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 !


Linux
  1. Comment déployer Rocket.Chat sur Ubuntu 18.04

  2. Comment déployer Modsecurity avec Nginx sur Ubuntu 20.04 LTS

  3. Comment installer Rocket.Chat sur Ubuntu 16.04

  4. Comment installer Rocket.Chat sur Ubuntu 18.04

  5. Comment installer et configurer MERN Stack avec Nginx sur Ubuntu 20.04

Comment déployer Ghost Blog avec Nginx sur Ubuntu 20.04

Comment installer Rocket Chat sur Ubuntu 16.04 avec Docker

Comment installer Rocket.chat avec le proxy inverse nginx sur Ubuntu 20.04

Comment installer le logiciel CodoForum sur Ubuntu avec Nginx

Comment configurer un serveur Seafile avec Nginx sur Ubuntu 18.04

Comment déployer l'application Laravel avec Nginx sur Ubuntu ?