GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Rocket.Chat Server avec Nginx sur Ubuntu 20.04

Rocket.Chat est une application de chat basée sur le Web écrite en JavaScript, utilisant le framework Meteor full-stack. Il s'agit d'une plate-forme de collaboration de chat open source qui vous permet de communiquer en toute sécurité en temps réel sur plusieurs appareils. Il est auto-hébergé et prend en charge le chat vocal et vidéo, la visioconférence, le partage de fichiers et bien d'autres. Il dispose d'une application client disponible pour toutes les plates-formes, y compris Windows, macOS, Linux, Android et iOS.

Dans ce tutoriel, nous allons vous montrer comment installer Rocket.Chat sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, il est recommandé de mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour avec la commande suivante :

apt-get update -y

Une fois votre système mis à jour, installez les autres dépendances requises avec la commande suivante :

apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Installer Node.js

Ensuite, vous devrez installer Node.js version 12 sur votre système. Par défaut, il n'est pas disponible dans le référentiel standard Ubuntu 20.04. Vous devrez donc ajouter le référentiel officiel Node.js à votre système. Vous pouvez l'ajouter avec la commande suivante :

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Une fois le dépôt ajouté, installez le Node.js avec la commande suivante :

apt-get install nodejs -y

Après avoir installé Node.js, vérifiez la version installée de Node.js avec la commande suivante :

noeud -v

Vous devriez obtenir le résultat suivant :

v12.19.0

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer MongoDB

Ensuite, vous devrez installer le serveur MongoDB sur votre système. Par défaut, la dernière version de MongoDB n'est pas disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc ajouter le référentiel MongoDB dans votre système. Tout d'abord, téléchargez et ajoutez la clé GPG avec la commande suivante :

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Vous devriez obtenir le résultat suivant :

Exécution :/tmp/apt-key-gpghome.Ku2thT4UnL/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4gpg :clé 68818C72E52529D4 :clé publique "MongoDB 4.0 Release Signing Clé <[email protected]>" importégpg :Nombre total traité :1gpg :importé :1

Ensuite, ajoutez le référentiel officiel MongoDB avec la commande suivante :

add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Une fois le dépôt ajouté, installez MongoDB avec la commande suivante :

apt-get install mongodb-org -y

Après avoir installé MongoDB, démarrez le service MongoDB et activez-le pour qu'il démarre au redémarrage du système :

systemctl démarrer mongod
systemctl activer mongod

Ensuite, vous devrez modifier le fichier de configuration par défaut de MongoDB et définir le jeu de répliques. Vous pouvez le faire avec la commande suivante :

nano /etc/mongod.conf

Ajoutez les lignes suivantes :

réplication :replSetName :"replica01"

Enregistrez et fermez le fichier puis redémarrez le service MongoDB pour appliquer la configuration :

systemctl redémarre mongod

Ensuite, connectez-vous au shell MongoDB et activez le réplica avec la commande suivante :

mongo
> rs.initiate()

Vous devriez obtenir le résultat suivant :

