Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Administrație Linux

Cum se instalează Mattermost pe Ubuntu: Ghid complet pas cu pas

Mattermost este o platformă puternică, open-source de mesagerie și colaborare în echipă care oferă organizațiilor control deplin asupra infrastructurii lor de comunicații. Ca alternativă auto-găzduită la Slack și Microsoft Teams, Mattermost oferă securitate de nivel enterprise, proprietate completă a datelor și personalizare extinsă — toate fără costuri recurente de abonament SaaS.

Acest ghid cuprinzător vă ghidează prin fiecare etapă a instalării și configurării Mattermost pe un server Ubuntu, inclusiv configurarea bazei de date PostgreSQL, configurarea proxy-ului invers Nginx și integrarea certificatelor SSL.

1. Condiții prealabile

Înainte de a începe, asigurați-vă că sunt îndeplinite următoarele cerințe:

  • Un server care rulează Ubuntu 20.04 sau Ubuntu 22.04 LTS (Ubuntu 18.04 a ajuns la sfârșitul vieții și nu este recomandat pentru producție)
  • Privilegii Sudo sau root pe server
  • Un nume de domeniu care indică adresa IP a serverului dvs. (recomandat cu tărie pentru implementări în producție)
  • Hardware minim: 1 vCPU, 2 GB RAM, 10 GB spațiu pe disc (pentru echipe mici); scalați pentru implementări mai mari

> Sfat de găzduire: Pentru o implementare lină a Mattermost, luați în considerare un plan fiabil VPS Hosting de la AlexHost. Cu stocare SSD, acces complet root și timp de funcționare garantat, instanțele VPS AlexHost sunt ideale pentru instrumente de colaborare auto-găzduite.

2. Actualizați sistemul dumneavoastră

Începeți întotdeauna prin reîmprospătarea indexului pachetelor și aplicarea tuturor actualizărilor de securitate și sistem în așteptare:

sudo apt update
sudo apt upgrade -y

Reporniți serverul dacă a fost aplicată o actualizare a kernel-ului:

sudo reboot

3. Instalați dependențele necesare

Mattermost depinde de trei componente cheie: PostgreSQL (bază de date), Nginx (reverse proxy), și Certbot (gestionarea certificatelor SSL).

Instalați toate pachetele necesare într-un singur pas:

sudo apt install -y postgresql postgresql-contrib
sudo apt install -y nginx
sudo apt install -y certbot python3-certbot-nginx

Verificați că PostgreSQL și Nginx sunt în funcțiune:

sudo systemctl status postgresql
sudo systemctl status nginx

Ambele servicii ar trebui să afișeze active (running).

4. Descărcați și instalați Mattermost

Pasul 1: Descărcați cea mai recentă versiune Mattermost

Vizitați pagina oficială de versiuni Mattermost pentru a găsi cea mai recentă versiune stabilă. Utilizați wget pentru a o descărca direct pe serverul dvs.:

wget https://releases.mattermost.com/9.5.0/mattermost-team-9.5.0-linux-amd64.tar.gz

> Notă: Înlocuiți 9.5.0 cu cel mai recent număr de versiune disponibil. Utilizați întotdeauna cea mai recentă versiune stabilă pentru corecții de securitate și funcții noi.

Pasul 2: Extrageți arhiva

tar -xvzf mattermost-team-9.5.0-linux-amd64.tar.gz

Pasul 3: Mutați Mattermost în directorul sistemului

Mutați folderul extras în /opt, care este locația standard Linux pentru software terț opțional:

sudo mv mattermost /opt/mattermost

Pasul 4: Creați un utilizator Mattermost dedicat al sistemului

Executarea Mattermost ca utilizator dedicat și neprivilegiat este o practică critică de securitate:

sudo useradd -r -m -d /opt/mattermost -s /bin/false mattermost

Pasul 5: Creați directorul de date și setați permisiunile

sudo mkdir -p /opt/mattermost/data
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R 750 /opt/mattermost

5. Configurați Baza de Date PostgreSQL

Mattermost necesită o bază de date PostgreSQL dedicată și un utilizator. Urmați acești pași cu atenție.

Pasul 1: Comutați la Utilizatorul de Sistem PostgreSQL

