Поиск по сайту:

Что такое матричный протокол и как его установить

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

Здесь мы покажем вам, как установить Matrix на свой сервер.

Содержание

  • Что такое матричный протокол?
  • Зачем использовать матричный протокол?
  • Размещение собственного сервера Matrix
  • 1. Установка Синапса
  • 2. Настройте Синапс
  • 3. Настройте SSL для Synapse.
  • 4. Создайте учетную запись пользователя в Synapse.
  • Часто задаваемые вопросы

Также читайте: 9 лучших почтовых клиентов для Linux

Что такое матричный протокол?

По своей сути Matrix представляет собой набор протоколов, определяющих способ отправки сообщений через Интернет. Подобно HTTP, Matrix стремится стать открытым стандартом, который способствует свободному и прозрачному обмену информацией в Интернете. Это достигается путем выполнения двух вещей:

  • Команда основного протокола предоставляет сервер с открытым исходным кодом, который вы можете создать и развернуть для подключения клиентов и пользователей. Он также служит справочной информацией для сторонних разработчиков при создании собственного программного обеспечения.
  • Эти серверы, в свою очередь, предназначены для взаимодействия друг с другом. Это означает, что вы можете общаться с другими пользователями, даже если они находятся на другом сервере, чем вы.

Зачем использовать матричный протокол?

Одним из основных преимуществ Matrix является то, что он позволяет создавать сеть серверов, которые могут беспрепятственно общаться друг с другом в режиме реального времени. Это похоже на такие технологии, как электронная почта, IRC и Pleroma.

При этом вы можете создать для себя сервер и мгновенно подключиться к более широкому миру. Это может быть невероятно полезно, если вы хотите иметь возможность контролировать свои данные при общении в Интернете.

Кроме того, эта модель связи также очень устойчива и безопасна. Возможность иметь собственный сервер дает вам возможность поддерживать обслуживание, даже если часть более крупной сети выйдет из строя. Мало того, это также гарантирует, что только вы сможете получить доступ к учетным записям и сообщениям, которые находятся на вашем сервере.

Также читайте: 5 скрытых функций, которые можно использовать для улучшения Emacs

Размещение собственного сервера Matrix

Самый простой способ использовать Matrix — разместить собственный сервер.

Однако важно отметить, что перед установкой и использованием Matrix потребуется ряд вещей:

  • Во-первых, вам необходимо иметь доменное имя для вашего экземпляра. Это связано с тем, что Synapse, серверу, который вы собираетесь использовать, для работы требуется полное доменное имя.
  • Вам также понадобится машина, к которой вы можете получить доступ извне вашей сети. Это может быть домашний компьютер с подходящим статическим IP-адресом или VPS, который вы арендуете онлайн.
  • Наконец, если вы собираетесь установить Synapse на VPS, вам необходимо убедиться, что у вас есть root-доступ к этому компьютеру. Это связано с тем, что правильная работа Synapse зависит от ряда системных пакетов.

Зная все это, данное руководство будет посвящено настройке Synapse на Debian VPS от Digitalocean. Давайте начнем.

Читайте также: Каковы самые популярные доменные имена верхнего уровня и что они означают?

1. Установка Синапса

Войдите в свой экземпляр VPS и загрузите все зависимости для Synapse:

sudo apt install lsb-release wget apt-transport-https

Также читайте: Как установить собственный федеративный Twitter с помощью Pleroma

По умолчанию Debian не включает официальные пакеты Synapse в свои репозитории. Вам придется импортировать репозиторий Synapse на ваш сервер.

  1. Сначала импортируйте ключи GPG разработчиков на свой компьютер:
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg

  1. Затем добавьте репозиторий Synapse в «sources.list»:
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

  1. Теперь вы можете использовать apt для обновления списка пакетов, которые вы можете установить для своей системы:
sudo apt update

После этого вы можете установить Synapse через apt:

sudo apt install matrix-synapse-py3

Synapse запросит пару вещей во время установки.

  1. Во-первых, вам нужно будет назвать свой сервер, то есть доменное имя, которое вы хотите использовать с Matrix. В моем случае я использовал «yetanothermatrixserver.xyz».

  1. Оттуда вы можете выбрать, хотите ли вы сообщать статистику вашего сервера разработчикам Matrix. Поскольку я хочу, чтобы мой сервер был полностью частным, я выбрал «Нет».

Также читайте: Как использовать Nginx в качестве обратного прокси-сервера

2. Настройте Синапс

После установки Synapse следующее, что вам нужно сделать, — это настроить обратный прокси-сервер с помощью nginx. Это позволит вам получить доступ к Synapse снаружи локального компьютера. Это работает за счет использования веб-сервера Nginx для прослушивания входящего трафика и перенаправления его на другой порт в системе.

  1. Для начала вам необходимо сначала установить Nginx:
sudo apt install nginx

  1. Теперь вам нужно создать файл конфигурации Nginx для Synapse. Вы можете сделать это, выполнив следующую команду:
sudo touch /etc/nginx/sites-available/default
  1. После этого вы можете отредактировать этот файл конфигурации и создать обратный прокси-сервер для Synapse. Например, конфигурация обратного прокси-сервера может выглядеть примерно так:
