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

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

26.12.2023
Автор: HostZealot Team
2 мин.
2278

Matrix - это децентрализованное и простое в использовании программное обеспечение для приватного общения с открытым исходным кодом. Оно может использоваться для звонков и обмена сообщениями. Matrix обеспечивает шифрование для безопасных каналов связи в Интернете.

Synapse - это сервер Matrix, по умолчанию работающий на языке Python. Установка сервера доступна даже для пользователей, не обладающих техническими знаниями.

В этой статье мы расскажем вам о том, как установить сервер Synapse Matrix Server.

Шаг 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 легко устанавливается и настраивается. Надеемся, что данное руководство убедило вас в этом!

# Как сделать Поделиться:
Статьи по Теме