Dans cet article, nous allons vous montrer comment installer Mattermost sur un VPS Ubuntu 14.04 avec PostgreSQL et Nginx. Mattermost est une alternative Slack open source sur site écrite en Golang et React. Ce guide devrait également fonctionner sur d'autres systèmes VPS Linux, mais a été testé et écrit pour un VPS Ubuntu 14.04.
Connectez-vous à votre VPS via SSH
ssh user@vps
Mettre à jour le système et installer les packages nécessaires
[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common wget
Créer un nouvel utilisateur
Pour créer un nouvel utilisateur système appelé mmuser, exécutez les commandes suivantes :
[user]$ sudo adduser --home /opt/mmuser --shell /bin/bash --gecos 'Mattermost application' mmuser
[user]$ sudo install -d -m 755 -o mmuser -g mmuser /opt/mmuser
Installer PostgreSQL
Pour installer PostgreSQL sur votre VPS Ubuntu, exécutez simplement :
[user]$ sudo apt-get install postgresql postgresql-contrib
Une fois l'installation de PostgreSQL terminée, connectez-vous au shell psql et créez un nouvel utilisateur mmuser :
[user]$ sudo -i -u postgres
[postgres]$ psql
postgres=# CREATE DATABASE mmdb;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mmdb to mmuser;
postgres=# \q
[postgres]$ exit
Installer Mattermost
Créer un nouveau mattermost
répertoire et accédez-y :
[user]$ mkdir -p /opt/mmuser/mattermost
[user]$ cd /opt/mmuser/mattermost
Téléchargez la dernière branche stable de Mattermost (Au moment de la rédaction de cet article, la version stable est la 1.1)
[user]$ wget -q -O - https://github.com/mattermost/platform/archive/v1.1.0.tar.gz | tar -xzf - --strip 1 -C /opt/mmuser/mattermost
Créez le répertoire de stockage à l'aide de la commande suivante :
[user]$ mkdir -p /opt/mmuser/mattermost/data
Modifiez le config/config.json
fichier
[user]$ nano /opt/mmuser/mattermost/config/config.json
et modifiez les informations de la base de données comme suit :
"DriverName": "postgres",
"DataSource": "postgres://mmuser:[email protected]:5432/mmdb?sslmode=disable&connect_timeout=10",
et entrez les paramètres de votre serveur SMTP.
Modifiez la propriété de l'utilisateur et du groupe mmuser :
[user]$ sudo chown mmuser: -R /opt/mmuser
Testez le serveur Mattermost pour la première fois en tapant :
[user]$ sudo -u mmuser bin/platform
Vous devriez voir quelque chose comme ci-dessous :
[10/16/15 17:40:49] [INFO] Starting Server...
[10/16/15 17:40:49] [INFO] Server is listening on :8065
Appuyez sur CTRL-C pour arrêter le serveur.
Créer un service systemd
Pour créer un nouveau service systemd pour Mattermost, ouvrez l'éditeur de votre choix
[user]$ sudo nano /etc/init/mattermost.conf
et créez un nouveau fichier avec le contenu suivant :
description "Mattermost Service"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
setuid mmuser
setgid mmuser
respawn
chdir /opt/mmuser/mattermost
exec bin/platform
Vous pouvez désormais démarrer votre service Mattermost avec :
[user]$ sudo service mattermost start
et vérifiez l'état avec
[user]$ sudo service mattermost status
Installer et configurer Nginx
Ubuntu 14.04 est livré avec Nginx version 1.4, pour installer la dernière version stable de Nginx version 1.8, exécutez :
[user]$ sudo add-apt-repository -y ppa:nginx/stable
[user]$ sudo apt-get update
[user]$ sudo apt-get -y install nginx
Si vous n'avez pas de certificat signé par une autorité de certification, vous pouvez générer un certificat auto-signé avec les commandes suivantes :
[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out mattermost.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in mattermost.pass.key -out mattermost.key
[user]$ sudo rm mattermost.pass.key
[user]$ sudo openssl req -new -key mattermost.key -out mattermost.csr
[user]$ sudo openssl x509 -req -days 365 -in mattermost.csr -signkey mattermost.key -out mattermost.crt
Créer un nouveau bloc de serveur Nginx
[user]$ sudo nano /etc/nginx/sites-available/your_mattermost_site
avec le contenu suivant :
server {
listen 443;
server_name your_mattermost_site;
ssl on;
ssl_certificate /etc/nginx/ssl/mattermost.crt;
ssl_certificate_key /etc/nginx/ssl/mattermost.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/mattermost.access.log;
error_log /var/log/nginx/mattermost.error.log;
location / {
gzip off;
proxy_set_header X-Forwarded-Ssl on;
client_max_body_size 50M;
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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass http://localhost:8065;
}
}
server {
listen 80;
server_name your_mattermost_site;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
Activez le bloc serveur en créant un lien symbolique :
[user]$ sudo ln -s /etc/nginx/sites-available/your_mattermost_site /etc/nginx/sites-enabled/your_mattermost_site
Testez la configuration Nginx et redémarrez Nginx :
[user]$ sudo nginx -t
[user]$ sudo service nginx restart
Étapes finales
Ouvrez http://myour_mattermost_site
dans votre navigateur Web préféré et créez une équipe et un utilisateur. L'accès administratif est automatiquement accordé au premier utilisateur enregistré.
C'est ça. Vous avez installé avec succès Mattermost sur votre VPS Ubuntu 14.04. Pour plus d'informations sur Mattermost, veuillez consulter la documentation officielle de Mattermost.
Si vous souhaitez apprendre comment installer Mattermost Chat sur Ubuntu 20.04 , nous avons également un didacticiel pour cela.
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.