GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Rocket.Chat Server avec Nginx sur Ubuntu 16.04

Rocket.Chat est une solution de chat en ligne gratuite et open source pour la communication d'équipe, elle vous permet de créer votre propre mou comme le chat en ligne. Rocket.Chat est basé sur Javascript, développé à l'aide du framework Meteor full stack. Rocket.Chat est une excellente solution pour les entreprises qui souhaitent créer leur propre plateforme de chat privé.

Dans ce tutoriel, je vais vous montrer comment créer votre propre serveur de chat en utilisant Rocket.Chat. J'utiliserai le dernier serveur Ubuntu LTS 16.04 pour l'installation et Nginx comme proxy inverse pour l'application Rocket.Chat.

Prérequis

  • Ubuntu 16.04
  • Privilèges racine

Étape 1 - Installer les dépendances Rocket.Chat

Connectez-vous au serveur en utilisant ssh (ou le terminal) et tapez "sudo su" pour obtenir un accès root :

ssh [email protected]
sudo su

Mettez à jour le dépôt Ubuntu :

apt-obtenir la mise à jour

Ensuite, installez les nouveaux packages nécessaires à Rocket.Chat :

apt-get install curl graphicsmagick build-essential

Étape 2 - Installer MongoDB

Rocket.Chat nécessite MongoDB pour l'installation. Dans cette étape, nous allons installer MongoDB 3.2 à partir du référentiel MongoDB.

Ajoutez le serveur de clés MongoDB afin que nous puissions accéder aux packages :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Ajoutez ensuite le dépôt MongoDB avec la commande ci-dessous :

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Mettez à jour le référentiel et installez MongoDB avec la commande apt :

apt-get update
apt-get install mongodb-org

Ajoutez MongoDB pour qu'il s'exécute au démarrage et démarrez-le :

systemctl activer mongod
systemctl démarrer mongod

MongoDB a été démarré sur le port 27017.

Étape 3 - Configurer MongoDB ReplicaSet

Pour améliorer les performances, Rocket.Chat utilise un MongoDB ReplicaSet. Dans cette étape, nous allons configurer un MongoDB ReplicaSet simple en modifiant le fichier de configuration MongoDB.

Éditez le fichier mongod.conf avec vim :

vim /etc/mongod.conf

Ajoutez un "#" au début de la ligne 24 pour désactiver l'exécution de MongoDB sur l'IP localhost uniquement.

net :
    port :27017
    #bindIp :127.0.0.1

Ajoutez la configuration ReplicaSet ci-dessous à la ligne 34.

 #replication:
réplication:
oplogsizemb:1
repSetName:rs0

Enregistrez et quittez.

Redémarrez le service MongoDB :

systemctl redémarre mongod

Ensuite, démarrez le shell MongoDB et lancez le ReplicaSet :

exporter LC_ALL=C
mongo
rs.initiate()

Lancer les résultats :

{
  "info2" :"aucune configuration spécifiée. Utilisation d'une configuration par défaut pour l'ensemble",
  "me" :"nyanko-sensei:27017",
  "ok" :1
}

Assurez-vous que le 'ok ' la valeur est 1 . Si le résultat est un autre nombre, cela signifie que quelque chose ne va pas.

Étape 4 - Installer npm et nodejs

Dans cette étape, nous allons installer nodejs et npm à partir du référentiel Ubuntu. Ensuite, nous installerons le package n avec la commande npm pour obtenir une version spécifique de nodejs. La dernière version de Rocket.Chat nécessite nodejs 4.5.

Installez nodejs et npm depuis le dépôt Ubuntu :

apt-get install nodejs npm

Installez ensuite le package n globalement sur le système avec la commande npm :

npm install -g n

Utilisez la commande n pour télécharger et définir la version 4.5 de nodejs.

sudo n 4.5

Enfin, vérifiez la version de nodejs :

node --version
npm -v

Étape 5 - Installer le serveur Rocket.Chat

Nous allons installer Rocket.Chat (dernière version) dans le répertoire /var/www/.

Téléchargez la dernière version de Rocket.Chat et extrayez-la :

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

Créez un nouveau répertoire /var/www/ et renommez le répertoire bundle en 'Rocket.Chat' puis déplacez-le :

mkdir -p /var/www/
mv bundle Rocket.Chat
mv Rocket.Chat /var/www/

Accédez au répertoire Rocket.Chat, définissez certaines variables d'environnement requises et démarrez le serveur Rocket.Chat.

cd /var/www/Rocket.Chat/
cd programmes/serveur/
npm install

cd ../../
export ROOT_URL=http://192.168.1.110:3000/
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

Rocket.Chat est installé, ouvrez votre navigateur Web et visitez l'adresse IP du serveur sur le port 3000. - 192.168.1.110:3000.

Étape 6 - Installer et configurer Nginx en tant que proxy inverse pour Rocket.Chat

À l'étape 5, nous avons installé Rocket.Chat en tant qu'application autonome. Dans ce didacticiel, nous exécuterons Rocket.Chat derrière le serveur Web Nginx sur des connexions https pour obtenir une configuration sécurisée et rapide.

Installez Nginx avec la commande apt :

apt-get install nginx

Créez un nouveau répertoire SSL :

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Générez le fichier de certificat SSL et modifiez l'autorisation du fichier de clé :

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket- chat.key

Ensuite, créez un nouveau fichier d'hôte virtuel rocket-chat dans le répertoire sites-available.

cd /etc/nginx/sites-available/
vim rocket-chat

Collez la nouvelle configuration de l'hôte virtuel ci-dessous :

# Upstreams
backend en amont {
    serveur 127.0.0.1:3000 ;
}

# Options de redirection
serveur {
  écouter 80 ;
  nom_serveur rocket-chat.co ;
  # appliquer https
  return 301 https://$nom_serveur$request_uri ;
}

# HTTPS Serveur
serveur {
    listen 443 ;
    nom_serveur rocket-chat.co ;

    error_log /var/log/nginx/rocketchat.access.log ;

    ssl activé ;
    ssl_certificate /etc/nginx/ssl/rocket-chat.crt ;
    ssl_certificate_key /etc/nginx/ssl/rocket-chat.key ;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ; # n'utilisez pas la référence SSLv3 :POODLE

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

Enregistrez et quittez.

Je lancerai Rocket.Chat avec le nouveau nom de domaine 'rocket-chat.co'. Veuillez utiliser votre propre nom de domaine et le remplacer dans les fichiers de configuration partout où il apparaît.

Activez l'hôte virtuel Rocket.Chat et testez le fichier de configuration :

ln -s /etc/nginx/sites-available/rocket-chat /etc/nginx/sites-enabled/rocket-chat
nginx -t

Assurez-vous qu'il n'y a pas de message d'erreur.

Redémarrez le serveur Web Nginx :

systemctl redémarrer nginx

Étape 7 - Tester Rocket.Chat

Nginx a été configuré comme proxy inverse pour le serveur Rocket.Chat et nous devons mettre à jour les variables d'environnement pour exécuter Rocket.Chat maintenant.

Exécutez Rocket.Chat avec les nouvelles variables ci-dessous :

cd /var/www/Rocket.Chat/
export ROOT_URL=https://rocket-chat.co
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
nœud main.js

Dans votre navigateur Web, ouvrez l'URL :rocket-chat.co (ou votre nom de domaine personnalisé) - vous serez redirigé vers la connexion https.

Créez votre premier compte administrateur en cliquant sur 'Enregistrer un nouveau compte' lien.

Entrez votre nom, email et mot de passe, puis cliquez sur 'ENREGISTRER UN NOUVEAU COMPTE '.

Confirmez pour utiliser le nouveau 'SITE-URL' avec le nom de domaine. Cliquez sur 'Oui '.

Enregistrez le nom d'utilisateur, cliquez sur 'UTILISER CE NOM D'UTILISATEUR '.

L'utilisateur admin a été créé et voici le tableau de bord Rocket.Chat. Vous pouvez commencer à discuter et créer votre propre canal pour votre équipe.

Rocket.Chat a été installé avec le serveur Web Nginx sur Ubuntu 16.04.

Résultats après avoir utilisé les nouvelles variables d'environnement :


Ubuntu
  1. Comment installer Nginx sur Ubuntu 20.04

  2. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.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