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

Установка Matrix Synapse на Ubuntu 22.04

5 min read Сервер Обновлено 26 Nov 2025
Установка Matrix Synapse на Ubuntu 22.04
Установка Matrix Synapse на Ubuntu 22.04

Установите Matrix Synapse на Ubuntu 22.04, настроив его как локальный homeserver, защитите через Nginx и Let’s Encrypt и создайте администратора. В статье — пошаговая команда установки, базовая конфигурация, настройка обратного прокси и советы по безопасности и эксплуатации.

Логотип Matrix и схема соединений

Matrix — это бесплатный, открытый стандарт для обмена сообщениями и VoIP. Одной строкой: Matrix — федеративный протокол и набор серверных реализаций для чатов и звонков. Synapse — одна из реализаций homeserver на Python, позволяющая запускать собственный сервер, хранить данные пользователей и историю сообщений.

В этой статье описаны проверенные шаги по установке Matrix Synapse на сервер с Ubuntu 22.04, настройке Nginx как обратного прокси, выпуску сертификата Let’s Encrypt и базовой безопасности.

Что вам нужно

  • Сервер с Ubuntu 22.04.
  • Домен, указывающий на IP сервера.
  • Пароль root или доступ к учетной записи с sudo.

Быстрый план действий

  1. Обновить пакеты и установить зависимости.
  2. Добавить репозиторий Matrix и установить matrix-synapse-py3.
  3. Сконфигурировать homeserver.yaml (адрес привязки, закрытая регистрация, секрет).
  4. Настроить Nginx как обратный прокси и включить HTTPS через Certbot.
  5. Создать суперпользователя и проверить доступ через веб-клиент.

Подготовка системы

Обновите индекс пакетов:

apt update -y

Установите зависимости:

apt install curl wget gnupg2 apt-transport-https -y

Установка Matrix Synapse

По умолчанию пакета в репозиториях Ubuntu нет. Добавим официальный репозиторий Matrix.

Скачайте и добавьте GPG-ключ:

wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg

Добавьте репозиторий APT:

echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/matrix-org.list

Обновите индекс и установите Synapse:

apt-get update -y
apt-get install matrix-synapse-py3 -y

Во время установки будет запрос доменного имени для homeserver. Примеры экранов установки:

Запрос домена при установке Synapse

Введите ваш домен и нажмите клавишу Enter. Затем установщик спросит про анонимную статистику — можно согласиться, если вы не против отправки базовых метрик:

Запрос на отправку анонимной статистики

После установки запустите и включите сервис:

systemctl start matrix-synapse
systemctl enable matrix-synapse

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

systemctl status matrix-synapse

Вы увидите вывод systemd с информацией о процессе. Synapse по умолчанию слушает на 127.0.0.1:8008 (HTTP).

Проверка прослушиваемых сокетов:

ss -antpl | grep python

Ожидаемый вывод показывает python-процесс, слушающий 127.0.0.1:8008.

Базовая конфигурация Synapse

Сгенерируйте секрет для shared registration и других нужд:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Пример вывода (ваш будет уникален):

R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s

Отредактируйте файл конфигурации:

nano /etc/matrix-synapse/homeserver.yaml

Установите привязку, выключите открытые регистрации и вставьте сгенерированный секрет:

bind_addresses: ['127.0.0.1']
enable_registration: false
registration_shared_secret: "R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s"

Сохраните файл и перезапустите сервис:

systemctl restart matrix-synapse

Важно: храните registration_shared_secret в защищённом месте и не публикуйте его.

Настройка Nginx как обратного прокси

Nginx рекомендуется для публикации Synapse и работы с HTTPS.

Установите Nginx:

apt-get install nginx -y

Создайте конфигурацию виртуального хоста:

nano /etc/nginx/conf.d/matrix.conf

Добавьте (замените server_name на ваш домен):