{ "info2" :"aucune configuration spécifiée. Utilisation d'une configuration par défaut pour l'ensemble", "me" :"127.0.0.1:27017", "ok" :1, "operationTime" :Timestamp(1605081439, 1) , "$clusterTime" :{ "clusterTime" :Timestamp(1605081439, 1), "signature" :{ "hash" :BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" :NumberLong(0) } }} 

Ensuite, quittez le shell MongoDB avec la commande suivante :

> quitter

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer Rocket.Chat

Ensuite, vous devrez créer un nouvel utilisateur pour Rocket.Chat et l'ajouter au groupe www-data. Vous pouvez le faire en utilisant la commande suivante :

useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-data

Ensuite, donnez les autorisations appropriées au répertoire /opt/rocket :

chmod 750 /opt/fusée

Ensuite, basculez l'utilisateur vers Rocket.Chat 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 -xvzf rocket.chat.tgz

Ensuite, renommez le répertoire extrait avec Rocket.Chat avec la commande suivante :

mv bundle Rocket.Chat

Ensuite, changez le répertoire sur le serveur Rocket.Chat et installez toutes les dépendances Node.js à l'aide de la commande suivante :

cd Rocket.Chat/programs/server
installation npm

Une fois toutes les dépendances installées, vous pouvez quitter l'utilisateur Rocket.Chat à l'aide de la commande suivante :

quitter

Créer un fichier de service Systemd pour Rocket.Chat

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Rocket.Chat. Vous pouvez le créer avec la commande suivante :

nano /etc/systemd/system/rocketchat.service

Ajoutez les lignes suivantes :

[Unit]Description=Rocket.Chat serverAfter=network.target nss-lookup.target mongod.target[Service]StandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketEnvironment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocket.votredomaine.com PORT=3000ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js[Install]WantedBy=multi-user.target

Enregistrez et fermez le fichier puis rechargez le démon systemd avec la commande suivante :

rechargement du démon systemctl

Ensuite, démarrez le service Rocket.Chat et activez-le au redémarrage du système avec la commande suivante :

systemctl démarrer rocketchat
systemctl activer rocketchat

Vous pouvez maintenant vérifier l'état du Rocket.Chat avec la commande suivante :

fusée de statut systemctl

Si tout va bien, vous devriez obtenir le résultat suivant :

 ? rocketchat.service - Serveur Rocket.Chat Chargé :chargé (/etc/systemd/system/rocketchat.service ; désactivé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le mercredi 2020-11-11 07:58:01 UTC ; Il y a 24 s PID principal :19951 (noeud) Tâches :11 (limite :4691) Mémoire :508,7 Mo CGroup :/system.slice/rocketchat.service ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main .jsNov 11 07:58:21 ubuntu2004 rocketchat[19951] : ? | Version MongoDB :4.0.21 | 11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | Moteur MongoDB :wiredTiger | 11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | Plate-forme :linux | 11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | Port de processus :3000 | 11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | URL du site :http://rocket.votredomaine.com |11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | ReplicaSet OpLog :Activé |11 novembre 07:58:21 Ubuntu2004 rocketchat[19951] : ? | Commit Hash :e37d7ba8ed |11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | Branche de validation :HEAD | 11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? | |11 novembre 07:58:21 ubuntu2004 rocketchat[19951] : ? +------------------------------------------------------------- ---------+

Configurer Nginx pour Rocket.Chat

Ensuite, vous devrez configurer le Nginx en tant que proxy inverse pour Rocket.Chat. Pour ce faire, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/sites-available/rocketchat.conf

Ajoutez les lignes suivantes :

myrocketchat en amont { serveur 127.0.0.1:3000;}serveur { écouter 80 ; nom_serveur rocket.votredomaine.com ; access_log /var/log/nginx/access.log ; error_log /var/log/nginx/error.log; emplacement / { proxy_pass http://myrocketchat/; proxy_http_version 1.1 ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion "mise à niveau" ; proxy_set_header Hôte $http_host ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for ; proxy_set_header X-Forward-Proto http ; proxy_set_header X-Nginx-Proxy true ; proxy_redirect désactivé ; }}

Enregistrez et fermez le fichier puis activez l'hôte virtuel Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/

Ensuite, vérifiez le Nginx pour toute erreur systex avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Enfin, redémarrez le service Nginx pour appliquer les modifications de configuration :

systemctl redémarrer nginx

Vous pouvez également vérifier l'état du service Nginx avec la commande suivante :

statut systemctl nginx

Vous devriez obtenir le résultat suivant :

 ? nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé :chargé (/lib/systemd/system/nginx.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le mercredi 2020-11-11 07 :59:39 UTC ; Il y a 4 s Docs :man:nginx(8) Processus :20034 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) Processus :20047 ExecStart=/usr/sbin/nginx -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) PID principal :20051 (nginx) Tâches :3 (limite :4691) Mémoire :3,5 M CGroup :/system.slice/nginx.service ??20051 nginx :processus maître /usr/ sbin/nginx -g démon activé ; master_process activé ; ??20052 nginx :processus de travail ??20053 nginx :processus de travailNov 11 07:59:39 ubuntu2004 systemd[1] :Démarrage Un serveur Web haute performance et un serveur proxy inverse...Nov 11 07:59:39 ubuntu2004 systemd[ 1] :Démarré Un serveur Web hautes performances et un serveur proxy inverse.

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à Rocket.Chat

À ce stade, Rocket.Chat est installé et configuré. Il est temps d'accéder à l'interface Web de Rocket.Chat. Ouvrez votre navigateur Web et accédez à Rocket.Chat en utilisant l'URL http://rocket.yourdomain.com .Vous serez redirigé vers la page suivante :

Indiquez votre nom d'administrateur, votre adresse e-mail, votre mot de passe et cliquez sur Continuer bouton. Vous devriez voir la page suivante :

Indiquez le type, le nom, le secteur, la taille et le pays de votre organisation et cliquez sur Continuer bouton. Vous devriez voir la page suivante :

Indiquez le nom de votre site, la langue, le type de serveur et cliquez sur Continuer bouton. Vous devriez voir la page suivante :

Acceptez les conditions et la politique de confidentialité, puis cliquez sur Continuer bouton. Vous devriez voir la page suivante.

Cliquez sur Accéder à votre espace de travail bouton. Vous serez redirigé vers le tableau de bord Rocket.Chat sur la page suivante :

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Rocket.Chat avec Nginx en tant que proxy inverse. Vous pouvez maintenant installer Rocket.Chat dans l'environnement de production et commencer à discuter avec vos amis et votre famille.


Ubuntu
  1. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.04

  2. Comment installer Nginx avec Google PageSpeed ​​sur Ubuntu 20.04

  3. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

  4. Comment installer Rocket.Chat sur Ubuntu 16.04

  5. Comment installer Rocket.Chat sur Ubuntu 18.04

Comment installer FileRun sur Ubuntu 20.04 avec Apache/Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 18.04 avec Apache/Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 20.04 avec Apache/Nginx

Comment installer Nginx sur Ubuntu

Comment installer LetsEncrypt avec Nginx sur Ubuntu 15.04

Comment déployer Rocket Chat avec Nginx sur Ubuntu 18.04