• Installera Mattermost på Debian och Ubuntu: En Steg-för-Steg Guide

    Med en självhostad meddelandetjänst är det svårare för Storebror att lyssna.

    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 och journalctl 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.

    https://mattermost.com

Installera Mattermost på Debian och Ubuntu: En Steg-för-Steg Guide

Med en självhostad meddelandetjänst är det svårare för Storebror att lyssna.

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 och journalctl 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.

https://mattermost.com