Rocket.Chat #02 How to Install RocketChat on Centos or RHEL Server
Table des matières:
- Conditions préalables
- Installer les dépendances
- Créer un nouvel utilisateur système
- Installation de Rocket.Chat
- Créer une unité Systemd
- Configurer un proxy inverse avec Nginx
- Configuration de Rocket.Chat
- Conclusion
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:
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 mongodbComment déployer Odoo 11 sur Ubuntu 18.04
Ce guide couvre les étapes nécessaires pour installer et configurer Odoo pour la production en utilisant la source Git et l'environnement virtuel Python sur un système Ubuntu 18.04.
Comment déployer Rocket.chat sur Ubuntu 18.04
Rocket.Chat est une plateforme de communication d'équipe open source, une alternative Slack auto-hébergée. Rocket.Chat est une solution parfaite pour les entreprises et les communautés qui souhaitent héberger leur propre système de chat.
Comment déployer le plus important sur Centos 7
Mattermost rassemble toutes les communications de votre équipe en un seul endroit et fournit diverses fonctionnalités, notamment le partage de fichiers, la messagerie individuelle et de groupe, les emojis personnalisés, les appels vidéo et plus encore.