Перейти к основному контенту

Установка сервера Mattermost

Введение

Mattermost - это корпоративная система обмена сообщениями, предназначенная для командной работы и внутренней коммуникации. По функциональности она напоминает такие сервисы, как Slack, Microsoft Teams или Discord, однако главным преимуществом Mattermost является возможность полностью самостоятельного размещения сервера.

При использовании облачных мессенджеров данные компании хранятся на сторонних серверах. В случае Mattermost вся инфраструктура располагается на вашем собственном сервере, что позволяет:

  • полностью контролировать данные и переписку
  • интегрировать систему с внутренними сервисами
  • создавать автоматические уведомления и ботов
  • подключать вебхуки и интеграции
  • настраивать доступ пользователей и команд

Также Mattermost отлично подходит для организации централизованных уведомлений от различных систем мониторинга, автоматизации и инфраструктуры. Например, можно отправлять события из систем мониторинга, серверов или сетевого оборудования прямо в каналы мессенджера.

Установка

1. Обновление системы

Перед установкой программ рекомендуется обновить список пакетов и установить последние версии программного обеспечения.

apt update && apt upgrade -y
2. Установка необходимых утилит

Теперь установим набор базовых утилит, которые могут понадобиться в процессе установки.

apt install sudo curl wget gnupg2 ca-certificates lsb-release -y
3. Создание системного пользователя

Для повышения безопасности сервер Mattermost будет работать от отдельного системного пользователя.

useradd --system --user-group mattermost

изображение.png

4. Установка PostgreSQL

Mattermost хранит данные пользователей, каналов и сообщений в базе данных.
Для этого используется PostgreSQL.

apt install postgresql postgresql-contrib -y

Для настройки базы данных необходимо подключиться к консоли PostgreSQL.

sudo -u postgres psql
6. Создание базы данных

Теперь необходимо создать базу данных и пользователя для Mattermost.

В консоли PostgreSQL выполните:

CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'StrongPassword';
ALTER DATABASE mattermost OWNER TO mmuser;

изображение.png

После выполнения команд можно выйти из консоли PostgreSQL.

7. Загрузка сервера Mattermost

Теперь необходимо скачать архив с сервером Mattermost.

wget https://releases.mattermost.com/11.5.1/mattermost-11.5.1-linux-amd64.tar.gz

изображение.png

Файл содержит готовую сборку сервера.

8. Распаковка архива

Распакуем скачанный архив.

tar -xvzf mattermost-11.5.1-linux-amd64.tar.gz
9. Перемещение программы

Переместим каталог программы в директорию /opt.

mv mattermost /opt

Директория /opt традиционно используется для установки стороннего программного обеспечения.

10. Создание каталога для данных

Mattermost хранит загруженные файлы пользователей в отдельной директории.

mkdir /opt/mattermost/data
11. Настройка прав доступа

Теперь необходимо передать управление каталогом пользователю mattermost.

chown -R mattermost:mattermost /opt/mattermost

Это позволит серверу корректно работать с файлами и данными.

12. Настройка конфигурации Mattermost

Откроем основной конфигурационный файл сервера.

nano /opt/mattermost/config/config.json

В файле необходимо найти раздел подключения к базе данных и изменить его следующим образом:

"SqlSettings": {
  "DriverName": "postgres",
  "DataSource": "postgres://mmuser:ВАШ_ПАРОЛЬ_БД@localhost:5432/mattermost?sslmode=disable"
}

изображение.png

13. Создание системного сервиса

Чтобы сервер автоматически запускался вместе с системой, создадим сервис systemd.

nano /etc/systemd/system/mattermost.service

Добавьте следующий конфигурационный файл:

[Unit]
Description=Mattermost
After=network.target

[Service]
Type=simple
User=mattermost
WorkingDirectory=/opt/mattermost
ExecStart=/opt/mattermost/bin/mattermost
Restart=always

[Install]
WantedBy=multi-user.target

изображение.png

Этот сервис отвечает за запуск и управление сервером Mattermost.

14. Активация сервиса

Теперь необходимо активировать сервис и запустить сервер.

systemctl daemon-reexec
systemctl daemon-reload
systemctl enable mattermost
systemctl start mattermost
systemctl status mattermost

Если установка выполнена корректно, сервис будет находиться в состоянии active (running).

15. Установка Nginx

Теперь установим веб-сервер Nginx, который будет выступать в роли обратного прокси.

apt install nginx -y
16. Создание конфигурации сайта

Создадим конфигурационный файл для Mattermost.

nano /etc/nginx/sites-available/mattermost

Добавьте следующий конфигурационный блок:

server {
    listen 80;
    server_name ms.tex-lab.ru;

    location / {
        proxy_pass http://localhost:8065;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Host $host;
    }
}

В этой конфигурации:

  • Nginx принимает HTTP-запросы
  • затем передаёт их серверу Mattermost, который работает на порту 8065

изображение.png

17. Активация конфигурации

Теперь включим созданный сайт.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
18. Перезапуск Nginx

Чтобы применить изменения, необходимо перезапустить веб-сервер.

systemctl restart nginx
19. Создание A-записи

Необходимо подготовить DNS-записи для домена.

A-запись

  • Тип: A
  • Имя: ms
  • Значение: 62.173.138.27
20. Установка Certbot

Теперь установим Certbot для получения SSL-сертификата.

apt install certbot python3-certbot-nginx -y
21. Получение SSL-сертификата

Запустим автоматическое получение сертификата Let's Encrypt.

certbot --nginx -d ms.tex-lab.ru

Certbot автоматически:

  • получит сертификат
  • настроит HTTPS
  • обновит конфигурацию Nginx

изображение.png

22. Проверка работы сервера

Проверим состояние сервера Mattermost.

systemctl status mattermost

Если сервер работает корректно, он будет находиться в состоянии active (running).

После этого сервер станет доступен через браузер по адресу:

https://ms.tex-lab.ru

Проверка и первый вход

После открытия сайта в браузере вы увидите страницу первоначальной настройки Mattermost.

изображение.png

Здесь необходимо:

  1. создать администратора
  2. создать команды
  3. добавить пользователей

После этого пользователи смогут общаться через:

  • веб-клиент
  • мобильные приложения
  • десктопные клиенты

изображение.png

Заключение

После выполнения всех описанных шагов сервер Mattermost будет полностью установлен и готов к работе. Вы получите собственный корпоративный мессенджер, доступный через веб-браузер и приложения для различных платформ.