Установка сервера · 13 min read · Nov 01, 2025
Как установить и создать чат-сервер с использованием Matrix Synapse и Element на Ubuntu 22.04

Matrix — это открытый стандарт для децентрализованной и сквозной шифрованной связи. Это коллекция серверов и услуг, которые общаются друг с другом, используя стандартизированный API, который синхронизируется в реальном времени. Он использует домашние серверы для хранения информации об учетных записях и истории чата. Если один домашний сервер выходит из строя, другие серверы могут продолжать общение без проблем благодаря природе децентрализации. Вы можете использовать домашний сервер Matrix, размещенный кем-то другим, или разместить свой собственный, чтобы сохранить контроль над своими данными.
В этом руководстве вы узнаете, как установить и создать чат-сервер с использованием Synapse, реализации домашнего сервера Matrix. Element — это веб-клиент Matrix, построенный с использованием Matrix React SDK. Это позволит вам предложить чат Matrix в Интернете. Вы также можете использовать сервер с любым другим клиентом Matrix на ваш выбор. Мы также установим сервер Coturn для включения голосовых и видеозвонков. Служба Coturn является необязательной, если вы не заинтересованы в ее использовании.
Предварительные требования
- Сервер с установленной Ubuntu 22.04.
- Пользователь без прав sudo с правами root.
- Простой брандмауэр (UFW) включен и работает.
- Полностью квалифицированные доменные имена (FQDN) для Matrix, Element и Coturn, указывающие на ваш сервер. Мы будем использовать
matrix.example.com,element.example.comиcoturn.example.comсоответственно для трех служб. - Убедитесь, что все обновлено.
$ sudo apt update && sudo apt upgrade
Шаг 1 - Настройка брандмауэра
Перед установкой любых пакетов первым шагом является настройка брандмауэра для открытия портов для HTTP, HTTPS и Synapse.
Проверьте статус брандмауэра.
$ sudo ufw status
Вы должны увидеть что-то вроде следующего.
Статус: активен
Кому Действие Откуда
-- ------ ----
OpenSSH ALLOW Везде
OpenSSH (v6) ALLOW Везде (v6)
Откройте порты HTTP, HTTPS и Synapse в брандмауэре.
$ sudo ufw allow 8448
$ sudo ufw allow http
$ sudo ufw allow https
Проверьте статус еще раз, чтобы подтвердить.
$ sudo ufw status
Статус: активен
Кому Действие Откуда
-- ------ ----
OpenSSH ALLOW Везде
8448 ALLOW Везде
80/tcp ALLOW Везде
443 ALLOW Везде
OpenSSH (v6) ALLOW Везде (v6)
8448 (v6) ALLOW Везде (v6)
80/tcp (v6) ALLOW Везде (v6)
443 (v6) ALLOW Везде (v6)
Шаг 2 - Установка Matrix Synapse
Добавьте GPG-ключ Matrix.
$ sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Добавьте репозиторий APT Matrix.
$ 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
Установите Matrix Synapse.
$ sudo apt install matrix-synapse-py3
Во время установки вас попросят ввести имя сервера, которое является частью вашего Matrix ID. Введите имя вашего домена Matrix вместо этого. Это будет адрес вашего домашнего сервера.
Вас также спросят, хотите ли вы отправлять анонимизированную статистику о вашем домашнем сервере обратно в Matrix. Наберите N, чтобы отказаться.
Вы можете изменить эти настройки позже в файле /etc/matrix-synapse/conf.d/server_name.yaml.
Служба Matrix Synapse включена и запущена во время установки. Проверьте статус службы.
$ sudo systemctl status matrix-synapse
? matrix-synapse.service - Synapse Matrix homeserver
Loaded: loaded (/lib/systemd/system/matrix-synapse.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-09-26 09:38:38 UTC; 1min 19s ago
Process: 12926 ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --generate-key> Main PID: 12931 (python)
Tasks: 8 (limit: 2238)
Memory: 87.3M
CPU: 4.180s
CGroup: /system.slice/matrix-synapse.service
??12931 /opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/
Sep 26 09:38:36 matrix matrix-synapse[12926]: Generating signing key file /etc/matrix-synapse/homeserver.signing.key
Sep 26 09:38:37 matrix matrix-synapse[12931]: This server is configured to use 'matrix.org' as its trusted key server via the
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'trusted_key_servers' config option. 'matrix.org' is a good choice for a key
Sep 26 09:38:37 matrix matrix-synapse[12931]: server since it is long-lived, stable and trusted. However, some admins may
Sep 26 09:38:37 matrix matrix-synapse[12931]: wish to use another server for this purpose.
Sep 26 09:38:37 matrix matrix-synapse[12931]: To suppress this warning and continue using 'matrix.org', admins should set
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'suppress_key_server_warning' to 'true' in homeserver.yaml.
Sep 26 09:38:37 matrix matrix-synapse[12931]: --------------------------------------------------------------------------------
Sep 26 09:38:38 matrix matrix-synapse[12931]: Config is missing macaroon_secret_key
Sep 26 09:38:38 matrix systemd[1]: Started Synapse Matrix homeserver.
Шаг 3 - Установка и настройка PostgreSQL
Мы будем использовать официальный репозиторий APT PostgreSQL для установки. Выполните следующую команду, чтобы добавить GPG-ключ PostgreSQL.
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Добавьте репозиторий APT в ваш список источников.
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Обновите систему репозитория.
$ sudo apt update
Теперь вы можете установить PostgreSQL, используя следующую команду.
$ sudo apt install postgresql postgresql-contrib
Проверьте статус службы PostgreSQL.
$ sudo systemctl status postgresql
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-09-26 09:41:36 UTC; 2min 14s ago
Process: 15586 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 15586 (code=exited, status=0/SUCCESS)
CPU: 1ms
Sep 26 09:41:36 matrix systemd[1]: Starting PostgreSQL RDBMS...
Sep 26 09:41:36 matrix systemd[1]: Finished PostgreSQL RDBMS.
Вы можете видеть, что служба включена и работает по умолчанию.
Войдите в системную учетную запись postgres.
$ sudo -su postgres
Создайте нового пользователя базы данных и базу данных для PostgreSQL.
$ createuser --pwprompt synapse
$ createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse synapse
Выйдите из учетной записи postgres.
$ exit
Шаг 4 - Установка Nginx
Для производственной среды рекомендуется запускать сервер Synapse с использованием прокси Nginx.
Ubuntu 22.04 поставляется со старой версией Nginx. Чтобы установить последнюю версию, вам нужно загрузить официальный репозиторий Nginx.
Импортируйте ключ подписи Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Добавьте репозиторий для стабильной версии Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Обновите системные репозитории.
$ sudo apt update
Установите Nginx.
$ sudo apt install nginx
Проверьте установку.
$ nginx -v
nginx version: nginx/1.22.0
Запустите сервер Nginx.
$ sudo systemctl start nginx
Шаг 5 - Установка SSL
Нам нужно установить Certbot для генерации SSL-сертификата. Вы можете либо установить Certbot с помощью репозитория Ubuntu, либо получить последнюю версию с помощью инструмента Snapd. Мы будем использовать версию Snapd.
Ubuntu 22.04 поставляется с установленным Snapd по умолчанию. Выполните следующие команды, чтобы убедиться, что ваша версия Snapd обновлена.
$ sudo snap install core
$ sudo snap refresh core
Установите Certbot.
$ sudo snap install --classic certbot
Используйте следующую команду, чтобы убедиться, что команда Certbot может быть выполнена, создав символическую ссылку в директории /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Выполните следующую команду для генерации SSL-сертификата.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d matrix.example.com
Вышеуказанная команда загрузит сертификат в директорию /etc/letsencrypt/live/matrix.example.com на вашем сервере.
Сгенерируйте сертификат группы Диффи-Хеллмана.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Чтобы проверить, работает ли автоматическое обновление SSL, выполните пробный запуск процесса.
$ sudo certbot renew --dry-run
Если вы не видите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.
Шаг 6 - Настройка Matrix Synapse
Вы можете настроить сервер Matrix через файл /etc/matrix-synapse/homeserver.yaml, но это не рекомендуется, так как он перезаписывается после каждого обновления. Для производственного использования вы должны разместить файлы конфигурации в папке /etc/matrix-synapse/conf.d.
Установка Synapse создала два файла конфигурации в папке /etc/matrix-synapse/conf.d.
$ ls /etc/matrix-synapse/conf.d
report_stats.yaml server_name.yaml
Создайте новый файл конфигурации для базы данных и откройте его для редактирования.
$ sudo nano /etc/matrix-synapse/conf.d/database.yaml
Вставьте следующие строки в редактор. Замените поле your-password на пароль пользователя PostgreSQL, который вы создали на шаге 3. Замените localhost на IP-адрес вашего сервера, если вы размещаете базу данных в другом месте.
database:
name: psycopg2
args:
user: synapse
password: 'your-password'
database: synapsedb
host: localhost
cp_min: 5
cp_max: 10
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Создайте секретный ключ регистрации. Ключ должен быть защищен, так как он позволит любому зарегистрировать нового пользователя, даже если регистрация отключена.
$ echo "registration_shared_secret: '$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)'" | sudo tee /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
По умолчанию Synapse включает индикаторы присутствия, которые показывают, если человек в сети. Это может вызвать высокую загрузку ЦП, поэтому вы можете отключить его. Создайте новый файл конфигурации для этого.
$ sudo nano /etc/matrix-synapse/conf.d/presence.yaml
Вставьте следующую строку в редактор.
presence:
enabled: false
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите службу Synapse, чтобы применить изменения.
Создайте нового пользователя Matrix. Вам будет предложено ввести имя пользователя и пароль. Поскольку это первый пользователь, которого мы создаем, введите yes, когда вас спросят, хотите ли вы сделать пользователя администратором.
$ register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml http://localhost:8008
New user localpart [navjot]: navjot
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success!
Если вы хотите открыть публичную регистрацию, создайте новый файл конфигурации.
$ sudo nano /etc/matrix-synapse/conf.d/registration.yaml
Вставьте следующие строки в него.
enable_registration: true
По умолчанию Synapse не позволяет регистрации без подтверждения по электронной почте. Чтобы включить подтверждение по электронной почте, вставьте следующие строки.
registrations_require_3pid:
- email
email:
smtp_host: mail.example.com
smtp_port: 587
# Если почтовый сервер не требует аутентификации, пропустите эти 2 строки
smtp_user: '[email protected]'
smtp_pass: 'password'
# Необязательно, требовать шифрования с помощью STARTTLS
require_transport_security: true
app_name: 'HowtoForge Example Chat' # определяет значение для %(app)s в notif_from и теме письма
notif_from: "%(app)s <[email protected]>"
Чтобы отключить подтверждение по электронной почте, вставьте вместо этого следующую строку.
enable_registration_without_verification: true
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите Synapse, чтобы применить конфигурацию.
$ sudo systemctl restart matrix-synapse
Шаг 7 - Настройка Nginx
Откройте файл /etc/nginx/nginx.conf для редактирования.
$ sudo nano /etc/nginx/nginx.conf
Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Создайте и откройте файл /etc/nginx/conf.d/synapse.conf для редактирования.
$ sudo nano /etc/nginx/conf.d/synapse.conf
Вставьте следующий код в него.
# принудить HTTPS
server {
# Порт клиента
listen 80;
listen [::]:80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
server_name matrix.example.com;
# Порт клиента
listen 443 ssl http2;
listen [::]:443 ssl http2;
# Порт федерации
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;
access_log /var/log/nginx/synapse.access.log;
error_log /var/log/nginx/synapse.error.log;
# Конфигурация TLS
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/matrix.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
# Nginx по умолчанию позволяет загружать файлы размером до 1M
# Увеличьте client_max_body_size, чтобы соответствовать max_upload_size, определенному в homeserver.yaml
client_max_body_size 50M;
}
}
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Проверьте синтаксис конфигурационного файла Nginx.
$ sudo nginx -t
nginx: конфигурационный файл /etc/nginx/nginx.conf синтаксически верен
nginx: тест конфигурационного файла /etc/nginx/nginx.conf успешен
Перезапустите службу Nginx.
$ sudo systemctl restart nginx
Шаг 8 - Установка Coturn
Вам нужно будет установить сервер Traversal Using Relays around NAT (TURN), чтобы включить голосовые и видеозвонки. Для этой цели мы установим пакет Coturn. Если вам не нужна эта функциональность, вы можете пропустить этот шаг.
Ubuntu 22.04 не поставляется с пакетом Coturn из-за проблемы с ошибкой, которая была решена. Однако есть другой способ установить Coturn, используя неофициальный репозиторий. Опционально вы также можете использовать Docker для установки Coturn, но мы не будем использовать этот метод, так как он выходит за рамки этого руководства.
Добавьте неофициальный репозиторий Coturn.
$ sudo add-apt-repository ppa:ubuntuhandbook1/coturn
Установите Coturn.
$ sudo apt install coturn
Откройте порты TURN и UDP.
$ sudo ufw allow 3478
$ sudo ufw allow 5349
$ sudo ufw allow 49152:65535/udp
Сгенерируйте SSL-сертификат для Turn ( turn.example.com).
$ sudo certbot certonly --nginx -d turn.example.com
Сгенерируйте секрет аутентификации и сохраните его в конфигурационном файле.
$ echo "static-auth-secret=$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)" | sudo tee /etc/turnserver.conf
Откройте конфигурационный файл для редактирования.
$ sudo nano /etc/turnserver.conf
Вставьте следующие строки в него под секретом аутентификации.
use-auth-secret
realm=turn.example.com
cert=/etc/letsencrypt/live/turn.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem
# VoIP — это UDP, TCP не нужен
no-tcp-relay
# Не разрешать трафик к частным IP-адресам
no-multicast-peers
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.0.2.0-192.0.2.255
denied-peer-ip=192.88.99.0-192.88.99.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=198.51.100.0-198.51.100.255
denied-peer-ip=203.0.113.0-203.0.113.255
denied-peer-ip=240.0.0.0-255.255.255.255
denied-peer-ip=::1
denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
denied-peer-ip=100::-100::ffff:ffff:ffff:ffff
denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
# Ограничить количество сессий на пользователя
user-quota=12
# Ограничить общее количество сессий
total-quota=1200
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите Coturn, чтобы применить конфигурацию.
$ sudo systemctl restart coturn
Создайте новый файл конфигурации Synapse для Coturn.
$ sudo nano /etc/matrix-synapse/conf.d/turn.yaml
Вставьте следующие строки в него. Замените значение turn_shared_secret на значение static-auth-secret из файла urnserver.conf.
turn_uris: [ "turn:turn.example.com?transport=udp", "turn:turn.example.com?transport=tcp" ]
turn_shared_secret: 'static-auth-secret'
turn_user_lifetime: 86400000
turn_allow_guests: True
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите Synapse, чтобы применить изменения.
$ sudo systemctl restart matrix-synapse
Шаг 9 - Доступ к Matrix
Вы можете получить доступ к Matrix Chat, используя веб-клиент Element по адресу https://app.element.io. Нажмите кнопку Войти, чтобы продолжить.