server {
        server_name yetanothermatrixserver.xyz;
        listen 80;
        listen [::]:80;
        location / {
                proxy_pass http://localhost:8008;
        }
        location ~* ^(\/_matrix|\/_synapse\/client) {
                proxy_pass http://localhost:8008;
                proxy_set_header X-Forwarded-For $remote_addr;
                client_max_body_size 50M;
        }
        location /.well-known/matrix/server {
                return 200 '{"m.homeserver": {"base_url": "https://yetanothermatrixserver.xyz"}}';
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
        }
}
  • server_name указывает на используемое вами доменное имя. В моем случае я использовал «yetanothermatrixserver.xyz» в качестве имени сервера.
  • Две команды listen сообщают Nginx, где искать входящие соединения. Первая строка ищет соединения IPv4, а вторая — IPv6.
  • Три блока location указывают, что Nginx будет делать для конкретных путей, которые может запросить пользователь. Например, первый блок местоположения сообщает Nginx автоматически перенаправлять трафик на порт 8008. А второй блок местоположения обрабатывает вызов ACME для SSL.

3. Настройте SSL для Synapse.

После этого следующее, что вам нужно сделать, это настроить шифрование. По умолчанию Synapse не поддерживает SSL сам по себе, но вы можете легко настроить SSL с помощью Let's Encrypt.

  1. Вы можете установить certbot, выполнив следующую команду:
sudo apt install certbot python3-certbot-nginx

  1. После этого вы можете запустить следующую команду, чтобы запустить процесс автоматического сертификата:
sudo certbot --nginx -d yetanothermatrixserver.xyz
  1. После этого вы можете перезагрузить nginx, чтобы убедиться, что ваша установка Synapse работает.
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Также читайте: Как сохранить вывод терминала в файл в Linux

4. Создайте учетную запись пользователя в Synapse.

Теперь вы можете создать свою первую учетную запись пользователя в Synapse. Для этого вам нужно сделать две вещи:

  • создать общий секрет
  • запустите скрипт создания пользователя.

Зная это, создать общий секретный ключ относительно просто. Это случайная строка символов, которую вам нужно поместить в файл конфигурации Synapse. Это, в свою очередь, позволяет вам создавать и удалять учетные записи из командной строки вашего VPS.

  1. Вы можете легко создать случайную строку, используя «/dev/random». Например, это файл, который вместе с другими программами создает случайную строку символов:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

  1. Теперь вы можете вставить этот текст в файл конфигурации Synapse homeserver.yaml. Вы можете найти этот файл в каталоге «/etc/matrix-synapse».
  1. Хотя это относительно длинный файл, единственное, что вам нужно здесь отредактировать, — это параметр «registration_shared_secret». Вам нужно раскомментировать эту строку и заменить ее значение текстом, который вы только что создали.

  1. После этого вы можете сохранить этот файл и перезагрузить Synapse. Это гарантирует, что сервер правильно загрузит предварительно общий секрет.
sudo systemctl restart matrix-synapse

Также читайте: Как использовать Emacs в качестве средства чтения USENET с Gnus

Последнее, что вам нужно сделать, это создать саму учетную запись пользователя.

  1. Для этого вы можете запустить следующую команду:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
  1. Теперь Synapse спросит несколько вопросов об учетной записи, которую вы хотите создать. Во-первых, вам понадобится имя пользователя для вашей учетной записи.

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

  1. Затем Synapse спросит, хотите ли вы, чтобы эта учетная запись была администратором или нет. Включение этого параметра для вашей учетной записи позволит вам легко управлять своим сервером из клиента Matrix.

Поздравляем! Теперь у вас есть базовая рабочая установка Synapse.

Отсюда вы теперь можете войти на свой сервер через веб-клиент, такой как Element. С другой стороны, вы также можете использовать настольный или мобильный клиент, такой как Ditto.

Также читайте: 5 лучших программ чтения USENET для Linux

Часто задаваемые вопросы

Могу ли я вместо этого использовать Synapse под субдоменом?

Да! Вы можете легко разместить Synapse на субдомене. Для этого вам просто нужно убедиться, что IP-адрес субдомена указывает на ваш сервер. Вам также необходимо изменить запись «server_name» в файле конфигурации Nginx, чтобы убедиться, что он прослушивает доступ к поддомену.

Включает ли Synapse собственный клиент Matrix?

К сожалению нет. Synapse по умолчанию не включает собственный веб-клиент. По этой же причине на вашем веб-сайте отображается только экран подтверждения. Зная это, существует ряд хороших клиентов с открытым исходным кодом, которые вы можете установить сейчас для доступа к вашему серверу Synapse.

Есть ли способ включить внешнюю регистрацию для моего сервера Matrix?

Да! Включить внешнюю регистрацию с помощью Synapse относительно легко. Все, что вам нужно сделать, это изменить параметр «enable_registration» на «true» в вашем файле homeserver.yaml.

Однако следует отметить одну важную вещь: такой подход означает, что сервер не будет проверять, является ли пользователь настоящим человеком или нет. Для этого вам нужно либо использовать CAPTCHA, либо электронную почту Synapse для отправки писем с подтверждением.

Изображение предоставлено: Символ речевого пузыря сообщения от 123RF

Статьи по данной тематике