Покроковий посібник зі встановлення сервера Synapse Matrix на Ubuntu 22.04

Покроковий посібник зі встановлення сервера Synapse Matrix на Ubuntu 22.04

28.12.2023
Автор: HostZealot Team
2 мін.
154

Matrix - це децентралізоване і просте у використанні програмне забезпечення з відкритим вихідним кодом, що використовується для приватного спілкування. Його можна використовувати для дзвінків або обміну повідомленнями. Matrix забезпечує шифрування для безпечних каналів зв'язку в Інтернеті.

Synapse - це Matrix сервер за замовчуванням на основі Python. Встановлення сервера доступне навіть нетехнічно підкованим користувачам.

У цій статті ми проведемо вас через всі кроки встановлення сервера Synapse Matrix.

Крок 1: Встановлення сервера Matrix Synapse

Перш ніж ми почнемо, вам потрібно подбати про декілька речей.

Переконайтеся, що у вас є наступне:

  • Сервер під управлінням 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.

Додайте ключ GPG і репозиторій матриці Synapse:

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, спочатку потрібно згенерувати пароль до матриці:

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

Якщо ви не налаштуєте SSL-сертифікат для вашого сервера Matrix, ви отримаєте доступ до нього через 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 your email address -d your domain name

Тепер у вас є ваш SSL-сертифікат.

Крок 5: Налаштування Nginx для сервера Matrix

У 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 легко встановлювати і налаштовувати. Ми сподіваємося, що цей посібник переконав вас у цьому!

# Як зробити Поділитися:
Статті за темою