Нажмите ссылку Редактировать под Домашний сервер. Введите matrix.example.com в качестве вашего домашнего сервера.

Если клиент правильно обнаружит ваш домашний сервер, граница и текст станут зелеными, иначе они будут показаны красным. Нажмите Продолжить, чтобы продолжить.

Нажмите кнопку Войти, чтобы войти. Вам будет предложено создать безопасную и зашифрованную резервную копию.

Выберите опцию Введите фразу безопасности, чтобы создать фразу безопасности, которая будет требоваться каждый раз при входе. Нажмите Продолжить, чтобы продолжить.

Введите фразу безопасности и нажмите кнопку Продолжить, чтобы продолжить. Вам будет предложено подтвердить ее снова на следующем экране.

Введите фразу еще раз и нажмите кнопку Продолжить, чтобы продолжить.

Вам будет предоставлен набор ключей безопасности, которые вы можете использовать, если забудете свою фразу безопасности. Нажмите кнопку Скачать, чтобы сохранить их.
Нажмите кнопку Продолжить, чтобы продолжить.

Вас попросят ввести пароль вашей учетной записи. Введите пароль и нажмите кнопку Продолжить, чтобы завершить настройку зашифрованной резервной копии.

Мы создали групповую чат-комнату под названием Howtoforge, как показано выше.
Шаг 10 - Установка Element
Установите пакет jq для установки текстового процессора JSON.
$ sudo apt install jq
Создайте директорию для Element.
$ sudo mkdir -p /var/www/element
Создайте новый файл для получения последнего релиза Element.
$ sudo nano /var/www/element/update.sh
Добавьте следующие строки в него.
#!/bin/sh
set -e
install_location="/var/www/element"
latest="
$(curl -s https://api.github.com/repos/vector-im/element-web/releases/latest | jq -r .tag_name)"
cd "$install_location"
[ ! -d "archive" ] && mkdir -p "archive"
[ -d "archive/element-${latest}" ] && rm -r "archive/element-${latest}"
[ -f "archive/element-${latest}.tar.gz" ] && rm "archive/element-${latest}.tar.gz"
wget "https://github.com/vector-im/element-web/releases/download/${latest}/element-${latest}.tar.gz" -P "archive"
tar xf "archive/element-${latest}.tar.gz" -C "archive"
[ -L "${install_location}/current" ] && rm "${install_location}/current"
ln -sf "${install_location}/archive/element-${latest}" "${install_location}/current"
ln -sf "${install_location}/config.json" "${install_location}/current/config.json"
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Сделайте файл исполняемым.
$ sudo chmod +x /var/www/element/update.sh
Запустите скрипт для загрузки Element.
$ sudo /var/www/element/update.sh
Шаг 11 - Настройка Element
Скопируйте тот же файл конфигурации элемента.
$ sudo cp /var/www/element/current/config.sample.json /var/www/element/config.json
Откройте файл конфигурации для редактирования.
$ sudo nano /var/www/element/config.json
Найдите следующие строки.
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
},
Измените адрес домашнего сервера Matrix по умолчанию на ваш домашний сервер и удалите переменную server_name.
"m.homeserver": {
"base_url": "https://matrix.example.com",
"server_name": "matrix.element.com"
},
Если вы хотите использовать свое собственное имя вместо Element в заголовке сайта, измените имя бренда.
"brand": "Howtoforge Example Chat",
Установите переменную disable_guests в true, чтобы запретить гостям использовать Element.
"disable_guests": true,
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Сгенерируйте SSL-сертификат для клиента Element.
$ sudo certbot certonly --nginx -d element.example.com
Создайте и откройте файл /etc/nginx/conf.d/element.conf для редактирования.
$ sudo nano /etc/nginx/conf.d/element.conf
Вставьте следующие строки в него.
server {
listen 80;
listen [::]:80;
server_name element.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name element.example.com;
root /var/www/element/current;
index index.html;
access_log /var/log/nginx/element.access.log;
error_log /var/log/nginx/element.error.log;
add_header Referrer-Policy "strict-origin" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
# Конфигурация TLS
ssl_certificate /etc/letsencrypt/live/element.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/element.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/element.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
}
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Проверьте синтаксис конфигурационного файла Nginx.
$ sudo nginx -t
nginx: конфигурационный файл /etc/nginx/nginx.conf синтаксически верен
nginx: тест конфигурационного файла /etc/nginx/nginx.conf успешен
Перезапустите службу Nginx.
$ sudo systemctl restart nginx
Вы можете получить доступ к клиенту Element по адресу https://element.example.com в вашем браузере. Войдите, и вы будете перенаправлены на панель приложения.

Заключение
Это завершает наше руководство по установке сервера чата Matrix Synapse вместе с Coturn и веб-клиентом Element с использованием Nginx в качестве прокси-сервера. Если у вас есть какие-либо вопросы, оставьте их в комментариях ниже.
Get new posts in your inbox
No spam. Unsubscribe anytime.