Android

Comment déployer Rocket.chat sur Centos 7

Rocket.Chat #02 How to Install RocketChat on Centos or RHEL Server

Rocket.Chat #02 How to Install RocketChat on Centos or RHEL Server

Table des matières:

Anonim

Rocket.Chat est une plateforme de communication d'équipe complète, une alternative Slack auto-hébergée. Il est construit avec Meteor et fournit diverses fonctionnalités, notamment le chat d'assistance, la vidéoconférence, le partage de fichiers, les messages vocaux, l'API, etc.

Dans ce didacticiel, nous vous montrerons comment installer et déployer Rocket.Chat sur un serveur CentOS 7 avec Nginx comme proxy inverse SSL.

Conditions préalables

Assurez-vous que vous avez rempli les conditions préalables suivantes avant de poursuivre ce didacticiel:

  • Serveur CentOS 7, selon la configuration système officielle de Rocket.Chat, vous avez besoin d'au moins 1 Go de RAM.Vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.Vous avez un nom de domaine pointant vers l'adresse IP de votre serveur., nous utiliserons example.com Vous avez installé Nginx, sinon vous pouvez l'installer en suivant ce tutoriel. Un certificat SSL. Vous pouvez en générer un gratuitement à partir de Let's Encrypt, ou en acheter un auprès d'un autre fournisseur.

Installer les dépendances

Installez les packages suivants qui sont nécessaires pour créer les modules npm requis:

sudo yum install epel-release curl GraphicsMagick gcc-c++

Ensuite, installez Node.js et npm en tapant:

sudo yum install -y nodejs npm

Au moment de la rédaction de cet article, la version Node.js recommandée pour Rocket.Chat est Node.js v8.11.3.

Exécutez les commandes suivantes pour installer l'utilitaire n et la version Node.js recommandée:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB est une base de données orientée document NoSQL et est utilisée par Rocket.Chat comme magasin de données. Rocket.Chat recommande MongoDB version 3.6.

Nous installerons MongoDB en utilisant yum partir des dépôts officiels de MongoDB.

Ouvrez l'éditeur de votre choix et créez le fichier de référentiel suivant:

sudo nano /etc/yum.repos.d/mongodb-org.repo

Collez le contenu suivant dans le fichier:

/etc/yum.repos.d/mongodb-org.repo

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Enregistrez le fichier et fermez votre éditeur de texte.

Pour installer MongoDB, exécutez la commande suivante:

sudo yum install mongodb-org

Une fois l'installation terminée, activez et démarrez le service MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Créer un nouvel utilisateur système

Créez un nouvel utilisateur et un nouveau groupe, qui exécutera notre instance Rocket.Chat. Pour simplifier, nous nommerons la rocket utilisateur:

sudo useradd -m -U -r -d /opt/rocket rocket

Ajoutez l'utilisateur nginx au nouveau groupe d'utilisateurs et modifiez les autorisations du répertoire /opt/rocket afin que Nginx puisse y accéder:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

Installation de Rocket.Chat

Passez à la rocket utilisateur en tapant:

sudo su - rocket

Téléchargez la dernière version stable de Rocket.Chat avec curl:

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Une fois le téléchargement terminé, extrayez l'archive et renommez le répertoire en Rocket.Chat .

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

Accédez au répertoire Rocket.Chat/programs/server et installez tous les packages npm requis:

cd Rocket.Chat/programs/server npm install

Avant de créer une unité systemd et de configurer un proxy inverse avec Nginx, il est judicieux de tester si l'installation a réussi.

Pour ce faire, commencez par définir les variables d'environnement requises:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

Ensuite, revenez dans le répertoire Rocket.Chat et démarrez le serveur Rocket.Chat en émettant les commandes suivantes:

cd../../ node main.js

S'il n'y a aucune erreur, vous devriez voir la sortie suivante:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

À ce stade, Rocket.Chat est installé sur votre machine CentOS 7. Arrêtez le serveur Rocket.Chat avec CTRL+C et passez aux étapes suivantes.

Créer une unité Systemd

Pour exécuter Rocket.Chat en tant que service, créez un fichier d'unité rocketchat.service dans le répertoire /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Collez le contenu suivant dans le fichier: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

Enregistrez et fermez le fichier.

Informez systemd qu'un nouveau fichier d'unité a été créé et démarrez le service Rocket.Chat en exécutant:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Vérifiez l'état du service avec la commande suivante:

sudo systemctl status rocketchat

La sortie devrait ressembler à ceci:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

S'il n'y a aucune erreur, vous pouvez activer le démarrage automatique du service Rocket.Chat au démarrage:

sudo systemctl enable rocketchat

Configurer un proxy inverse avec Nginx

Nous devons maintenant créer un nouveau bloc serveur pour notre installation Rocket.Chat:

sudo nano /etc/nginx/conf.d/example.com.conf

Collez le contenu suivant dans le fichier:

/etc/nginx/conf.d/example.com.conf

upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_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; } }

Rechargez le service Nginx pour que les modifications prennent effet:

sudo systemctl reload nginx

Configuration de Rocket.Chat

Ouvrez votre navigateur et tapez: http://chat.example.com .

En supposant que l'installation est réussie, vous serez présenté avec l'assistant de configuration Rocket.Chat qui vous guidera à travers la configuration de votre premier utilisateur administrateur, la configuration de votre organisation et l'enregistrement de votre serveur pour recevoir des notifications push gratuites et plus encore.

La première section de l'assistant de configuration initiale vous demandera de configurer votre utilisateur Admin:

Cliquez sur le bouton Go to your workspace et vous serez redirigé vers le tableau de bord Rocket.Chat connecté en tant qu'utilisateur administrateur.

Conclusion

Vous avez correctement installé Rocket.Chat sur votre serveur CentOS 7. Vous pouvez maintenant commencer à utiliser Rocket.Chat pour collaborer avec votre équipe, partager des fichiers et discuter en temps réel.

rocketchat nodejs centos mongodb