Установка Mattermost на Rocky Linux 8 — пошаговое руководство
Mattermost — локальная платформа обмена сообщениями, которую можно установить на сервер с Rocky Linux 8, MySQL и systemd. В этом руководстве описаны подготовка сервера, установка MySQL, создание базы данных, загрузка и настройка Mattermost, создание systemd-сервиса, настройка брандмауэра и первые шаги в веб-интерфейсе. В конце — рекомендации по безопасности, резервному копированию и проверке работоспособности.
Что такое Mattermost (одно предложение)
Mattermost — это корпоративная платформа обмена сообщениями с поддержкой каналов, прикреплённых файлов, интеграций и мобильных клиентов.
Important: Следуйте инструкциям от привилегированного пользователя с sudo. После установки смените все временные пароли и закройте ненужные порты.
Основные варианты использования
- Внутренний чат для команд разработки и поддержки
- Заменитель облачных сервисов для организаций с требованиями к приватности
- Платформа для интеграций и автоматизированных оповещений
Основные термины (словарик в одну строку)
- systemd — менеджер служб Linux.
- DataSource — строка подключения к базе данных.
- port 8065 — стандартный HTTP-порт Mattermost.
Требования
- Сервер с Rocky Linux 8, минимум 2 ГБ ОЗУ.
- Непривилегированный пользователь с sudo.
Шаг 1. Обновление системы
Перед установкой обновите пакеты:
sudo dnf updateОбновление может занять время в зависимости от скорости интернета и частоты обновлений в вашей системе.
Шаг 2. Установка MySQL
MySQL — СУБД с открытым исходным кодом. Mattermost поддерживает MySQL в качестве бекенда для хранения данных пользователей и сообщений.
Если MySQL уже установлен, пропустите этот шаг.
Установите MySQL сервер:
sudo dnf install mysql-server -yЗапустите и включите службу MySQL:
sudo systemctl start mysqldsudo systemctl enable mysqldПроверьте статус:
sudo systemctl status mysqld
Шаг 3. Создание базы данных для Mattermost
Войдите в оболочку MySQL:
mysql -u root -pПри появлении запроса пароля нажмите Enter, если пароль пустой. Создайте базу, пользователя и права:
CREATE DATABASE mattermost_db;CREATE USER 'mattermost_user'@'localhost' IDENTIFIED BY 'password_of_your_choice ';GRANT ALL ON mattermost_db.* TO mattermost_user@localhost;FLUSH PRIVILEGES;Завершите работу: введите \q и нажмите Enter.

Notes: Используйте сложный пароль. Если база будет на другом сервере, замените ‘localhost’ на IP-адрес.
Шаг 4. Установка Mattermost
Скачайте свежую версию с официального сайта. Откройте https://mattermost.com/download/ и скопируйте ссылку под архитектуру вашего сервера.
Пример загрузки:
wget https://releases.mattermost.com/5.39.0/mattermost-5.39.0-linux-amd64.tar.gzРаспакуйте и переместите в /opt:
sudo tar -xf mattermost-*-linux-amd64.tar.gzsudo mv mattermost /optImportant: Следите за версией релиза и при необходимости замените URL на актуальную.

