Пошаговое руководство по установке сервера Synapse Matrix Server на Ubuntu 22.04

Пошаговое руководство по установке сервера Synapse Matrix Server на Ubuntu 22.04

12:08, 26.12.2023

Содержание статьи
arrow

  • Шаг 1: Установка сервера Synapse Matrix Server
  • Шаг 2: Конфигурация Synapse Matrix
  • Шаг 3: Создание нового пользователя Matrix
  • Шаг 4: Установка SSL-сертификата для сервера Matrix Server
  • Использование самоподписного сертификата
  • Получение сертификата Let's Encrypt
  • Шаг 5: Настройка Nginx для Matrix Server
  • Шаг 6: Настройки брандмауэра
  • Шаг 7: Доступ к Matrix Synapse
  • Заключение

Шаг 1: Установка сервера Synapse Matrix Server

Прежде чем приступить к работе, необходимо позаботиться о нескольких вещах.

Убедитесь, что у вас есть следующее:

  • Сервер, работающий под управлением Ubuntu 22.04.
  • Доменное имя, связанное с IP-адресом вашего сервера
  • root-доступ к серверу и root-пароль.

После этого необходимо обновить системные пакеты, используя:

apt update -y

Установите необходимые зависимости с помощью следующей команды:

apt install curl wget gnupg2 apt-transport-https -y

Выберите и вставьте имя вашего сервера:

$ sudo nano /etc/hosts
IP address domain.name

Теперь можно приступить к установке сервера Synapse Matrix Server.

Добавьте GPG-ключ и репозиторий Synapse Matrix:

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

Обновите ОС и установите Matrix, используя:

sudo apt update sudo apt install matrix-synapse-py3

Запустите Matrix Synapse:

sudo systemctl start matrix-synapse sudo systemctl enable matrix-synapse

Проверить, запущен ли Matrix Synapse, можно, выполнив команду:

$ systemctl status matrix-synapse (в разделе "Active" должна быть строка "active (running)")

Шаг 2: Конфигурация Synapse Matrix

Для настройки сервера Synapse Matrix Server необходимо сначала сгенерировать пароль Matrix:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

После генерации пароля для Matrix отредактируйте конфигурационный файл Matrix:

sudo nano /etc/matrix-synapse/homeserver.yaml

В конфигурационном файле необходимо изменить адреса привязки на локальный IP-адрес, отключить регистрацию Matrix и вставить сгенерированный пароль следующим образом:

listeners:
- port: 8008 
tls: false 
type: http 
x_forwarded: true 
bind_addresses: ['127.0.0.1']

resources:
- names: [client, federation] 
compress: false

enable_registration: false
registration_shared_secret: "V6jKdIsl6GUdvpksSlQDCX5P94kJfFGk"

Сохраните файл и перезапустите Matrix Synapse.

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

Создание пользователя Matrix поможет подключиться к серверу Matrix через клиента Matrix. Чтобы создать нового пользователя, выполните следующую команду:

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008 

Далее следуйте приведенному ниже примеру:

New user localpart [root]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request... Success!

Теперь новый пользователь создан.

Шаг 4: Установка SSL-сертификата для сервера Matrix Server

Если не установить SSL-сертификат для сервера Matrix Server, то доступ к серверу будет осуществляться по протоколу HTTP, а это значит, что безопасность ваших данных будет под угрозой. Чтобы избежать этого, можно выпустить самоподписанный сертификат или сертификат Let's Encrypt.

Использование самоподписного сертификата

Найдите папку, в которой хранятся сертификаты, и выполните в ней следующую команду:

openssl req \ 
-newkey rsa:2048 -nodes -keyout matrix.key \ 
-x509 -days 365 -out Matrix.crt

Для завершения работы заполните форму, которая появится после этого.

Затем перенесите файл сертификата в доступный каталог:

sudo mv matrix.crt Matrix.key /etc/pki/certificates/

Получение сертификата Let's Encrypt

Let's Encrypt позволяет получать SSL-сертификаты бесплатно и является одним из самых простых способов получения SSL-сертификата. Вот как это сделать.

Сначала необходимо установить клиент Certbot. Это можно сделать, выполнив команду:

sudo apt install certbot -y

Сгенерируйте сертификат с помощью следующей команды (вставьте адрес электронной почты и имя домена):

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email (ваш адрес электронной почты) -d (ваше доменное имя)

Теперь у вас есть SSL-сертификат.

Шаг 5: Настройка Nginx для Matrix Server

В Matrix Synapse в качестве обратного прокси обычно используется Nginx.

Сначала необходимо установить Nginx. Это можно сделать с помощью следующей команды:

sudo apt install nginx

Чтобы начать использовать Nginx в качестве обратного прокси, необходимо создать отдельный конфигурационный файл для своего сервера:

sudo nano /etc/nginx/sites-available/matrix.conf

В файл вставьте подчеркнутые секции:

server {
listen 80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name matrix.example.com;
ssl_certificate /etc/pki/certificates/matrix.crt;
ssl_certificate_key /etc/pki/certificates/matrix.key;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
# Nginx, by default, only allows file uploads up to 1M in size
#Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
client_max_body_size 10M;
}
}
# This is used for Matrix Federation
# which is using default TCP port '8448'
server {
listen 8448 ssl;
server_name matrix.example.com;
ssl_certificate /etc/pki/certificates/matrix.crt;
ssl_certificate_key /etc/pki/certificates/matrix.key;
location / {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}

Сохраните файл.

Теперь, чтобы проверить, содержит ли файл какие-либо ошибки, используйте эту команду для запуска теста:

$ sudo nginx -t

Для активации виртуального хоста можно создать символическую ссылку для конфигурационного файла в каталоге /etc/nginx/sites-enabled:

sudo ln -s /etc/nginx/sites-available/matrix.conf /etc/nginx/sites-enabled/

Для применения изменений перезапустите Nginx (sudo systemctl restart nginx).

Шаг 6: Настройки брандмауэра

Если вы используете брандмауэр, то вам необходимо дополнительно разрешить службе Matrix проходить через него:

sudo ufw allow 8448 sudo ufw allow https sudo ufw allow http.

Проверить статус можно с помощью следующей команды:

$ sudo ufw status.

Шаг 7: Доступ к Matrix Synapse

Получить доступ к серверу Matrix Synapse очень просто. Достаточно ввести в строку поиска веб-браузера следующее:

https://your domain:8448..

Заключение

Matrix Synapse - это серверная интеграция протокола Matrix для защищенного обмена данными. Она представляет собой программный сервер, предоставляющий услуги связи и синхронизации данных по сети Matrix.

  • Основные возможности сервера Matrix Synapse включают:
  • Безопасная связь. Сервер Matrix Synapse предназначен для обеспечения безопасного соединения и связи через Интернет. Поскольку данные, передаваемые через Matrix, распределяются по нескольким серверам (учитывая, что Matrix децентрализована), это обеспечивает более безопасную и защищенную связь.
  • Децентрализованный характер. Matrix Synapse имеет децентрализованную архитектуру, то есть пользователи могут иметь свой собственный сервер Matrix Synapse. Это дает пользователям возможность контролировать свои данные и коммуникации, поскольку они следуют философии децентрализованных систем.
  • Повышенная безопасность. Matrix Synapse использует различные меры безопасности, которые защищают сервер от утечки данных, сервисных атак и т.д. Кроме того, в систему интегрированы безопасные протоколы связи, включая TLS и сквозное шифрование.
  • Простота интеграции. Matrix легко интегрируется с различными системами и сервисами.

И, наконец, Matrix Synapse легко устанавливается и настраивается. Надеемся, что данное руководство убедило вас в этом!

views 2m, 16s
views 2
Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.