sudo -i -u postgres

Pasul 2: Deschideți Shell-ul Interactiv PostgreSQL

psql

Pasul 3: Creați Baza de Date, Utilizatorul și Acordați Privilegii

Executați următoarele comenzi SQL una câte una:

CREATE DATABASE mattermost_db;
CREATE USER mattermost WITH PASSWORD 'YourStrongPassword123!';
GRANT ALL PRIVILEGES ON DATABASE mattermost_db TO mattermost;

> Notă de Securitate: Înlocuiți YourStrongPassword123! cu o parolă puternică și unică. Utilizați un manager de parole pentru a o genera și stoca în siguranță.

Pentru PostgreSQL 15 și versiuni mai noi, trebuie să acordați și privilegii de schemă:

c mattermost_db
GRANT ALL ON SCHEMA public TO mattermost;

Pasul 4: Ieșiți din Shell-ul PostgreSQL și Reveniți la Utilizatorul Dvs.

q
exit

6. Configurați Mattermost

Step 1: Deschideți fișierul de configurare Mattermost

sudo nano /opt/mattermost/config/config.json

Step 2: Actualizați setările de conexiune la bază de date

Localizați blocul SqlSettings și actualizați-l cu credențialele PostgreSQL:

"SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mattermost:YourStrongPassword123!@localhost:5432/mattermost_db?sslmode=disable&connect_timeout=10",
    "DataSourceReplicas": [],
    "DataSourceSearchReplicas": [],
    "MaxIdleConns": 20,
    "ConnMaxLifetimeMilliseconds": 3600000,
    "MaxOpenConns": 300,
    "Trace": false,
    "AtRestEncryptKey": "",
    "QueryTimeout": 30
}

Step 3: Configurați URL-ul site-ului

Găsiți blocul ServiceSettings și setați domeniul dvs.:

"ServiceSettings": {
    "SiteURL": "https://your_domain.com",
    ...
}

Înlocuiți your_domain.com cu numele de domeniu real.

Step 4: Salvați și ieșiți

Apăsați Ctrl+X, apoi Y, apoi Enter pentru a salva și a închide fișierul.

7. Creați un Serviciu Systemd

Rularea Mattermost ca serviciu systemd asigură că se pornește automat la boot și se repornește în caz de eșec — esențial pentru orice implementare în producție.

Pasul 1: Creați Fișierul de Serviciu

sudo nano /etc/systemd/system/mattermost.service

Pasul 2: Adăugați Configurația Serviciului

Lipiți următorul conținut:

[Unit]
Description=Mattermost Team Messaging Server
After=network.target postgresql.service
Wants=postgresql.service

