Introduktion
Mattermost är en öppen källkods- och självhostad meddelandeplattform designad för teamkommunikation och samarbete. Det fungerar som ett alternativ till populära tjänster som Slack och Microsoft Teams. Med funktioner som fildelning, sökning, automatisering och integrationer med tredjepartsapplikationer som GitHub och GitLab, erbjuder Mattermost en robust lösning för intern kommunikation inom organisationer och företag.
I denna artikel kommer vi att gå igenom hur du installerar Mattermost på en Debian- eller Ubuntu-server. Vi kommer att konfigurera Mattermost med PostgreSQL som databas och Nginx som en omvänd proxy för att hantera webbtrafik. Slutligen kommer vi att skapa din första arbetsyta i Mattermost.
Förutsättningar
Innan du börjar, se till att du har följande:
- En server med Debian eller Ubuntu installerad.
- En icke-root-användare med sudo-rättigheter för säkerhet.
- Ett domännamn som pekar till din servers IP-adress.
- Brandvägg (Firewalld eller UFW) aktiverad för att hantera nätverkstrafik.
- SELinux är inte aktiverat (gäller endast Debian/Ubuntu).
Steg 1: Uppdatera Systemet
Börja med att uppdatera paketlistan och uppgradera befintliga paket till de senaste versionerna:
sudo apt update && sudo apt upgrade -y
Detta säkerställer att du arbetar med de senaste säkerhetsfixarna och programvaruuppdateringarna.
Steg 2: Installera Nödvändiga Beroenden
Installera de paket som krävs för att köra Mattermost, inklusive PostgreSQL för databashantering, Nginx som webbserver, Certbot för SSL-certifikat, samt wget och curl för att hämta filer:
sudo apt install postgresql postgresql-contrib nginx certbot python3-certbot-nginx wget curl -y
Steg 3: Konfigurera PostgreSQL
3.1 Starta och Aktivera PostgreSQL
Se till att PostgreSQL-tjänsten är igång och inställd att starta vid systemuppstart:
sudo systemctl enable postgresql
sudo systemctl start postgresql
3.2 Skapa en Databas och Användare för Mattermost
Logga in på PostgreSQL som den administrativa användaren postgres
:
sudo -u postgres psql
Skapa databasen mattermost
och användaren mmuser
med ett säkert lösenord:
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'ditt_starka_lösenord';
GRANT ALL PRIVILEGES ON DATABASE mattermost TO mmuser;
\q
Obs: Byt ut
'ditt_starka_lösenord'
mot ett starkt och unikt lösenord.
Steg 4: Installera Mattermost
4.1 Skapa en Systemanvändare för Mattermost
Skapa en ny systemanvändare och grupp för Mattermost för att förbättra säkerheten:
sudo useradd --system --user-group mattermost
4.2 Ladda ner och Extrahera Mattermost
Hämta den senaste versionen av Mattermost från den officiella webbplatsen:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Extrahera den nedladdade filen:
tar -xvzf mattermost-10.0.1-linux-amd64.tar.gz
Flytta Mattermost-katalogen till /opt
för systemomfattande program:
sudo mv mattermost /opt
4.3 Skapa en Datakatalog och Ställ in Behörigheter
Skapa en datakatalog för att lagra Mattermost-data:
sudo mkdir /opt/mattermost/data
Ändra ägarskap och behörigheter för Mattermost-katalogen:
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost
Steg 5: Konfigurera Mattermost
Redigera Mattermost-konfigurationsfilen för att ställa in databasen och webbplatsens URL:
sudo nano /opt/mattermost/config/config.json
- Under
"ServiceSettings"
, sätt"SiteURL"
till din domän:
"SiteURL": "https://mattermost.example.com",
- Under
"SqlSettings"
, uppdatera"DataSource"
med dina databasuppgifter:
"DataSource": "postgres://mmuser:ditt_starka_lösenord@localhost:5432/mattermost?sslmode=disable&connect_timeout=10",
Spara filen genom att trycka på Ctrl + O
och avsluta med Ctrl + X
.
Steg 6: Skapa en Systemd-tjänst för Mattermost
För att hantera Mattermost som en tjänst, skapa en systemd-tjänstfil:
sudo nano /lib/systemd/system/mattermost.service
Klistra in följande innehåll:
[Unit]
Description=Mattermost
After=network.target postgresql.service
Requires=postgresql.service
[Service]
Type=simple
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
WorkingDirectory=/opt/mattermost
Restart=always
RestartSec=10
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Spara och stäng filen.
Ladda om systemd och starta Mattermost-tjänsten:
sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost
Kontrollera att tjänsten körs korrekt:
sudo systemctl status mattermost
Steg 7: Konfigurera Nginx som en Omvänd Proxy
7.1 Få SSL-certifikat med Certbot
Använd Certbot för att erhålla SSL-certifikat från Let’s Encrypt:
sudo certbot certonly --nginx -d mattermost.example.com
Följ instruktionerna för att verifiera din e-postadress och domän.
7.2 Konfigurera Nginx
Skapa en ny Nginx-konfigurationsfil för Mattermost:
sudo nano /etc/nginx/sites-available/mattermost
Klistra in följande konfiguration och anpassa server_name
och sökvägar till SSL-certifikaten:
server {
listen 80;
server_name mattermost.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name mattermost.example.com;
ssl_certificate /etc/letsencrypt/live/mattermost.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mattermost.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8065/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 50M;
}
}
Aktivera Nginx-konfigurationen genom att skapa en symbolisk länk:
sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
Testa Nginx-konfigurationen för eventuella fel:
sudo nginx -t
Om testet är framgångsrikt, starta om Nginx-tjänsten:
sudo systemctl restart nginx
Steg 8: Konfigurera Brandväggen
Om du använder UFW (Uncomplicated Firewall), tillåt HTTP- och HTTPS-trafik:
sudo ufw allow 'Nginx Full'
Kontrollera brandväggsstatus:
sudo ufw status
Steg 9: Slutför Installation via Webbläsaren
Öppna din favoritwebbläsare och navigera till:
https://mattermost.example.com
Du bör nu se Mattermost välkomstsida. Följ anvisningarna för att skapa ditt administratörskonto och konfigurera din första arbetsyta.
Slutsats
Grattis! Du har framgångsrikt installerat Mattermost på din Debian- eller Ubuntu-server. Genom att följa denna guide har du satt upp en säker och effektiv plattform för teamkommunikation och samarbete. Mattermost körs nu som en systemd-tjänst, använder PostgreSQL som databas och hanteras via Nginx som en omvänd proxy med SSL-kryptering från Let’s Encrypt.
Nästa Steg
- Utforska Integrationer: Anslut Mattermost med verktyg som GitHub, GitLab och Bitbucket för att förbättra ditt arbetsflöde.
- Säkerhetskopiera Din Databas: Implementera en backup-strategi för din PostgreSQL-databas för att förhindra dataförlust.
- Övervaka Tjänster: Använd verktyg som
systemctl
ochjournalctl
för att övervaka Mattermost och säkerställa att allt fungerar som det ska. - Anpassa Mattermost: Utforska teman, plugins och andra anpassningar för att skräddarsy plattformen efter ditt teams behov.
Genom att följa denna guide har du nu en kraftfull kommunikationsplattform som kan förbättra samarbetet inom ditt team. Mattermosts flexibilitet och rika uppsättning funktioner gör det till ett utmärkt val för organisationer som vill ha kontroll över sin data och kommunikation.