Установка Matrix Synapse на Ubuntu/Debian: Пошаговое руководство 2024 | AdminWiki

Установка Matrix на Ubuntu: Полное руководство по развертыванию Synapse

17 декабря 2025 6 мин. чтения #debian #devops #matrix #synapse #ubuntu #мессенджер #сервер #установка

Представь, что тебе нужно развернуть собственный сервер для децентрализованного общения с полным контролем над данными. Matrix — это открытый протокол для реального времени коммуникации, а Synapse — его эталонная серверная реализация. Давай разберем, как установить Matrix Synapse на Ubuntu (и Debian) от начала до рабочего состояния.

Что тебе понадобится перед установкой

  • Сервер Ubuntu 20.04/22.04 LTS или Debian 11/12 (минимум 1 ГБ RAM)
  • Доменное имя (например, matrix.example.com)
  • Базовые знания командной строки Linux
  • Root-доступ или пользователь с sudo-привилегиями
Важно: Процесс установки Matrix Synapse на Ubuntu и Debian практически идентичен, так как оба дистрибутива используют apt. Различия минимальны и будут указаны отдельно.

Шаг 1: Подготовка системы и установка зависимостей

Начнем с обновления системы и установки необходимых пакетов:

bash
# Обновляем список пакетов
sudo apt update
sudo apt upgrade -y

# Устанавливаем зависимости
sudo apt install -y \
    lsb-release \
    wget \
    apt-transport-https \
    software-properties-common \
    python3-pip \
    python3-venv \
    python3-dev \
    build-essential \
    libssl-dev \
    libffi-dev \
    libjpeg-dev \
    libpq-dev

Шаг 2: Установка Matrix Synapse на Ubuntu

Добавляем официальный репозиторий Matrix и устанавливаем Synapse:

bash
# Добавляем ключ репозитория
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg \
    https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg

# Добавляем репозиторий
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] \
    https://packages.matrix.org/debian/ $(lsb_release -cs) main" | \
    sudo tee /etc/apt/sources.list.d/matrix-org.list

# Обновляем и устанавливаем Synapse
sudo apt update
sudo apt install matrix-synapse-py3
Внимание: Во время установки тебя попросят ввести имя сервера (server name). Это твой домен (например, example.com). Будь внимателен — изменить это позже сложно!

Альтернатива: Установка Matrix на Debian

Для Debian процесс аналогичен, но убедись, что версия Debian поддерживается:

bash
# Для Debian 11 (Bullseye) и 12 (Bookworm)
# Используй ту же команду добавления репозитория
# Проверь соответствие $(lsb_release -cs) твоей версии

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

Основной конфигурационный файл находится в /etc/matrix-synapse/homeserver.yaml. Отредактируем его:

bash
# Создаем резервную копию конфига
sudo cp /etc/matrix-synapse/homeserver.yaml \
    /etc/matrix-synapse/homeserver.yaml.backup

# Редактируем конфиг
sudo nano /etc/matrix-synapse/homeserver.yaml

Найди и измени следующие параметры:

yaml
# Имя сервера (должно совпадать с введенным при установке)
server_name: "example.com"

# Публикация сервера (для федерации)
public_baseurl: "https://matrix.example.com"

# Регистрация новых пользователей
enable_registration: true
enable_registration_without_verification: true

# Лимиты
rc_messages_per_second: 0.2
rc_message_burst_count: 10.0

# База данных (оставляем SQLite для начала)
database:
  name: "sqlite3"
  args:
    database: "/var/lib/matrix-synapse/homeserver.db"

Шаг 4: Настройка Nginx и SSL

Установим Nginx в качестве обратного прокси и настроим SSL через Certbot:

bash
# Устанавливаем Nginx
sudo apt install nginx -y

# Устанавливаем Certbot для SSL
sudo apt install certbot python3-certbot-nginx -y

Создаем конфиг Nginx для Matrix:

