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

Установка 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
Автор
Редакция

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

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

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

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

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

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

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

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

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

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

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

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

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