server {
    listen 80;
    server_name matrix.linuxbuz.com;

    location / {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Проверьте конфигурацию Nginx и перезапустите сервис:

nginx -t
systemctl restart nginx
systemctl status nginx

Если все верно, Nginx начнёт принимать соединения на 80 порту и проксировать их к Synapse.

Создание учетной записи администратора

Создайте admin-пользователя командой регистрации:

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008

В интерактивном диалоге укажите локальную часть логина (localpart), например matrixadmin, задайте пароль и подтвердите сделав пользователя админом (Make admin: yes).

Пример диалога:

New user localpart [root]: matrixadmin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success!

Получение и настройка HTTPS через Let’s Encrypt

Установите Certbot для Nginx:

apt-get install certbot python3-certbot-nginx -y

Запустите certbot и следуйте подсказкам (укажите email, согласитесь с условиями). Certbot предложит выбрать домен для включения HTTPS.

certbot

Если всё успешно, сертификат сохранится в /etc/letsencrypt/live// и Certbot автоматически обновит конфигурацию Nginx.

Пример строки успешного получения сертификата:

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/matrix.linuxbuz.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/matrix.linuxbuz.com/privkey.pem

Доступ через веб-клиенты

Откройте в браузере https://matrix.linuxbuz.com. Если вы используете Riot/Element, укажите URL вашего сервера в настройках клиента.

Примеры экранов проверки и подключения:

Экран входа Matrix в браузере

Riot/Element — выбор настроек сервера

Редактирование URL сервера в Riot/Element

Страница входа Matrix (пример)

Интерфейс клиента после входа

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

  • Всегда используйте HTTPS и проверяйте автоматическое обновление сертификатов (certbot renew).
  • Ограничьте доступ к homeserver по loopback (bind_addresses: [‘127.0.0.1’]) и публикуйте только через доверенный обратный прокси.
  • Регулярно обновляйте пакеты Synapse и зависимости.
  • Храните registration_shared_secret и ключи сертификатов в безопасном хранилище (например, vault или зашифрованный диск).
  • Рассмотрите ограничение размеров логов и ротацию (logrotate).

Чек-листы по ролям

Администратор сервера:

  • Проверить A/AAAA-запись домена.
  • Установить и настроить Synapse.
  • Настроить регулярное резервное копирование /var/lib/matrix и базы данных.

Системный администратор Nginx:

  • Проверить конфигурацию proxy_set_header и timeout.
  • Включить HTTP->HTTPS перенаправление.

Офицер по безопасности:

  • Настроить мониторинг SSO/2FA при доступе к административным интерфейсам.
  • Проверить права на файлы с ключами.

Быстрый SOP (пошагово)

  1. apt update && apt install curl wget gnupg2 apt-transport-https
  2. Добавить GPG и репозиторий Matrix
  3. apt-get update && apt-get install matrix-synapse-py3
  4. Настроить /etc/matrix-synapse/homeserver.yaml и перезапустить сервис
  5. Установить nginx, создать конфиг, проверить nginx -t и перезапустить
  6. Установить certbot и выполнить certbot для nginx
  7. Создать администратора register_new_matrix_user
  8. Настроить бэкапы и мониторинг

Устранение неполадок (runbook)

Если Synapse не запускается:

  • Проверить systemctl status matrix-synapse и журнал: journalctl -u matrix-synapse -b
  • Проверить конфигурацию homeserver.yaml на ошибки синтаксиса YAML
  • Убедиться, что порт 8008 не занят другим процессом

Если Nginx не перезапускается:

  • nginx -t для проверки синтаксиса
  • Проверить права файла /etc/nginx/conf.d/matrix.conf

Проблемы с HTTPS:

  • Проверьте наличие сертификатов в /etc/letsencrypt/live/
  • Попробуйте certbot renew –dry-run

Альтернативные подходы

  • Использовать Docker-контейнеры (официальный образ Synapse) для изоляции и упрощения развёртывания.
  • Рассмотреть Dendrite (альтернативная реализация Matrix на Go) при высоких нагрузках.
  • Хостинг в облачных сервисах с управляемыми сертификатами и балансировщиками.

Совместимость и миграция

  • Synapse использует PostgreSQL или SQLite. Для продакшена рекомендована PostgreSQL.
  • При миграции с SQLite на PostgreSQL следуйте официальной документации Synapse.

Глоссарий (одна строка)

  • Homeserver — сервер Matrix, который хранит учетные записи и ретранслирует события.
  • Synapse — реализация homeserver на Python.
  • Federation — механизм обмена событиями между разными homeserver’ами.

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

  • Synapse отвечает на запросы на порту 8008 локально.
  • Nginx возвращает успешный SSL-ответ на ваш домен (HTTPS).
  • Вы можете залогиниться через Element/Riot и получить список комнат.

Заключение

Вы установили и настроили Matrix Synapse на Ubuntu 22.04, опубликовали сервис через Nginx и защитили соединение сертификатом Let’s Encrypt. Дальше рекомендуем:

  • Настроить регулярные бэкапы и мониторинг.
  • Перенести базу на PostgreSQL для продакшена.
  • Внедрить политики безопасности и ротацию ключей.

Важно: храните секреты и ключи в защищённом хранилище и регулярно обновляйте ПО.

Источники и дополнительные материалы: официальная документация Synapse и Certbot.

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

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

Исправление ошибки 0x8078012D в Windows
Windows

Исправление ошибки 0x8078012D в Windows

Как экспортировать и сохранить списки Twitter
Социальные сети

Как экспортировать и сохранить списки Twitter

Как удалить адрес из интернета и вернуть приватность
Конфиденциальность

Как удалить адрес из интернета и вернуть приватность

Как закрыть лишние фоновые процессы в Windows
Windows

Как закрыть лишние фоновые процессы в Windows

Сброс Steam Deck до заводских настроек
Гайды

Сброс Steam Deck до заводских настроек

Скачать и использовать CCleaner для удаления вредоносного ПО
Безопасность

Скачать и использовать CCleaner для удаления вредоносного ПО