bash
sudo nano /etc/nginx/sites-available/matrix
nginx
server {
    listen 80;
    listen [::]:80;
    server_name matrix.example.com;

    location /.well-known/matrix/server {
        return 200 '{"m.server": "matrix.example.com:443"}';
        add_header Content-Type application/json;
        add_header Access-Control-Allow-Origin *;
    }

    location /.well-known/matrix/client {
        return 200 '{"m.homeserver": {"base_url": "https://matrix.example.com"}}';
        add_header Content-Type application/json;
        add_header Access-Control-Allow-Origin *;
    }

    location / {
        return 301 https://$server_name$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name matrix.example.com;

    ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/matrix.example.com/privkey.pem;

    location /_matrix {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
    }

    location /_synapse/client {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
    }
}
bash
# Активируем конфиг
sudo ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# Получаем SSL сертификат
sudo certbot --nginx -d matrix.example.com

Шаг 5: Запуск и управление Matrix Synapse

Запускаем сервис и проверяем статус:

bash
# Перезапускаем Synapse с новым конфигом
sudo systemctl restart matrix-synapse

# Проверяем статус
sudo systemctl status matrix-synapse

# Включаем автозагрузку
sudo systemctl enable matrix-synapse

# Просмотр логов
sudo journalctl -u matrix-synapse -f

Шаг 6: Создание первого пользователя

Создадим администратора через командную строку:

bash
# Регистрируем нового пользователя
sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008

# Тебе будет предложено:
# Username: admin
# Password: (надежный пароль)
# Make admin [yes]: yes

Сравнение методов установки

Метод Плюсы Минусы Для кого
APT (официальный репозиторий) Автообновления, простота, стабильность Не самая свежая версия Для продакшена
Docker Изоляция, простота развертывания Сложнее с бэкапами Для тестирования
Из исходников Самые свежие версии Сложно поддерживать Для разработчиков

Частые вопросы (FAQ)

Как проверить, что установка Matrix Synapse на Ubuntu прошла успешно?

Выполни команду curl http://localhost:8008/_matrix/client/versions. Должен вернуться JSON с версией Synapse. Также проверь логи: sudo journalctl -u matrix-synapse -n 50.

Можно ли установить Matrix на Debian 11?

Да, процесс установки Matrix на Debian идентичен Ubuntu. Убедись, что используешь правильное имя кодовой версии в репозитории. Для Debian 11 Bullseye команда добавления репозитория работает без изменений.

Как настроить PostgreSQL вместо SQLite?

Установи PostgreSQL: sudo apt install postgresql. Создай БД и пользователя, затем измени в homeserver.yaml:

yaml
database:
  name: "psycopg2"
  args:
    user: "matrix"
    password: "твой_пароль"
    database: "synapse"
    host: "localhost"
    cp_min: 5
    cp_max: 10

Как обновить Synapse?

Для обновления через APT: sudo apt update && sudo apt upgrade matrix-synapse-py3. Перед обновлением всегда делай бэкап конфига и базы данных.

Производительность: Для маленького сервера (1-2 ГБ RAM) оставь SQLite. Для 10+ пользователей переходи на PostgreSQL. Оптимальные настройки памяти: SYNAPSE_CACHE_FACTOR=0.5 в /etc/default/matrix-synapse.

Дальнейшие шаги

  • Настрой бэкапы базы данных (cron + pg_dump или sqlite .backup)
  • Установи Element Web как веб-клиент
  • Настрой мониторинг (Prometheus + Grafana)
  • Включи двухфакторную аутентификацию
  • Настрой интеграции с ботом (mautrix-telegram, mautrix-whatsapp)

Теперь у тебя работает собственный сервер Matrix на Ubuntu! Помни: федерация (общение с другими серверами) заработает через 5-10 минут после настройки SSL. Проверить федерацию можно через Matrix Federation Tester. Удачи в освоении децентрализованного общения!

Поделиться:
Сохранить гайд? В закладки браузера