Установка сервера Mattermost
| Уровень сложности | Лёгкий |
| Права root | Требуются |
| Требования | Терминал Linux |
| Категория | Установка ПО |
| Совместимость с ОС | Debian, Ubuntu |
| Примерное время чтения | 1 час |
Введение
Mattermost - это корпоративная система обмена сообщениями, предназначенная для командной работы и внутренней коммуникации. По функциональности она напоминает такие сервисы, как Slack, Microsoft Teams или Discord, однако главным преимуществом Mattermost является возможность полностью самостоятельного размещения сервера.
При использовании облачных мессенджеров данные компании хранятся на сторонних серверах. В случае Mattermost вся инфраструктура располагается на вашем собственном сервере, что позволяет:
- полностью контролировать данные и переписку
- интегрировать систему с внутренними сервисами
- создавать автоматические уведомления и ботов
- подключать вебхуки и интеграции
- настраивать доступ пользователей и команд
Также Mattermost отлично подходит для организации централизованных уведомлений от различных систем мониторинга, автоматизации и инфраструктуры. Например, можно отправлять события из систем мониторинга, серверов или сетевого оборудования прямо в каналы мессенджера.
Ограничения
В бесплатной версии Mattermost Enterprise (Entry) введены ограничения на использование некоторых функций. История сообщений в интерфейсе ограничена 10 000 сообщениями — более старые сообщения остаются в базе данных, но их нельзя просматривать и искать через интерфейс. Продолжительность звонков ограничена 40 минутами. Также действует лимит 10 000 push-уведомлений в месяц, 1 000 карточек в Boards, 5 запусков Playbooks в месяц и 250 запросов к AI-агентам в месяц.
Эти ограничения снимаются при переходе на платные версии Mattermost.
Установка
В инструкции будет использоваться домен ms.tex-lab.ru и IP сервера 62.173.138.27 как пример. Обязательно замените их на свои реальные домен и IP при настройке.
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
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;
После выполнения команд можно выйти из консоли PostgreSQL.
7. Загрузка сервера Mattermost
Теперь необходимо скачать архив с сервером Mattermost.
wget https://releases.mattermost.com/11.5.1/mattermost-11.5.1-linux-amd64.tar.gz
Файл содержит готовую сборку сервера.
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"
}
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
Этот сервис отвечает за запуск и управление сервером 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
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
22. Проверка работы сервера
Проверим состояние сервера Mattermost.
systemctl status mattermost
Если сервер работает корректно, он будет находиться в состоянии active (running).
После этого сервер станет доступен через браузер по адресу:
https://ms.tex-lab.ru
Проверка и первый вход
После открытия сайта в браузере вы увидите страницу первоначальной настройки Mattermost.
Здесь необходимо:
- создать администратора
- создать команды
- добавить пользователей
После этого пользователи смогут общаться через:
- веб-клиент
- мобильные приложения
- десктопные клиенты
Заключение
После выполнения всех описанных шагов сервер Mattermost будет полностью установлен и готов к работе. Вы получите собственный корпоративный мессенджер, доступный через веб-браузер и приложения для различных платформ.
Для подробной настройки функций, интеграций и расширенных возможностей вы можете ознакомиться с документацией на официальном сайте Mattermost.









