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

Matrix — это бесплатный, открытый стандарт для обмена сообщениями и VoIP. Одной строкой: Matrix — федеративный протокол и набор серверных реализаций для чатов и звонков. Synapse — одна из реализаций homeserver на Python, позволяющая запускать собственный сервер, хранить данные пользователей и историю сообщений.
В этой статье описаны проверенные шаги по установке Matrix Synapse на сервер с Ubuntu 22.04, настройке Nginx как обратного прокси, выпуску сертификата Let’s Encrypt и базовой безопасности.
Что вам нужно
- Сервер с Ubuntu 22.04.
- Домен, указывающий на IP сервера.
- Пароль root или доступ к учетной записи с sudo.
Быстрый план действий
- Обновить пакеты и установить зависимости.
- Добавить репозиторий Matrix и установить matrix-synapse-py3.
- Сконфигурировать homeserver.yaml (адрес привязки, закрытая регистрация, секрет).
- Настроить Nginx как обратный прокси и включить HTTPS через Certbot.
- Создать суперпользователя и проверить доступ через веб-клиент.
Подготовка системы
Обновите индекс пакетов:
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. Примеры экранов установки:

Введите ваш домен и нажмите клавишу 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/
Пример строки успешного получения сертификата:
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 вашего сервера в настройках клиента.
Примеры экранов проверки и подключения:





Рекомендации по безопасности
- Всегда используйте 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 (пошагово)
- apt update && apt install curl wget gnupg2 apt-transport-https
- Добавить GPG и репозиторий Matrix
- apt-get update && apt-get install matrix-synapse-py3
- Настроить /etc/matrix-synapse/homeserver.yaml и перезапустить сервис
- Установить nginx, создать конфиг, проверить nginx -t и перезапустить
- Установить certbot и выполнить certbot для nginx
- Создать администратора register_new_matrix_user
- Настроить бэкапы и мониторинг
Устранение неполадок (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.
Похожие материалы
Исправление ошибки 0x8078012D в Windows
Как экспортировать и сохранить списки Twitter
Как удалить адрес из интернета и вернуть приватность
Как закрыть лишние фоновые процессы в Windows
Сброс Steam Deck до заводских настроек