Шаг 5. Настройка config.json
Файл конфигурации Mattermost находится в /opt/mattermost/config/config.json.
Откройте его в редакторе:
sudo nano /opt/mattermost/config/config.jsonНайдите параметр DriverName и замените значение postgres на mysql.
Найдите параметр DataSource — это строка подключения к базе данных. Пример до правки может выглядеть как mmuser:mostest@tcp(localhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s
Замените значения:
- mmuser → mattermost_user (пользователь MySQL)
- mostest → ваш пароль MySQL
- localhost → IP сервера MySQL (оставьте localhost, если база и Mattermost на одном хосте)
- mattermost_test → mattermost_db (имя базы)
Пример итоговой DataSource строки:
"DataSource": "mattermost_user:ваш_пароль@tcp(localhost:3306)/mattermost_db?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",Сохраните Ctrl+X → Y → Enter.
Important: Не оставляйте пароль в открытом виде на общедоступных серверах. Рассмотрите хранение секретов вне файловой системы.
Шаг 6. Создание systemd-сервиса для Mattermost
Перейдите в каталог systemd и создайте юнит:
cd /etc/systemd/systemsudo nano mattermost.serviceВставьте следующие строки:
[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service
[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152
[Install]
WantedBy=multi-user.targetСделайте файл доступным и перезагрузите демон:
sudo chmod 664 /etc/systemd/system/mattermost.servicesudo systemctl daemon-reloadУправление службой:
sudo systemctl start mattermost.servicesudo systemctl stop mattermost.servicesudo systemctl enable mattermost.servicesudo systemctl disable mattermost.serviceПроверьте статус:
sudo systemctl status mattermost.service
Шаг 7. Настройка брандмауэра
Mattermost по умолчанию слушает порт 8065. Разрешите входящие соединения на этот порт:
sudo firewall-cmd --zone=public --add-port=8065/tcpПримените правила:
sudo firewall-cmd --reloadПроверьте текущие правила:
sudo firewall-cmd --zone=public --list-allNotes: Если вы используете обратный прокси (например, Nginx) и HTTPS, то обычно открывают только 80/443 и перенаправляют трафик на внутренний 8065.
Шаг 8. Доступ к веб-интерфейсу
Откройте в браузере:
Где server_ip — IP-адрес вашего сервера. Создайте аккаунт, введите имя пользователя, почту и пароль, затем нажмите Create Account.

После входа вы попадёте на панель управления.


Поздравляем — установка завершена.
Рекомендации по безопасности
- Настройте HTTPS через обратный прокси (Nginx/Apache).
- Используйте Let’s Encrypt для бесплатных сертификатов.
- Ограничьте доступ к базе данных по IP.
- Установите SELinux в режиме Enforcing и добавьте исключения при необходимости.
- Регулярно обновляйте систему и Mattermost.
Пример минимальной прокси-конфигурации Nginx (фрагмент):
server {
listen 80;
server_name chat.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name chat.example.com;
ssl_certificate /etc/letsencrypt/live/chat.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8065;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Important: После настройки HTTPS в config.json укажите правильный SiteURL.
Резервное копирование и восстановление
- Резервируйте базу данных MySQL с помощью mysqldump:
mysqldump -u root -p mattermost_db > mattermost_db_backup.sql- Резервируйте директорию /opt/mattermost и плагины:
sudo tar -czf mattermost_opt_backup.tgz /opt/mattermost- Для восстановления: импорт mysqldump и восстановление файлов в /opt/mattermost, затем перезагрузка службы.
Производительность и масштабирование (кратко)
- Для небольших команд (до нескольких сотен пользователей) хватит 2–4 ГБ ОЗУ.
- Для крупных инсталляций используйте отдельный сервер для базы данных.
- Включайте кэширование, оптимизируйте пул подключений в MySQL и мониторьте нагрузку.
Альтернативные подходы
- Использовать PostgreSQL вместо MySQL. Mattermost полноценно поддерживает PostgreSQL и он часто рекомендуем для крупных нагрузок.
- Развернуть Mattermost в контейнере (Docker / Kubernetes) для упрощённого управления и масштабирования.
Когда такой подход не подойдёт
- Если у вашей организации нет возможности поддерживать серверную инфраструктуру — облачные SaaS-решения могут быть проще.
- Если требуются встроенные возможности голосовых/видеозвонков «из коробки» с высокой нагрузкой — рассмотрите специализированные платформы или дополняйте Mattermost внешними сервисами.
Роль‑ориентированные чеклисты
Администратор системы:
- Подготовить сервер и сеть.
- Установить MySQL и создать базу.
- Настроить systemd и брандмауэр.
- Настроить резервное копирование и обновления.
DBA:
- Настроить бэкапы и репликацию.
- Оптимизировать индексы и параметры MySQL.
- Контролировать использование диска.
DevOps / Инженер по безопасности:
- Настроить HTTPS и HSTS.
- Настроить мониторинг (Prometheus, Grafana).
- Проводить регулярные тесты уязвимостей.
Обычный пользователь:
- Создать аккаунт, настроить профиль.
- Подключить мобильные клиенты.
- Ознакомиться с политиками хранения данных.
Тесты приёмки
- Веб-интерфейс доступен по HTTPS и HTTP (перенаправление на HTTPS).
- Вход и регистрация проходят успешно.
- Сообщения отправляются и сохраняются в базе.
- При рестарте системы служба Mattermost автоматически поднимается.
Типичные ошибки и устранение неполадок
- Mattermost не запускается: проверьте sudo journalctl -u mattermost.service и права на /opt/mattermost.
- Ошибки подключения к базе: проверьте DataSource и доступность порта 3306.
- Белый экран в браузере: проверьте SiteURL в config.json и настройки прокси.
Конфигурация для продакшена — краткая методология
- Подготовьте отдельные хосты для приложения и базы.
- Настройте HTTPS через проверенный CA.
- Мониторьте SLI/SLO: доступность 99.9%, задержка отклика интерфейса.
- Настройте регулярные бэкапы и проигрывайте тестовое восстановление.
Приватность и соответствие требованиям
- Данные пользователей хранятся в вашей инфраструктуре — это помогает соответствовать требованиям по конфиденциальности.
- Для GDPR: документируйте обработку персональных данных, предоставляйте пользователям доступ к их данным и механизм удаления.
Короткая проверка перед вводом в эксплуатацию
- Пароли пользователей и админа изменены.
- HTTPS настроен и действителен.
- Работают бэкапы и проверено восстановление.
- Мониторинг логов и метрик настроен.
Критерии приёмки
- Пользователь может зарегистрироваться и отправить сообщение.
- Сообщение появляется у других участников канала в течение секунды-нескольких секунд.
- При перезагрузке системы служба автоматически стартует.
- Бэкап базы проходит успешно и восстанавливается на тестовом сервере.
Краткое резюме
Вы установили Mattermost на Rocky Linux 8, настроили MySQL, systemd и брандмауэр, а также проверили доступ к веб-интерфейсу. Для продакшена дополнительно настройте HTTPS, бэкапы, мониторинг и политику безопасности.
Summary:
- Установка завершена: Mattermost доступен на порту 8065/через HTTPS при прокси.
- Настройте дополнительные меры безопасности перед вводом в эксплуатацию.
- Регулярно проверяйте бэкапы и обновления.
Если остались вопросы или нужны примеры конфигураций для Docker/Kubernetes, оставьте комментарий или запрос — мы поможем адаптировать развёртывание под вашу инфраструктуру.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента