Mattermost to platforma komunikacyjna typu open source przeznaczona do komunikacji wewnętrznej dla zespołów i organizacji. Obsługuje czaty tekstowe, udostępnianie plików, połączenia wideo i integrację z różnymi usługami innych firm. Mattermost można wdrożyć na własnych serwerach, co zapewnia pełną kontrolę i bezpieczeństwo danych. Jest to alternatywa dla rozwiązań takich jak Slack, z możliwością dostosowania, automatyzacji i integracji z procesami DevOps.
Najpierw należy połączyć się z serwerem przez SSH pod nazwą użytkownika root. Uruchom następujące polecenie, zastępując IP_Address adresem IP serwera i Port_number numerem portu SSH:
ssh root@IP_Address -p Port_number
Aby upewnić się, że masz zainstalowaną prawidłową wersję Ubuntu, uruchom polecenie:
lsb_release -a
Expected Result:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Aktualizacja systemu operacyjnego:
apt update
apt upgrade
Teraz utwórzmy bazę danych PostgreSQL do użytku przez serwer Mattermost. Wpisz polecenie (to polecenie zainstaluje postgresql):
apt install postgresql
Zaloguj się do PostgreSQL:
sudo -u postgres psql
Utwórz bazę danych Mattermost:
CREATE DATABASE mattermost;
Utwórz użytkownika mmuser (użyj bezpieczniejszego hasła zamiast mmuser-password
):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Nadanie uprawnień użytkownikowi mmuser:
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;
Wyloguj się z PostgreSQL
q
Wprowadź zmiany w pliku pg_hba.conf dające serwerowi Mattermost dostęp do bazy danych PostgreSQL.
Otwórz plik:
nano /etc/postgresql/16/main/pg_hba.conf
Znajdź linie:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Zamień na:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Zapisz zmiany, zamknij plik i zaktualizuj konfigurację PostgreSQL:
systemctl reload postgresql
Sprawdź, czy możemy połączyć się z bazą danych z poziomu użytkownika mmuser:
psql --dbname=mattermost --username=mmuser --password
Wpisujemy utworzone przez nas hasło zamiast mmuser-password
Jeśli wszystko zrobiliśmy poprawnie - pojawi się konsola PostgreSQL.
Wyjdź:
q
Pobierz najnowszą wersję serwera Mattermost:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Rozpakuj:
tar -xvzf mattermost*.gz
Przenieś do katalogu /opt:
mv mattermost /opt
Domyślnie serwer Mattermost korzysta z katalogu /opt/mattermost/data
Utwórz go:
mkdir /opt/mattermost/data
Teraz utwórz grupę i użytkownika mattermost:
useradd --system --user-group mattermost
Nadaj uprawnienia:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Aby zarządzać serwerem Mattermost, utwórzmy usługę systemową.
Otwórz edytor, aby utworzyć plik usługi:
nano /lib/systemd/system/mattermost.service
Otwarty, pusty plik - wypełnij go następującą zawartością:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=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
Zaktualizuj konfigurację systemd:
systemctl daemon-reload
Przed uruchomieniem serwera Mattermost należy go skonfigurować.
Utwórz kopię zapasową pliku konfiguracyjnego:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Otwórz plik konfiguracyjny serwera Mattermost w edytorze tekstu:
nano /opt/mattermost/config/config.json
Musimy wprowadzić zmiany.
Znajdź:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Zamień na:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Gdzie.
<mmuser-password>
- hasło mmuser dla PostgreSQL.
<host-name-or-IP>
- adres IP serwera lub jego nazwa hosta.
<mattermost>
- baza danych PostgreSQL.
Zapisz plik i zamknij edytor.
Aktywuj usługę do uruchamiania przy starcie systemu i uruchom ją teraz:
systemctl enable --now mattermost
Użyj polecenia, aby sprawdzić status serwera:
systemctl status mattermost
Otwórz <adres IP serwera lub jego nazwę hosta>
w przeglądarce : 8065
Postępuj zgodnie z instrukcjami na otwartej stronie.
Serwer Mattermost jest teraz zainstalowany i działa na serwerze Ubuntu 24.04.