Installa Mattermost Server su Ubuntu 22.04|20.04|18.04
Benvenuti nella guida di oggi su come installare Mattermost Server su Ubuntu 22.04|20.04|18.04 con server database PostgreSQL. Mattermost è un servizio di chat online self-hosted e open source progettato per essere utilizzato come piattaforma di chat interna per aziende e organizzazioni. È una delle principali alternative alla piattaforma Slack Chat.
Per questa guida utilizzeremo il database PostgreSQL e il server web Nginx. Tutti i passaggi sono facili da seguire, quindi rilassati e segui.
Passaggio 1: aggiornamento del sistema
Iniziamo assicurandoci che il nostro sistema sia aggiornato.
sudo apt update
sudo apt -y upgrade
sudo apt -y install wget curl vim
Si consiglia di riavviare il sistema dopo un aggiornamento.
sudo reboot
Imposta il nome host del server corretto:
sudo hostnamectl set-hostname chat.computingforgeeks.com --static
Passaggio 2: installare il server database PostgreSQL
Il passaggio successivo consiste nell'installare il server database PostgreSQL:
sudo apt -y install postgresql postgresql-contrib
Il server PostgreSQL verrà avviato automaticamente dopo l'installazione. Accedi all'account Postgres.
sudo --login --user postgres
Avvia il terminale interattivo PostgreSQL e crea il database/utente Mattermost "mmuser".
psql
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'StrongDBPassWord';
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
\q
Esci dall'account Postgres.
exit
Passaggio 3: crea l'utente e il gruppo di sistema più importanti
Dobbiamo impostare un utente di sistema e un gruppo chiamato Mattermost che eseguirà il servizio.
sudo useradd --system --user-group mattermost
Puoi confermare che si tratta di un utente di sistema poiché il suo ID è inferiore a 1000.
$ id mattermost
uid=998(mattermost) gid=998(mattermost) groups=998(mattermost)
Passaggio 4: scarica e installa Mattermost Server
Con il server database configurato, ora puoi scaricare e installare Mattermost. Innanzitutto, visita la pagina dei download di Mattermost per ottenere l'ultima versione.
wget https://releases.mattermost.com/6.1.0/mattermost-6.1.0-linux-amd64.tar.gz
Estrai l'archivio scaricato:
tar xvf mattermost-6.1.0-linux-amd64.tar.gz
Sposta il file estratto nella directory /opt.
sudo mv mattermost /opt
Crea la directory di archiviazione che conterrà tutti i file e le immagini che i tuoi utenti pubblicano su Mattermost.
sudo mkdir /opt/mattermost/data
Imposta la proprietà e le autorizzazioni corrette.
sudo chown -R mattermost:mattermost /opt/mattermost
Concedi i permessi di scrittura al gruppo più importante:
sudo chmod -R g+w /opt/mattermost
Passaggio 5: Configura Mattermost Server
Configura il driver del database nel file /opt/mattermost/config/config.json
.
sudo nano /opt/mattermost/config/config.json
Configura le impostazioni del database PostgreSQL come di seguito nella sezione "Impostazioni SQL".
"DriverName": "postgres",
"DataSource": "postgres://mmuser:StrongDBPassWord@localhost:5432/mattermost?sslmode=disable&connect_timeout=10",
Passaggio 6: configurare il servizio Systemd
Crea l'unità di servizio Mattermost Systemd.
sudo vim /etc/systemd/system/mattermost.service
Compila i dati seguenti nel file.
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
Requires=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Fai in modo che systemd carichi la nuova unità.
sudo systemctl daemon-reload
Avvia e abilita il servizio più importante.
sudo systemctl start mattermost.service
sudo systemctl enable mattermost.service
Controlla lo stato del servizio per assicurarti che sia in esecuzione.
$ systemctl status mattermost.service
● mattermost.service - Mattermost
Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2019-08-12 12:15:06 CEST; 7s ago
Main PID: 4116 (mattermost)
Tasks: 11 (limit: 4585)
Memory: 247.1M
CGroup: /system.slice/mattermost.service
└─4116 /opt/mattermost/bin/mattermost
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.0674481,"caller":"mlog/sugar.go:19","msg":"Scheduling next survey for Sep 2,
Aug 12 12:15:06 chat mattermost[4116]: {"level":"error","ts":1565604906.1013212,"caller":"plugin/hclog_adapter.go:60","msg":"reading plugin stderr"
Aug 12 12:15:06 chat mattermost[4116]: {"level":"error","ts":1565604906.1966574,"caller":"mlog/log.go:172","msg":"RPC call OnConfigurationChange to
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.1981738,"caller":"jobs/workers.go:68","msg":"Starting workers"}
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.1982753,"caller":"app/server.go:413","msg":"Starting Server..."}
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.199372,"caller":"jobs/schedulers.go:72","msg":"Starting schedulers."}
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.202546,"caller":"app/server.go:479","msg":"Server is listening on [::]:8065"
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.225944,"caller":"app/web_hub.go:75","msg":"Starting 4 websocket hubs"}
Aug 12 12:15:06 chat mattermost[4116]: {"level":"info","ts":1565604906.2512763,"caller":"commands/server.go:105","msg":"Sending systemd READY notif
Aug 12 12:15:06 chat systemd[1]: Started Mattermost.
Verifica che Mattermost sia in esecuzione.
curl http://localhost:8065
Dovresti vedere l'HTML restituito dal server Mattermost.
Passaggio 7: terminare la configurazione di Mattermost Web
Apri il browser e vai all'istanza Mattermost su 8065. Ad esempio 192.168.10.10:8085
Accedere alla console di sistema:
Quindi configura il tuo server in base alla documentazione delle impostazioni di configurazione.
Più configurazioni:
Configura TLS seguendo le istruzioni
Configura l'email seguendo la guida alla configurazione dell'email SMTP
Non dimenticare di riavviare il servizio più importante dopo aver apportato le modifiche.
sudo systemctl restart mattermost
Passaggio 8: configura il server proxy Nginx
In un ambiente di produzione, utilizza un server proxy per una maggiore sicurezza e prestazioni di Mattermost.
# Install nginx
sudo apt -y install nginx
Crea un nuovo file di configurazione per Mattermost.
sudo vim /etc/nginx/conf.d/mattermost.conf
Aggiungi impostazioni di configurazione.
upstream backend {
server 127.0.0.1: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 chat.example.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;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 90;
proxy_send_timeout 300;
proxy_read_timeout 90s;
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_http_version 1.1;
proxy_pass http://backend;
}
}
Riavvia Nginx.
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx
Leggi la documentazione di Mattermost per conoscere ulteriori funzionalità che puoi sbloccare e integrazioni con sistemi di terze parti.
Impara l'amministrazione del sistema Linux utilizzando i corsi video:
- Padronanza di Linux: padroneggia la riga di comando di Linux in 11,5 ore
- Bootcamp di amministrazione Linux: passa dal principiante all'avanzato
- Completa il corso di formazione Linux per ottenere il lavoro IT dei tuoi sogni
- Impara Linux in 5 giorni e fai salire di livello la tua carriera
- Completa lo scripting della shell Bash Linux con esempi di vita reale
Imparentato.
- Come installare Rocket.Chat Server su Debian/Ubuntu
- Installa Zulip Chat Server su Ubuntu/Debian