Mattermost - це платформа для корпоративного спілкування з відкритим вихідним кодом, призначена для внутрішньої комунікації команд і організацій. Вона підтримує текстові чати, обмін файлами, відеодзвінки та інтеграцію з різними сторонніми сервісами. Mattermost може бути розгорнуто на власних серверах для повного контролю над даними та забезпечення безпеки. Це альтернатива таким рішенням, як Slack, з можливістю налаштування, автоматизації та інтеграції з DevOps-процесами.
Для початку вам потрібно підключитися до вашого сервера через 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
Оновлюємо ОС:
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
Завантажуємо останню версію 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
Щоб керувати сервером 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
Відкрийте в браузері <IP адресу вашого сервера або його hostname>: 8065
Дотримуйтесь інструкцій на сторінці, що відкрилася.
Тепер Mattermost сервер встановлено і працює на вашому сервері Ubuntu 24.04.