GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment déployer Rocket.Chat sur CentOS 7

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

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

Prérequis #

Assurez-vous que vous avez satisfait aux prérequis suivants avant de poursuivre ce didacticiel :

  • Serveur CentOS 7, selon la configuration système officielle de Rocket.Chat, vous avez besoin d'au moins 1 G 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. Dans cet article, 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 auprès 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 construire le npm requis module :

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 le n et la version recommandée de Node.js :

sudo npm install -g inherits nsudo 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 allons installer MongoDBusing yum depuis les dépôts MongoDB officiels.

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
[mongodb-org-3.6]
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 mongodsudo systemctl enable mongod

Créer un nouveau numéro d'utilisateur système

Créez un nouvel utilisateur et un groupe, qui exécutera notre instance Rocket.Chat. Pour plus de simplicité nous nommerons l'utilisateur rocket :

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

Ajouter le nginx utilisateur au nouveau groupe d'utilisateurs et modifiez le /opt/rocket les permissions du répertoire pour que le Nginx puisse y accéder :

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

Installation de Rocket.Chat #

Passer à l'utilisateurrocket 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.tgzmv bundle Rocket.Chat

Passez au Rocket.Chat/programs/server répertoire et installez tous les npm requis forfaits :

cd Rocket.Chat/programs/servernpm install

Avant de créer une unité systemd et de configurer un proxy inverse avec Nginxit, 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=3000export ROOT_URL=http://example.com:3000/export MONGO_URL=mongodb://localhost:27017/rocketchat

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

cd ../../node main.js

S'il n'y a pas d'erreurs, vous devriez voir le résultat suivant :

➔ +---------------------------------------------+
➔ |                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 un numéro d'unité Systemd

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

sudo nano /etc/systemd/system/rocketchat.service

Collez le contenu suivant dans le fichier :

/etc/systemd/system/rocketchat.service
[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 ROOT_URL=http://example.com:3000/ PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier.

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

sudo systemctl daemon-reloadsudo systemctl start rocketchat

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

sudo systemctl status rocketchat

Le résultat 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 pas d'erreurs, vous pouvez activer le démarrage automatique du service Rocket.Chat au démarrage :

sudo systemctl enable rocketchat

Configurer un proxy inverse avec Nginx #

Si vous avez suivi nos guides d'installation de Nginx sur CentOS 7 et de sécurisation de Nginx avec Let's Encrypt sur CentOS 7, Nginx devrait déjà être installé et configuré avec un certificat SSL.

Nous devons maintenant créer un nouveau bloc de 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, l'assistant de configuration de Rocket.Chat vous sera présenté, qui vous guidera dans 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 administrateur :

Une fois que vous avez terminé d'entrer les informations d'administration, cliquez sur Continue et à l'étape suivante, entrez les informations de votre organisation :

La troisième section de l'assistant de configuration initiale vous demandera d'entrer les informations du serveur :

À l'étape suivante, il vous sera demandé si vous souhaitez utiliser les passerelles et proxys préconfigurés de Rocket.Chat. La sélection de cette option vous donnera accès au marché des applications Rocket.Chat et la plupart des autres fonctionnalités telles que les notifications push fonctionneront. de la boîte.

Faites votre choix, cliquez sur Continue , et vous serez redirigé vers la page suivante indiquant que votre espace de travail est prêt à être utilisé :

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


Cent OS
  1. Comment déployer CDP sur un serveur CentOS

  2. Comment installer Rocket.Chat sur CentOS 7

  3. Comment installer Rocket.Chat sur Ubuntu 16.04

  4. Comment installer Rocket.Chat sur Ubuntu 18.04

  5. Comment déployer Ruby + Passenger + Nginx sur CentOS Linux

Comment installer R sur CentOS 8

Comment déployer un cluster partagé MongoDB sur CentOS 7

Comment installer Streamlit et déployer une application Streamlit sur CentOS 8

Comment installer Rocket.Chat sur CentOS 8

Comment installer Rocket.Chat sur Ubuntu 16.04 LTS

Comment déployer Rocket Chat avec Nginx sur Ubuntu 18.04