GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Si vous recherchez une plate-forme de chat open source auto-hébergée, Rocketchat peut être la meilleure option. Le chat Rocket peut être utilisé comme une alternative à différents canaux de communication tels que le mou, le plus important, etc. Le chat Rocket est livré avec différentes fonctionnalités telles que les discussions de groupe, la vidéoconférence et vous pouvez intégrer le chat en direct avec d'autres plateformes. Dans cet article, nous allons apprendre à configurer un système Rocketchat auto-hébergé avec des certificats SSL chiffrés.

Prérequis

  1. Nouveau serveur Ubuntu
  2. Accès root ou compte privilégié sudo
  3. Un nom de domaine pointé vers l'IP du serveur
  4. Connexion Internet pour télécharger des applications

Installer les packages et les dépendances requis

Avant d'installer les packages, mettez à jour le système Ubuntu à l'aide de la commande suivante

$ sudo apt-get update -y

Une fois la mise à jour du système terminée, configurez apt pour installer les packages MongoDB à l'aide de la commande suivante.

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Sortie :

Pour configurer Node.js pour pouvoir installer en utilisant apt gestionnaire de packages exécutez la commande suivante.

$ sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

Sortie :

Installez maintenant les outils de compilation Nodejs, MongoDB et graphicsmagick :

$ sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick

Sortie :

Installez maintenant inherits et n, et la version du nœud requise par Rocketchat.

$ sudo npm install -g inherits n && sudo n 12.18.4

Pour vérifier la version de Nodejs installée, exécutez la commande suivante.

$ node --version

Sortie :

v12.18.4

Installer Rocketchat

Nous avons déjà installé les dépendances requises. Maintenant, dans cette étape, nous allons télécharger l'application Rocket Chat et l'installer sur Ubuntu 20.04.

Téléchargez la dernière version de Rocketchat à l'aide de la commande suivante.

$ curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp

Sortie :

Extrayez l'application téléchargée. Vous pouvez choisir votre répertoire préféré pour stocker le fichier extrait. Dans cet exemple, j'ai extrait le fichier dans le dossier /tmp répertoire.

$ tar -xvzf /tmp/rocket.chat.tgz -C /tmp

Installez maintenant Rocketchat. Dans cet article /opt répertoire est utilisé pour l'installation. Vous pouvez préférer n'importe quel répertoire.

$ cd /tmp/bundle/programs/server && npm install

Sortie :

$ sudo mv /tmp/bundle /opt/Rocket.Chat

Configurer le service Rocket.Chat

Créez un utilisateur rocketchat, définissez l'autorisation appropriée pour le répertoire de l'application Rocket.Chat et créez le service Rocket.Chat.

$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

Pour créer rocketchat.service, exécutez la commande suivante sur votre terminal

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.service mongod.service
[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 ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF

Exemple :

Nous devons maintenant configurer un moteur de stockage et une réplication MongoDB. Après cela, activez et démarrez mongoDB en tant que :

$ 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())"

Sortie :

Maintenant, démarrez et activez le service Rocket.Chat à l'aide de la commande suivante :

$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Vérifiez l'état du service Rocket.Chat"

$ sudo systemctl status rocketchat

Sortie :

Installation de Nginx et configuration du proxy inverse

Pour configurer le proxy inverse nginx pour Rocket.Chat, installez nginx à l'aide de la commande suivante

$ sudo apt install nginx

Créez une configuration d'hôte virtuel nginx pour rocketchat.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf

Collez maintenant le contenu suivant et enregistrez le fichier

upstream backend {
server 127.0.0.1:3000;
}

server {
listen 80;

server_name your_rocketchat_domain_name;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;

location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $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 off;
}
}

Vérifiez le fichier de configuration nginx

$ sudo nginx -t

Redémarrez et activez le service nginx

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

Accédez maintenant à votre domaine rocketchat en tant que

http://votre_domaine_rocketchat

Vous obtiendrez un assistant de configuration Web, complétez-le et commencez à utiliser Rocket.Chat

Nginx comme proxy inverse SSL

Nous avons configuré Rocket.Chat avec uniquement un proxy inverse HTTP. Pour configurer nginx en tant que proxy inverse SSL, vous aurez besoin de fichiers de certificat. Modifiez le fichier nginx vhost et collez le contenu suivant.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf
upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443 ssl;
Server_name your_rocketchat_domain_name;
client_max_body_size 200M;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

location / {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}

Remarque :

Générez ou achetez un certificat ssl et pointez le répertoire de votre fichier de certificat dans le paramètre de configuration suivant.

ssl_certificate /etc/nginx/certificate.crt; [Your certificate file]
ssl_certificate_key /etc/nginx/private.key; [Your Private Key file]

Vérifiez le fichier de configuration nginx

sudo nginx -t

Redémarrez le service nginx

sudo systemctl restart nginx

Accéder à Rocketchat

Une fois le proxy inverse configuré, vous pouvez accéder à votre Rocket.Chat en utilisant l'URL comme :

https://you_rocket_chat_domain

Vous obtiendrez l'assistant de configuration Web Rocket.Chat. Terminez la configuration et commencez à utiliser votre Rocket.Chat auto-hébergé.

Conclusion

Dans cet article, nous avons appris à installer et à configurer le chat Rocket auto-hébergé sur Ubuntu 20.04. J'ai également expliqué comment installer et configurer nginx pour le proxy inverse avec les certificats SSL chiffrés.


Ubuntu
  1. Comment installer Nginx sur Ubuntu 16.04

  2. Comment installer Odoo 11 sur Ubuntu 16.04 avec Nginx en tant que proxy inverse

  3. Comment installer Odoo 10 sur Ubuntu 16.04 avec Nginx en tant que proxy inverse

  4. Comment installer Odoo sur Ubuntu 20.04 avec Nginx en tant que proxy inverse

  5. Comment installer Odoo 12 sur Ubuntu 18.04 avec Nginx en tant que proxy inverse

Comment installer Rocket Chat sur Ubuntu 16.04 avec Docker

Comment installer WordPress 5.x avec Nginx sur Ubuntu 18.04 / Ubuntu 16.04

Comment installer WordPress avec Nginx sur Ubuntu

Comment installer SuiteCRM sur Ubuntu 20.04 avec Apache/Nginx

Comment installer MediaWiki sur Ubuntu 20.04 avec Apache/Nginx

Comment installer Rocket.Chat sur Ubuntu 20.04 LTS