База знанийОстальноеLinuxУстановка Matrix-Synapse с Element Web/X на базе SQLite

Установка Matrix-Synapse с Element Web/X на базе SQLite

Rick25 марта 2026 г.

Перед установкой настройте домен:

Тип: А

Имя: chat(или любое свое)

Хост: Айпи к которому будет привязан домен.

После того как домен настроен и привязан к айпи адресу перейдем к установке. Используем чистый debian в качестве примера.

Скачиваем утилиту sudo и все обновления командами:

apt install sudo

sudo apt update && sudo apt upgrade -y

Для веб доступа будем использовать Apache:

Установка командой:

sudo apt install -y apache2 certbot

Включение модулей для работы командой:

sudo a2enmod proxy proxy_http ssl headers rewrite

Перезагрузка Apache:

systemctl restart apache2

Далее устанавливаем Matrix Synapse и Coturn:

sudo apt install -y lsb-release wget apt-transport-https

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

sudo apt update

После выполнения следующей команды вас попросит ввести Name of the server вводите туда свой домен например chat.example.ru

sudo apt install -y matrix-synapse-py3 coturn

Далее необходимо получить сертификаты для правильной работы сервиса. (необходимо также пробросить порты 80 и 443 на устройство где стоит сервер):

sudo systemctl stop apache2

В качестве примера chat.example.ru но вы его меняете под свой домен:

sudo certbot certonly --standalone -d chat.example.ru

Далее выполняется настройка Synapse:

sudo nano /etc/matrix-synapse/conf.d/server_name.yaml

Проверьте чтоб там была строчка server_name: "chat.example.ru" если ее нет создайте.

Перед настройкой следующего конфига создайте 2 ключа и запишите их:

openssl rand -hex 32

openssl rand -hex 32

Сама настройка конфига:

sudo nano /etc/matrix-synapse/conf.d/90-custom.yaml

В нем также поменяйте chat.example.ru на свой домен и порт который будет использоваться:

code
13 lines
1enable_registration: false
2enable_registration_without_verification: false
3
4macaroon_secret_key: "ВАШ_СГЕНЕРИРОВАННЫЙ_КЛЮЧ_1"
5
6turn_uris:
7 - "turn:chat.example.ru:3478?transport=udp"
8 - "turn:chat.example.ru:3478?transport=tcp"
9
10turn_shared_secret: "ВАШ_СГЕНЕРИРОВАННЫЙ_2"
11turn_user_lifetime: 86400000
12turn_allow_guests: true
13max_upload_size: 4G

Далее идет настройка Coturn:

sudo nano /etc/turnserver.conf

В этом конфиге вы настраиваете порты один как в прошлом конфиге и еще один для tls, эти два порта будут использоваться для голосовых звонков, нужно заменить весь конфиг на тот что ниже и поменять домены на свои(их также нужно будет пробросить):

code
11 lines
1listening-port=3478
2tls-listening-port=5349
3fingerprint
4use-auth-secret
5static-auth-secret=ВАШ_СГЕНЕРИРОВАННЫЙ_КЛЮЧ_2
6realm=chat.example.ru
7lt-cred-mech
8cert=/etc/letsencrypt/live/chat.example.ru/fullchain.pem
9pkey=/etc/letsencrypt/live/chat.example.ru/privkey.pem
10no-multicast-peers
11no-cli

Перейдем к главной настройке веб интерфейса:

Переходим к временной папке хранения:

cd /tmp

Скачиваем Element:

wget https://github.com/vector-im/element-web/releases/download/v1.11.80/element-v1.11.80.tar.gz

Создаем папку для него:

sudo mkdir -p /var/www/element

Разархивируем:

sudo tar -xzvf element-v*.tar.gz -C /var/www/element --strip-components=1

Копируем файл конфигурации:

sudo cp /var/www/element/config.sample.json /var/www/element/config.json

Далее заходим в файл конфигурации и меняем 2 значения:

sudo nano /var/www/element/config.json

Нужно поменять:

base_url (https://chat.example.ru) server_name (chat.example.ru)

Далее разрешаем использование данной папки:

sudo chown -R www-data:www-data /var/www/element

Теперь необходимо настроить Apache который и будет предоставлять доступ:

nano /etc/apache2/sites-available/chat.example.ru.conf

Вставляем конфиг с соответствующими изменениями:

code
24 lines
1<VirtualHost *:80>
2 ServerName chat.example.ru
3 Redirect permanent / https://chat.example.ru/
4</VirtualHost>
5
6<VirtualHost *:443>
7 ServerName chat.example.ru
8 DocumentRoot /var/www/element
9
10 SSLEngine on
11 SSLCertificateFile /etc/letsencrypt/live/chat.example.ru/fullchain.pem
12 SSLCertificateKeyFile /etc/letsencrypt/live/chat.example.ru/privkey.pem
13
14 ProxyPass /_matrix http://127.0.0.1:8008/_matrix nocanon
15 ProxyPassReverse /_matrix http://127.0.0.1:8008/_matrix
16 ProxyPass /_synapse http://127.0.0.1:8008/_synapse nocanon
17 ProxyPassReverse /_synapse http://127.0.0.1:8008/_synapse
18
19 <Directory /var/www/element>
20 Options Indexes FollowSymLinks
21 AllowOverride All
22 Require all granted
23 </Directory>
24</VirtualHost>

Теперь необходимо установить файрволл и настроить его:

sudo apt install -y ufw

sudo ufw allow ssh

sudo ufw allow 80/tcp

sudo ufw allow 80/udp

sudo ufw allow 443/tcp

sudo ufw allow 443/udp

sudo ufw allow 3478

sudo ufw allow 5349

sudo ufw enable

Переходим к активации и запуску:

Запускаем конфиг Apache:

sudo a2ensite chat.example.ru.conf

Запускаем Coturn:

sudo systemctl enable --now coturn

Перезапускаем веб сервер для применения изменений:

sudo systemctl restart apache2

Зайдите в конфиг Synapse и поставьте ключ для регистрации пользователей:

nano /etc/matrix-synapse/homeserver.yml

Необходимо добавить строку к примеру после строки log_config:

registration_shared_secret: "ВАШ_КЛЮЧ_2"

Перезапускаем Matrix-Synapse:

sudo systemctl restart matrix-synapse

Создание новых пользователей происходит командой:

sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://127.0.0.1:8008 -u ваш-логин -p ваш-пароль

При ее использовании будет выведен выбор выдать права администратора или нет пишите yes либо no.