• Installera Mattermost på Debian 12


    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.

    1. Börja med att uppdatera paketlistan:
       sudo apt update
    1. Installera sedan PostgreSQL, Nginx, Certbot, Gnupg och curl:
       sudo apt install postgresql postgresql-contrib nginx certbot gnupg curl
    1. 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.

    1. Logga in på PostgreSQL med kommandot:
       sudo -u postgres psql
    1. 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;
    1. Avsluta psql genom att skriva \q.

    Steg 3: Installera Mattermost

    Nu är det dags att installera Mattermost.

    1. Skapa en systemanvändare för Mattermost:
       sudo useradd --system --user-group mattermost
    1. 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
    1. Flytta Mattermost-filerna till /opt och skapa en mapp för användardata:
       sudo mv mattermost /opt/
       sudo mkdir -p /opt/mattermost/data
    1. 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"
    1. Ä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.

    1. Skapa tjänstfilen:
       sudo nano /etc/systemd/system/mattermost.service
    1. 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
    1. 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.

    1. Generera SSL-certifikat med Certbot:
       sudo systemctl stop nginx
       sudo certbot certonly --standalone -m dinemail@example.com -d mattermost.dindomän.com
    1. Skapa en ny Nginx-konfiguration för Mattermost:
       sudo nano /etc/nginx/sites-available/mattermost
    1. 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;
           }
       }
    1. 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

Installera Mattermost på Debian 12


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.

  1. Börja med att uppdatera paketlistan:
   sudo apt update
  1. Installera sedan PostgreSQL, Nginx, Certbot, Gnupg och curl:
   sudo apt install postgresql postgresql-contrib nginx certbot gnupg curl
  1. 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.

  1. Logga in på PostgreSQL med kommandot:
   sudo -u postgres psql
  1. 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;
  1. Avsluta psql genom att skriva \q.

Steg 3: Installera Mattermost

Nu är det dags att installera Mattermost.

  1. Skapa en systemanvändare för Mattermost:
   sudo useradd --system --user-group mattermost
  1. 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
  1. Flytta Mattermost-filerna till /opt och skapa en mapp för användardata:
   sudo mv mattermost /opt/
   sudo mkdir -p /opt/mattermost/data
  1. 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"
  1. Ä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.

  1. Skapa tjänstfilen:
   sudo nano /etc/systemd/system/mattermost.service
  1. 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
  1. 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.

  1. Generera SSL-certifikat med Certbot:
   sudo systemctl stop nginx
   sudo certbot certonly --standalone -m dinemail@example.com -d mattermost.dindomän.com
  1. Skapa en ny Nginx-konfiguration för Mattermost:
   sudo nano /etc/nginx/sites-available/mattermost
  1. 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;
       }
   }
  1. 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