Installer Mattermost sous RockyLinux
Mattermost est un logiciel orienté entreprise afin de discutez entre les travailleurs par équipe. Entre autre, il intervient comme un Télégram et un Discord.
L'installation de Mattermost sous RockyLinux fonctionne aussi avec Debian 11 (faudra juste le réadapté).
Tout d'abord nous mettons à jour notre distribution
dnf update -y
Nous installons mariadb et nous créons une base de données avec un utilisateur.
dnf install mariadb-server
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation
mysql -u root -p
CREATE DATABASE mattermost;
CREATE USER 'mmuser'@'%';
SET PASSWORD FOR 'mmuser'@'%' = PASSWORD('VotrePassword');
GRANT ALL ON mattermost.* TO 'mmuser'@'%' IDENTIFIED BY 'VotrePassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
On créer ensuite un utilisateur mattermost
sudo useradd --system --user-group mattermost
et on télécharge la dernière version de Mattermost (6.2.1)
On peut trouver toutes les release ici et pour la version community c'est ici
On pourra ensuite le décompresser et l'installer dans /opt et lui mettre des droits.
wget https://releases.mattermost.com/6.2.1/mattermost-6.2.1-linux-amd64.tar.gz
tar xvzf mattermost-6.2.1-linux-amd64.tar.gz -C /opt/
sudo mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
On modifie le fichier config.json pour mettre notre site internet et notre base de données.
nano /opt/mattermost/config/config.json
"SiteURL": "http://VotreDomaine",
"DriverName": "mysql",
"DataSource": "mmuser:VotrePassword@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
On créer ensuite un fichier SystemD pour contrôler si on démarre, stop et redémarrer le Mattermost.
nano /lib/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mariadb.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
On redémarre le daemon pour appliquer les modification
systemctl daemon-reload
On démarre Mattermost et on l'active au démarrage
systemctl start mattermost
systemctl enable mattermost
#Pour voir si il est démmarer
systemctl status mattermost
Nous pouvons installer Apache
dnf install httpd
systemctl enable httpd
systemctl start httpd
et nous ouvrons le port 80 et 443
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
On désactive le Selinux
nano /etc/selinux/config
#Mettre disabled
On créer les dossier Site
sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled
On modifie le fichier httpd.conf pour configurer ces dossiers pour apache
nano /etc/httpd/conf/httpd.conf
et on modifie la derniere ligne du fichier pour :
IncludeOptional sites-enabled/*.conf
On créer un fichier conf
nano /etc/httpd/sites-available/mattermost.conf
<VirtualHost *:80>
ServerAdmin mail de admin
ServerName votre domaine
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} \bUpgrade\b [NC]
RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
<Location />
Require all granted
ProxyPass http://127.0.0.1:8065/
ProxyPassReverse http://127.0.0.1:8065/
ProxyPassReverseCookieDomain 127.0.0.1 votre domaine
</Location>
</VirtualHost>
et on l'active :
sudo ln -s /etc/httpd/sites-available/mattermost.conf /etc/httpd/sites-enabled/mattermost.conf