Mattermost è un'alternativa open source e self-hosted al servizio di messaggistica Slack SAAS. In altre parole, con Mattermost, puoi configurare un server di messaggistica privato e dedicato sul tuo computer per il tuo team.
Prerequisiti
- Un'istanza del server Vultr CentOS 7 x64 appena creata. Di 'che il suo indirizzo IP è
203.0.113.1
.
- Un utente sudo .
- L'istanza del server è stata aggiornata all'ultimo stato stabile usando il repository EPEL YUM .
- Un dominio
mattermost.example.com
che è stato configurato per puntare 203.0.113.1
all'istanza del server. Puoi saperne di più su questo in un altro tutorial di Vultr .
- Per ottenere automaticamente il certificato Let's Encrypt, il nome di dominio completo dell'istanza del server avrebbe dovuto essere configurato come
mattermost.example.com
.
Come richiesto da Mattermost, è necessario impostare un database per archiviare tutti i dati per Mattermost. A tale scopo, installeremo MariaDB.
Utilizzare i seguenti comandi per installare MariaDB 10.2.
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Proteggi MariaDB 10.2
sudo /usr/bin/mysql_secure_installation
Quando richiesto, rispondi alle domande.
- Inserisci la password corrente per root (inserisci per nessuno): basta premere il
Enter
pulsante
- Imposta la password di root? [Y / n]:
Y
- Nuova password:
your-MariaDB-root-password
- Reinserire la nuova password:
your-MariaDB-root-password
- Rimuovere utenti anonimi? [Y / n]:
Y
- Non consentire l'accesso root da remoto? [Y / n]:
Y
- Rimuovere il database di prova e accedervi? [Y / n]:
Y
- Ricarica le tabelle dei privilegi ora? [Y / n]:
Y
Creare un database MariaDB per Mattermost.
Accedere alla shell MariaDB come root.
mysql -u root -p
Nella shell MariaDB, inserire le seguenti istruzioni.
Nota: Per motivi di sicurezza, assicurarsi di sostituire mattermost
, mattermostuser
e yourpassword
con i vostri propri.
CREATE DATABASE mattermost;
CREATE USER 'mattermostuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON mattermost.* TO 'mattermostuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Scarica ed estrai l'archivio Mattermost 4.1.
cd
wget https://releases.mattermost.com/4.1.0/mattermost-4.1.0-linux-amd64.tar.gz
tar -zxvf mattermost-4.1.0-linux-amd64.tar.gz
Spostare tutti i file Mattermost nella /opt
directory, quindi creare una sottodirectory /opt/mattermost/data
per memorizzare i dati del programma.
sudo mv ~/mattermost /opt
sudo mkdir /opt/mattermost/data
Crea un utente dedicato mattermost
e un gruppo dedicato mattermost
per l'esecuzione di Mattermost.
sudo useradd --system --user-group mattermost
Modifica la proprietà e le autorizzazioni di tutti i file di programma Mattermost.
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost
Per configurare un server Mattermost abilitato per HTTPS, è necessario apportare modifiche al config
file Mattermost .
sudo vi /opt/mattermost/config/config.json
Trova queste righe, una per una.
"SiteURL": "",
"ListenAddress": ":8065",
"ConnectionSecurity": "",
"UseLetsEncrypt": false,
"Forward80To443": false,
"DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
Sostituiscili con le righe sottostanti.
"SiteURL": "https://mattermost.example.com",
"ListenAddress": ":443",
"ConnectionSecurity": "TLS",
"UseLetsEncrypt": true,
"Forward80To443": true,
"DataSource": "mattermostuser:yourpassword@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
Nota: nella DataSource
riga, è necessario specificare in sequenza il nome utente del database mattermostuser
, la password corrispondente yourpassword
, la posizione del server localhost
del database e il nome del database mattermost
.
Assicurarsi che la DriverName
riga sopra la DataSource
riga stia utilizzando il valore predefinito mysql
.
"DriverName": "mysql",
Salva ed esci.
:wq!
Consenti a Mattermost di collegarsi a porte privilegiate, ovvero 80 e 443.
cd /opt/mattermost/bin
sudo setcap cap_net_bind_service=+ep ./platform
Gestisci Mattermost con systemd
.
Crea un systemd
file di unità più importante.
cat <<EOF | sudo tee -a /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service
[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
EOF
Modifica le autorizzazioni per questo systemd
file di unità.
sudo chmod 664 /etc/systemd/system/mattermost.service
Avviare il servizio Mattermost e farlo avviare automaticamente all'avvio del sistema.
sudo systemctl daemon-reload
sudo systemctl start mattermost.service
sudo systemctl enable mattermost.service
Consentire l'accesso alle porte http
e https
.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Infine, punta il tuo browser Web preferito su http://mattermost.example.com
o https://mattermost.example.com
e vedrai la Mattermost Sign Up
pagina.
Nella Mattermost Sign Up
pagina, immettere email address
a username
, a e a password
, quindi fare clic sul Create Account
pulsante per registrare il primo utente.
Nota: tenere presente che il primo utente registrato sarà anche l'amministratore di sistema .
Nella Team Name
pagina e nella Team URL
pagina, inserisci a team name
e a URL
per la tua prima squadra.
Ora hai configurato con successo un server di messaggistica Mattermost che è abbastanza robusto da servire un team di piccole o medie dimensioni in un ambiente di produzione. Sentiti libero di esplorare l'interfaccia di Mattermost e di invitare più membri del team.