[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Pasul 3: Activați și Porniți Serviciul Mattermost

sudo systemctl daemon-reload
sudo systemctl enable mattermost
sudo systemctl start mattermost

Pasul 4: Verificați că Serviciul Rulează

sudo systemctl status mattermost

Ar trebui să vedeți active (running). Mattermost ascultă pe portul 8065 în mod implicit.

8. Configurați Nginx ca Reverse Proxy

Nginx acționează ca reverse proxy, redirecționând traficul HTTP/HTTPS de intrare de la portul 80/443 la portul intern 8065 al Mattermost. Aceasta permite, de asemenea, suportul WebSocket, care este necesar pentru Mattermost pentru mesageria în timp real.

Pasul 1: Creați fișierul de configurare Nginx

sudo nano /etc/nginx/sites-available/mattermost

Pasul 2: Adăugați configurarea Reverse Proxy

upstream backend {
    server localhost:8065;
    keepalive 32;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
    listen 80;
    server_name your_domain.com;

    location ~ /api/v[0-9]+/(users/)?websocket$ {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 50M;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        proxy_read_timeout 600s;
        proxy_pass http://backend;
    }

    location / {
        client_max_body_size 50M;
        proxy_set_header Connection "";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        proxy_read_timeout 600s;
        proxy_cache mattermost_cache;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 2;
        proxy_cache_use_stale timeout;
        proxy_cache_lock on;
        proxy_pass http://backend;
    }
}

Înlocuiți your_domain.com cu numele dvs. de domeniu real.

Pasul 3: Activați configurarea site-ului

sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/

Pasul 4: Testați configurarea Nginx pentru erori de sintaxă

sudo nginx -t

Rezultat așteptat:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Pasul 5: Reporniți Nginx

sudo systemctl restart nginx

9. Securizați Mattermost cu SSL (HTTPS)

Rularea Mattermost peste HTTPS este obligatorie pentru orice mediu de producție. Aceasta criptează toate comunicațiile dintre utilizatori și serverul dvs., protejând acreditările și mesajele de interceptare.

> SSL Ușor: AlexHost oferă Certificate SSL accesibile pentru toate tipurile de site-uri și aplicații. Alternativ, utilizați metoda gratuită Let’s Encrypt de mai jos.

Pasul 1: Obțineți un certificat SSL gratuit cu Certbot

sudo certbot --nginx -d your_domain.com

Certbot va efectua automat:

  • Verificarea proprietății domeniului
  • Emiterea unui certificat Let’s Encrypt
  • Modificarea configurației Nginx pentru a activa HTTPS
  • Configurarea reînnoirii automate a certificatului

Pasul 2: Verificați reînnoirea automată

sudo certbot renew --dry-run

Pasul 3: Reporniți Nginx

sudo systemctl restart nginx

Instanța dvs. Mattermost este acum accesibilă la https://your_domain.com.

10. Verificare Finală

Verificați că Toate Serviciile Sunt Active

sudo systemctl status postgresql
sudo systemctl status mattermost
sudo systemctl status nginx

Testați Mattermost Direct pe Portul 8065

curl -I http://localhost:8065

Ar trebui să primiți un răspuns HTTP 200 OK sau de redirecționare.

Completați Configurarea Bazată pe Web

  1. Deschideți browserul și navigați la https://your_domain.com
  2. Veți fi întâmpinat de asistentul de configurare Mattermost
  3. Creați-vă contul de administrator
  4. Configurați prima echipă și spațiul de lucru
  5. Invitați membrii echipei și începeți colaborarea

Depanare Probleme Comune

ProblemăCauză ProbabilăSoluție
Serviciul Mattermost nu porneșteCredențiale bază de date incorecte în config.jsonVerifică din nou DataSource string în SqlSettings
502 Bad Gateway în NginxMattermost nu rulează pe portul 8065Rulează sudo systemctl restart mattermost
Erori de conexiune WebSocketAnteturi proxy WebSocket lipsă în NginxVerifică blocul de locație WebSocket în configurația Nginx
Erori de certificat SSLDomeniu neindreptat către IP-ul serveruluiActualizează înregistrarea DNS A și așteaptă propagarea
Conexiune bază de date refuzatăPostgreSQL nu ruleazăRulează sudo systemctl start postgresql

De ce să alegi un host fiabil pentru Mattermost?

Performanța și fiabilitatea instanței tale Mattermost depind în mare măsură de infrastructura subiacentă. Pentru echipe mici și medii, un VPS bine configurat este alegerea ideală. Pentru organizații mai mari cu volume mari de mesaje, ia în considerare upgrade-ul la un Server Dedicat pentru performanță maximă, izolare și control.

Dacă ai nevoie de un nume de domeniu pentru implementarea Mattermost, AlexHost oferă Înregistrare de Domenii competitive cu management DNS complet. Și dacă rulezi mai multe servicii alături de Mattermost, Găzduire Web Partajată sau un VPS cu cPanel pot simplifica managementul cu un panou de control intuitiv.

Rezumat

Ați instalat și configurat cu succes Mattermost pe Ubuntu cu:

  • ✅ PostgreSQL ca bază de date backend
  • ✅ Nginx ca reverse proxy de nivel producție cu suport WebSocket
  • ✅ Let’s Encrypt SSL pentru conexiuni HTTPS criptate
  • ✅ Un serviciu systemd pentru pornire automată și recuperare din căderi
  • ✅ Permisiuni de fișiere corespunzătoare și un utilizator sistem dedicat pentru securitate

Mattermost este acum gata să servească ca hub de comunicare privat și auto-găzduit pentru echipa dvs. — complet sub controlul dvs., fără ca datele să părăsească infrastructura dvs.