Mattermost är en plattform för intern kommunikation och samarbete som många företag och organisationer använder för att effektivisera arbetsflöden. I den här guiden ska vi installera Mattermost på Debian 12 med PostgreSQL som databas, Nginx som webbserver och dessutom skydda installationen med SSL-certifikat.
Förberedelser
För att följa guiden behöver du:
- En server med Debian 12
- En administratörsanvändare utan root-behörigheter
- Ett domännamn som pekar till serverns IP-adress
Steg 1: Installera nödvändiga paket
Innan vi installerar Mattermost ska vi sätta upp några viktiga komponenter, inklusive PostgreSQL, Nginx och Certbot.
- Börja med att uppdatera paketlistan:
sudo apt update
- Installera sedan PostgreSQL, Nginx, Certbot, Gnupg och curl:
sudo apt install postgresql postgresql-contrib nginx certbot gnupg curl
- Kontrollera att PostgreSQL- och Nginx-tjänsterna körs korrekt:
sudo systemctl status postgresql
sudo systemctl status nginx
Steg 2: Skapa databas och användare för Mattermost
Nu när PostgreSQL är installerat ska vi skapa en ny databas och användare för Mattermost.
- Logga in på PostgreSQL med kommandot:
sudo -u postgres psql
- Skapa en databas och användare för Mattermost:
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'password';
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
- Avsluta
psql
genom att skriva\q
.
Steg 3: Installera Mattermost
Nu är det dags att installera Mattermost.
- Skapa en systemanvändare för Mattermost:
sudo useradd --system --user-group mattermost
- Hämta Mattermost och extrahera installationsfilerna:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
tar -xf mattermost-10.0.1-linux-amd64.tar.gz
- Flytta Mattermost-filerna till
/opt
och skapa en mapp för användardata:
sudo mv mattermost /opt/
sudo mkdir -p /opt/mattermost/data
- Redigera konfigurationsfilen och lägg in din domän samt uppdatera databasinställningar:
sudo nano /opt/mattermost/config/config.json
Sätt din SiteURL
till exempel https://mattermost.dindomän.com
, och under SqlSettings
ange:
"DataSource": "postgres://mmuser:password@localhost/mattermost?sslmode=disable"
- Ändra ägarskap och behörigheter för Mattermost-mappen:
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost
Steg 4: Skapa en systemd-tjänst för Mattermost
För att Mattermost ska köras som en bakgrundsprocess skapar vi en systemd-tjänst.
- Skapa tjänstfilen:
sudo nano /etc/systemd/system/mattermost.service
- Lägg in följande konfiguration och spara:
[Unit]
Description=Mattermost
After=network.target postgresql.service
[Service]
ExecStart=/opt/mattermost/bin/mattermost
User=mattermost
Group=mattermost
Restart=always
[Install]
WantedBy=multi-user.target
- Starta och aktivera tjänsten:
sudo systemctl daemon-reload
sudo systemctl enable --now mattermost
sudo systemctl status mattermost
Steg 5: Konfigurera Nginx som omvänd proxy och SSL-säkring
Nu ska vi konfigurera Nginx för att dirigera trafik till Mattermost och sätta upp SSL.
- Generera SSL-certifikat med Certbot:
sudo systemctl stop nginx
sudo certbot certonly --standalone -m dinemail@example.com -d mattermost.dindomän.com
- Skapa en ny Nginx-konfiguration för Mattermost:
sudo nano /etc/nginx/sites-available/mattermost
- Klistra in konfigurationen nedan, anpassa domän och sökvägar för SSL-certifikaten:
server {
listen 80;
server_name mattermost.dindomän.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name mattermost.dindomän.com;
ssl_certificate /etc/letsencrypt/live/mattermost.dindomän.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mattermost.dindomän.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8065;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
- Aktivera Nginx-konfigurationen och starta om Nginx:
sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Steg 6: Skapa din första arbetsyta i Mattermost
Besök https://mattermost.dindomän.com
i din webbläsare för att skapa en ny administratör och konfigurera din Mattermost-arbetsyta. Följ de sista stegen för att slutföra installationen.
Grattis! Du har nu Mattermost installerat och klart för användning på din Debian 12-server, med PostgreSQL som databas och Nginx som omvänd proxy.
För bilder och mer information :
https://www.howtoforge.com/how-to-install-mattermost-on-debian-12