Mattermost - це платформа для корпоративного спілкування з відкритим вихідним кодом, призначена для внутрішньої комунікації команд і організацій. Вона підтримує текстові чати, обмін файлами, відеодзвінки та інтеграцію з різними сторонніми сервісами. Mattermost може бути розгорнуто на власних серверах для повного контролю над даними та забезпечення безпеки. Це альтернатива таким рішенням, як Slack, з можливістю налаштування, автоматизації та інтеграції з DevOps-процесами.
Вимоги
- Віртуальний сервер (VPS) зі встановленою Ubuntu 24.04.
- Права root або обліковий запис із sudo.
- (Опціонально) Ми настійно рекомендуємо використовувати проксі-сервер перед Mattermost для підтримки до 200 одночасних користувачів. Якщо у вас менше 200 одночасних користувачів, ви можете налаштувати TLS. Якщо кількість одночасних користувачів перевищує 200, вам знадобиться проксі-сервер, такий як NGINX, перед Mattermost для керування трафіком.
Крок 1. Вхід на сервер через SSH.
Для початку вам потрібно підключитися до вашого сервера через SSH під користувачем root. Виконайте таку команду, замінивши IP_Address на IP-адресу вашого сервера, а Port_number - на номер порту SSH:
ssh root@IP_Address -p Port_number
Щоб переконатися, що у вас встановлена правильна версія Ubuntu, виконайте команду:
lsb_release -a
Очікуваний результат:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Крок 2. Встановлення та налаштування бази даних.
Оновлюємо ОС:
apt update
apt upgrade
Тепер створимо базу даних PostgreSQL для використання сервером Mattermost. Введіть команду (ця команда встановить postgresql):
apt install postgresql
Заходимо в PostgreSQL:
sudo -u postgres psql
Створюємо базу Mattermost:
CREATE DATABASE mattermost;
Створюємо користувача mmuser (замість пароля mmuser-password використовуємо більш захищений пароль):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Наділяємо користувача 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;
Виходимо з PostgreSQL
q
Вносимо зміни у файл pg_hba.conf, надаючи Mattermost серверу доступ до бази PostgreSQL.
Відкриваємо файл:
nano /etc/postgresql/16/main/pg_hba.conf
Знаходимо рядки:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Замінюємо на:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Зберігаємо зміни, закриваємо файл і оновлюємо конфігурацію PostgreSQL:
systemctl reload postgresql
Перевіряємо, що можемо підключитися до бази від користувача mmuser:
psql --dbname=mattermost --username=mmuser --password
Вводимо пароль, який ми створили замість mmuser-password
Якщо ми все зробили правильно - з'явиться консоль PostgreSQL mattermost=>
Виходимо:
q
Крок 3. Завантаження та встановлення Mattermost сервера.
Завантажуємо останню версію Mattermost сервера:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Розпаковуємо:
tar -xvzf mattermost*.gz
Переносимо в директорію /opt:
mv mattermost /opt
За замовчуванням Mattermost сервер використовує директорію /opt/mattermost/data
Створюємо її:
mkdir /opt/mattermost/data
Тепер створимо групу і користувача mattermost:
useradd --system --user-group mattermost
Надамо права:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Крок 4. Створення системного сервісу.
Щоб керувати сервером Mattermost, створимо системний сервіс.
Відкрийте редактор для створення файлу сервісу:
nano /lib/systemd/system/mattermost.service
Порожній файл, що відкрився, заповнюємо таким вмістом:
[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
Оновлюємо конфігурацію systemd:
systemctl daemon-reload
Перед запуском Mattermost сервера, необхідно сконфігурувати його.
Створіть резервну копію конфігураційного файлу:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Відкрийте в текстовому редакторі файл конфігурації Mattermost сервера:
nano /opt/mattermost/config/config.json
Нам необхідно внести зміни.
Знайдіть:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Замініть на:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Де
<mmuser-password> - пароль mmuser для PostgreSQL.
<host-name-or-IP> - IP адреса сервера або його hostname.
<mattermost> - база PostgreSQL.
Збережіть файл і вийдіть із редактора.
Активуйте сервіс, щоб він запускався під час старту системи, і запустіть його зараз:
systemctl enable --now mattermost
Для перевірки статусу сервера використовуйте команду:
systemctl status mattermost
Крок 5. Підключення до сервера Mattermost.
Відкрийте в браузері <IP адресу вашого сервера або його hostname>: 8065
Дотримуйтесь інструкцій на сторінці, що відкрилася.
Висновок
Тепер Mattermost сервер встановлено і працює на вашому сервері Ubuntu 24.04.


