Гид по технологиям

Установка Mattermost на Rocky Linux 8 — пошаговое руководство

• 6 min read • Серверы • Обновлено 21 Nov 2025
Установка Mattermost на Rocky Linux 8
Установка 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 mysqld
sudo systemctl enable mysqld

Проверьте статус:

sudo systemctl status mysqld

Установка MySQL: статус службы

Шаг 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.

Создание базы данных MySQL

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.gz
sudo mv mattermost /opt

Important: Следите за версией релиза и при необходимости замените URL на актуальную.

Скачивание Mattermost

Шаг 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/system
sudo 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.service
sudo systemctl daemon-reload

Управление службой:

sudo systemctl start mattermost.service
sudo systemctl stop mattermost.service
sudo systemctl enable mattermost.service
sudo systemctl disable mattermost.service

Проверьте статус:

sudo systemctl status mattermost.service

Состояние службы Mattermost

Шаг 7. Настройка брандмауэра

Mattermost по умолчанию слушает порт 8065. Разрешите входящие соединения на этот порт:

sudo firewall-cmd --zone=public --add-port=8065/tcp

Примените правила:

sudo firewall-cmd --reload

Проверьте текущие правила:

sudo firewall-cmd --zone=public --list-all

Notes: Если вы используете обратный прокси (например, Nginx) и HTTPS, то обычно открывают только 80/443 и перенаправляют трафик на внутренний 8065.

Шаг 8. Доступ к веб-интерфейсу

Откройте в браузере:

http://server_ip:8065

Где server_ip — IP-адрес вашего сервера. Создайте аккаунт, введите имя пользователя, почту и пароль, затем нажмите Create Account.

Страница входа Mattermost

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

Панель Mattermost

Каналы Mattermost

Поздравляем — установка завершена.


Рекомендации по безопасности

  1. Настройте HTTPS через обратный прокси (Nginx/Apache).
  2. Используйте Let’s Encrypt для бесплатных сертификатов.
  3. Ограничьте доступ к базе данных по IP.
  4. Установите SELinux в режиме Enforcing и добавьте исключения при необходимости.
  5. Регулярно обновляйте систему и 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 и настройки прокси.

Конфигурация для продакшена — краткая методология

  1. Подготовьте отдельные хосты для приложения и базы.
  2. Настройте HTTPS через проверенный CA.
  3. Мониторьте SLI/SLO: доступность 99.9%, задержка отклика интерфейса.
  4. Настройте регулярные бэкапы и проигрывайте тестовое восстановление.

Приватность и соответствие требованиям

  • Данные пользователей хранятся в вашей инфраструктуре — это помогает соответствовать требованиям по конфиденциальности.
  • Для GDPR: документируйте обработку персональных данных, предоставляйте пользователям доступ к их данным и механизм удаления.

Короткая проверка перед вводом в эксплуатацию

  • Пароли пользователей и админа изменены.
  • HTTPS настроен и действителен.
  • Работают бэкапы и проверено восстановление.
  • Мониторинг логов и метрик настроен.

Критерии приёмки

  • Пользователь может зарегистрироваться и отправить сообщение.
  • Сообщение появляется у других участников канала в течение секунды-нескольких секунд.
  • При перезагрузке системы служба автоматически стартует.
  • Бэкап базы проходит успешно и восстанавливается на тестовом сервере.

Краткое резюме

Вы установили Mattermost на Rocky Linux 8, настроили MySQL, systemd и брандмауэр, а также проверили доступ к веб-интерфейсу. Для продакшена дополнительно настройте HTTPS, бэкапы, мониторинг и политику безопасности.

Summary:

  • Установка завершена: Mattermost доступен на порту 8065/через HTTPS при прокси.
  • Настройте дополнительные меры безопасности перед вводом в эксплуатацию.
  • Регулярно проверяйте бэкапы и обновления.

Если остались вопросы или нужны примеры конфигураций для Docker/Kubernetes, оставьте комментарий или запрос — мы поможем адаптировать развёртывание под вашу инфраструктуру.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро