Rocket.Chat est une solution de communication d'équipe open source de type Slack qui peut être déployée sur votre propre serveur. Avec Rocket.Chat, vous pouvez discuter avec les membres de votre équipe et vos amis via audio et vidéo, interagir avec les visiteurs du site Web en temps réel, partager des fichiers, transmettre des messages vocaux et bien plus encore.
Conditions préalables
- Une nouvelle instance de serveur Vultr Debian 9 avec au moins 1 Go de mémoire. Supposons que son adresse IP soit
192.167.100.100.
- Un domaine pointant vers votre instance de serveur. Dis-le
www.example.com.
Étape 1: mettre à jour le système
Connectez-vous en tant que root et mettez à jour le système au dernier état stable:
apt update
apt upgrade -y
shutdown -r now
Étape 2: installer MongoDB
Installez la dernière version stable de MongoDB:
apt install mongodb
Étape 3: installer Node.js, GraphicsMagick, npm et d'autres dépendances
Rocket.Chat 0.60 et supérieur nécessite la version 8.9.3 LTS de Node.js pour fonctionner. Alors, ajoutez d'abord le référentiel de distributions binaires NodeSource Debian:
curl -sL https://deb.nodesource.com/setup_8.x | bash -
Ensuite, nous pouvons installer Node.js et d'autres packages:
apt install nodejs curl graphicsmagick -y
npm install -g n
Utilisez npour installer Node.js version 8.9.3:
n 8.9.3
Étape 4: installez Rocket.Chat
Téléchargez et installez Rocket.Chat:
cd /opt
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -zxvf rocket.chat.tgz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
Pour votre commodité, vous devez créer l'unité de service RocketChat systemd:
nano /etc/systemd/system/rocketchat.service
Remplissez le fichier. Assurez-vous de remplacer le domaine www.example.compar le vôtre:
[Unit]
Description=RocketChat Server
After=network.target remote-fs.target nss-lookup.target mongod.target nginx.target # Remove or Replace nginx with your proxy
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js # Specify the location of node and location of main.js
Restart=always # If set to always, the service will be restarted regardless of whether it exited cleanly or not, got terminated abnormally by a signal, or hit a timeout.
RestartSec=10 # Restart service after 10 seconds if node service crashes
StandardOutput=syslog # Output to syslog
StandardError=syslog # Output to syslog
SyslogIdentifier=nodejs-example
#User=<alternate user>
#Group=<alternate group>
Environment=NODE_ENV=production PORT=3000 ROOT_URL=https://www.example.com MONGO_URL=mongodb://localhost:27017/rocketchat
[Install]
WantedBy=multi-user.target
Remarque : dans PORT, vous pouvez remplacer 3000par le numéro de port de votre choix. Dans ROOT_URL, vous pouvez remplacer www.example.compar l'adresse IP de votre serveur 192.168.100.100, si votre domaine n'est pas disponible.
Sauvegardez et quittez, CTRL+ X, Y.
Démarrez le service MongoDB:
systemctl start mongodb
Démarrez le service Rocket.Chat:
systemctl start rocketchat
Étape 5: Accédez à Rocket.Chat dans le navigateur Web
Pointez votre navigateur Web sur http://www.example.com:3000, puis enregistrez le premier utilisateur pour l'administration. Par défaut, seul le premier utilisateur obtiendra des privilèges administratifs.