Хотите корпоративный чат на своём сервере без ограничений и лишних подписок? Настройте Mattermost на Ubuntu: с базой, конфигом и автозапуском. В статье показываем, как развернуть Mattermost на VPS — пошагово, с пояснениями и готовыми командами.
Введение
Чтобы команда работала слаженно, нужен удобный корпоративный чат. Многие пользуются Slack или другими сервисами, но не всем подходит их стоимость или возможности. Mattermost решает эту проблему.
В статье рассказали, как установить Mattermost на сервере Ubuntu и выполнить первоначальную настройку. Вы узнаете, как подготовить систему, установить базу данных PostgreSQL и сам Mattermost, настроить его конфигурацию и запустить как сервис.
Что такое Mattermost и зачем он нужен
Mattermost — это бесплатная альтернатива корпоративным мессенджерам. Проект изначально появился как открытый Slack, унаследовав многие его функции. Главное преимущество Mattermost в том, что вы размещаете его на своём сервере, где все данные хранятся локально, под вашим управлением, без сторонних облачных сервисов.
По функционалу Mattermost близок к популярным чат-платформам. Он поддерживает создание каналов для разных команд или проектов, личные сообщения между пользователями, а также тематические треды внутри каналов для удобного обсуждения. Встроенный поиск по сообщениям не ограничен по истории. Mattermost поддерживает отправку файлов и изображений, которые хранятся на сервере и доступны участникам чата.
В Mattermost есть опциональная двухфакторная аутентификация и гибкая система прав. Платформа интегрируется с другими инструментами: через веб-хуки и ботов можно получать оповещения из систем контроля версий, CI/CD или других приложений прямо в чат. Mattermost можно дополнительно расширить плагинами, например, при необходимости подключить плагин для аудио-звонков и демонстрации экрана.
Подготовка сервера
Перед установкой убедитесь, что у вас есть сервер с Ubuntu 24.04 LTS (64-bit) и доступом по SSH. Рекомендуется минимальная конфигурация 2 CPU и 2 ГБ RAM, этого хватит примерно для 500-1000 пользователей, запас памяти не помешает. В примерах ниже мы будем использовать условный домен mattermost.example.com, замените его на свой.
Первым делом обновите систему и установите базовые утилиты. Выполните в терминале команду обновления пакетов:
sudo apt update && sudo apt upgrade -y
Эта команда приведёт все установленные пакеты к актуальным версиям. После её завершения можно перейти к настройке сетевых правил и установке необходимых компонентов.
Если на сервере включён брандмауэр, откройте порт 8065. Также потребуется разрешить HTTP (порт 80) и HTTPS (порт 443) для доступа к веб-интерфейсу через прокси-сервер Nginx. Настройте файрвол UFW соответствующими правилами. Если UFW неактивен, этот шаг можно пропустить:
sudo ufw allow 8065/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Правило для порта 8065 открывает временный прямой доступ к Mattermost на время настройки. В дальнейшем, после подключения через Nginx, этот порт можно будет закрыть или ограничить по безопасности.
Установка базы данных PostgreSQL
Mattermost работает с PostgreSQL или MySQL/MariaDB, но рекомендуют PostgreSQL, её и ставим. В Ubuntu 24.04 она доступна из официальных репозиториев:
sudo apt install -y postgresql postgresql-contrib
После установки СУБД сервис PostgreSQL запустится автоматически. Убедиться в этом можно командой:
sudo systemctl status postgresql
Статус должен быть active (running).
Теперь настроим базу. Подключитесь под пользователем postgres:
sudo -u postgres psql
В консоли создайте БД и пользователя:
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'СложныйПароль';
GRANT ALL PRIVILEGES ON DATABASE mattermost TO mmuser;
Замените 'СложныйПароль' на свой. Выйдите из консоли командой \q. Всё готово: база mattermost и пользователь mmuser созданы.
Если предпочитаете MySQL/MariaDB, установите mariadb-server и создайте БД вручную через mysql. Но дальше мы продолжаем с PostgreSQL.
Установка Mattermost Server
Устанавливать Mattermost будем из официального репозитория. Разработчики подготовили скрипт, который подключает нужные источники и ключи. Выполните:
curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost
После этого обновите индексы пакетов и установите Mattermost:
sudo apt update
sudo apt install -y mattermost
Программа установится в /opt/mattermost, вместе с нужными пользователем и группой mattermost. Теперь скопируйте базовый конфиг и задайте права:
sudo cp /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json
sudo chown mattermost:mattermost /opt/mattermost/config/config.json
sudo chmod 600 /opt/mattermost/config/config.json
Откройте config.json в редакторе:
sudo nano /opt/mattermost/config/config.json
В блоке "ServiceSettings" укажите:
"SiteURL": "http://mattermost.example.com",
А в "SqlSettings":
"DriverName": "postgres",
"DataSource": "postgres://mmuser:СложныйПароль@localhost/mattermost?sslmode=disable&connect_timeout=10&binary_parameters=yes"
Проверьте имя пользователя и пароль. Остальное можно пока не трогать, позже всё настраивается через веб-интерфейс. Запустите сервис:
sudo systemctl start mattermost
Проверьте статус:
sudo systemctl status mattermost
И убедитесь, что открыт порт 8065:
sudo ss -tunlp | grep 8065
Добавьте автозапуск:
sudo systemctl enable mattermost
Теперь можно открыть браузер и зайти на http://<IP>:8065, чтобы увидеть приветственную страницу.
Заключение
Mattermost — это инструмент, который легко вписывается в инфраструктуру компании и не привязан к внешним платформам. Он создаёт единое пространство для командной коммуникации, где всё, от рабочих обсуждений до истории задач, остаётся под контролем.
Открытая архитектура позволяет интегрировать Mattermost с внутренними системами, CI/CD-пайплайнами, таск-трекерами и другими сервисами. При этом даже базовая редакция уже даёт всё необходимое для продуктивной работы. Настроенная платформа готова к эксплуатации и масштабированию, от малых команд до корпоративных деплоев.
Читайте в блоге:
- Как начать работу с личным VPS и зачем он нужен
- Создание простого чат-бота для сайта на Python и Flask
- От идеи до воплощения: запускаем чат-бота на VPS