Пошаговое руководство по установке сервера Synapse Matrix Server на Ubuntu 22.04
12:08, 26.12.2023
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 легко устанавливается и настраивается. Надеемся, что данное руководство убедило вас в этом!