Установка Prosody в Ubuntu 18.04

Prosody – это чат-сервер XMPP, который поддерживает индивидуальные и групповые чаты, зашифрованные по TLS. XMPP (Extensible Messaging and Presence Protocol) – это открытый протокол обмена сообщениями, также известный как Jabber. Чаты XMPP позволяют любому клиенту подключиться к серверу Prosody и начать общение.

XMPP – зрелый открытый стандарт, поддерживаемый Internet Engineering Task Force (IETF). Он активно развертывается во многих приложениях (например Google Talk, которым пользуются миллионы пользователей). Серверы XMPP, такие как Prosody – это гибкие чат-серверы, которые существуют уже более двух десятилетий.

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

Требования

  • Сервер Ubuntu 18.04 (минимум 512 МБ памяти), настроенный согласно этому мануалу, включая пользователя sudo и брандмауэр.
  • Клиент XMPP в локальной системе. Любое из приложений, перечисленных на этой странице клиентов XMPP, будет совместимо с вашим сервером Prosody.
  • Два имени хоста, указывающие на ваш сервер. Prosody использует одно для прямых чатов, а второе — для групповых. В этом мануале будут использоваться следующие условные имена хостов:
    • chat.your-domain: имя хоста для индивидуальных чатов.
    • room.your-domain: имя хоста группового чата.

Войдите на свой сервер как пользователь sudo и приступайте к работе.

1: Установка Prosody

Сейчас мы добавим пользовательский APT репозиторий Prosody на свой сервер, а затем установите из него пакет Prosody. Репозиторий Prosody обеспечивает установку самых последних версий пакетов.

Сначала создайте и откройте новый файл репозитория в текстовом редакторе. Этот файл содержит информацию о репозитории Prosody для менеджера пакетов APT:

sudo nano /etc/apt/sources.list.d/prosody.list

Добавьте в файл следующую строку:

deb https://packages.prosody.im/debian bionic main

Теперь нужно загрузить и установить открытый APT ключ Prosody. Ваш сервер будет использовать его, чтобы подтвердить, что пакет Prosody создан командой Prosody и не был подделан.

Следующая команда использует утилиту wget для загрузки ключа в текущий каталог:

wget https://prosody.im/files/prosody-debian-packages.key

Используйте команду apt-key add, чтобы добавить ключ Prosody в связку ключей APT:

sudo apt-key add prosody-debian-packages.key

Теперь вы можете удалить ключ, поскольку он больше не нужен:

rm prosody-debian-packages.key

Обновите базу пакетов вашего сервера, чтобы она включила более новые версии из репозитория Prosody:

sudo apt update

Теперь вы готовы к установке серверного пакета Prosody и некоторых дополнительных опциональных пакетов:

sudo apt install prosody prosody-modules lua-dbi-sqlite3 lua-event

Мы установили следующие пакеты:

  • prosody: сервер Prosody.
  • prosody-modules: дополнительные модули Prosody, расширяющие функциональность сервера.
  • lua-dbi-sqlite3: позволяет Prosody использовать базу данных SQLite.
  • lua-event: позволяет Prosody поддерживать больше параллельных клиентов.

Итак, мы завершили установку Prosody. На следующем этапе мы получим два сертификата TLS, которые Prosody будет использовать для шифрования данных при передаче через интернет на сервер Prosody и обратно.

2: Получение TLS-сертификатов

Prosody использует сертификаты TLS для шифрования соединений между сервером и клиентами. Это те же сертификаты, которые вы используете каждый раз, когда посещаете веб-сайт с URL-адресом HTTPS. Let’s Encrypt – это некоммерческая организация, которая бесплатно предоставляет сертификаты TLS. Этот центр сертификации создал служебную программу certbot для получения сертификатов и управления ими. Давайте установим утилиту certbot и воспользуемся ею для получения пары сертификатов (для двух имен хостов, которые вы указали согласно требованиям к мануалу).

Установите certbot из Ubuntu PPA репозитория Let’s Encrypt, чтобы получить самые свежие пакеты.

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

sudo add-apt-repository ppa:certbot/certbot

Теперь установите certbot:

sudo apt install certbot

Затем откройте HTTP-трафик в брандмауэре UFW, чтобы certbot мог проверить ваши права на сертификаты:

sudo ufw allow http

Выполните следующую команду certbot, которая получит сертификат для одного из ваших имен хоста:

sudo certbot certonly --standalone --agree-tos --email your_email -d chat.your-domain

Мы использовали в команде такие опции:

  • —certonly: получит сертификат и не будет вносить никаких изменений на сервере.
  • —standalone: ​​запустит временный веб-сервер для проверки сертификата.
  • —agree-tos: автоматически принимает Условия использования Let’s Encrypt.
  • —email your_email: адрес электронной почты, который вы отправите в Let’s Encrypt, чтобы ЦС мог уведомлять вас о проблемах безопасности, об истечении срока действия сертификатов и т.д.
  • -d chat.your-domain: имя хоста, которое вы собираетесь использовать для своего сервера Prosody.

Когда вы запустите эту команду, клиент спросит вас, хотите ли вы поделиться своим адресом электронной почты с Electronic Frontier Foundation (это опционально). После этого регистрация сертификата продолжится, а на экране появится такой вывод:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/chat.your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/chat.your-domain/privkey.pem
Your cert will expire on 2020-07-26. To obtain a new or tweaked
version of this certificate in the future, simply  run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le

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

Теперь у вас есть два каталога:

  • /etc/letsencrypt/live/room.your-domain
  • /etc/letsencrypt/live/chat.your-domain

Они содержат файлы сертификатов и ключей для ваших имен хостов.

Поскольку сервер Prosody не запускается от имени пользователя root, права собственности и права доступа к каталогам и ключам необходимо изменить, чтобы сервер Prosody мог их читать и использовать.

Права доступа к файлам и каталогам в Linux позволяют контролировать, какие пользователи и процессы могут читать, писать и выполнять каталоги и папки. Этот аспект управления защищает систему от несанкционированных изменений, а конфиденциальные файлы (к которым относится и закрытый ключ TLS) – от прочтения неавторизованными пользователями.

Читайте также: Привилегии в Linux: что это и как с этим работать

Первый шаг – изменить владельца группы закрытых ключей; передайте эти права группе сервера Prosody с помощью следующих команд:

sudo chgrp prosody /etc/letsencrypt/live/room.your-domain/privkey.pem
sudo chgrp prosody /etc/letsencrypt/live/chat.your-domain/privkey.pem

Утилита chgrp изменяет группу-владельца файлов и каталогов. Только что вы отняли права на группу у root (по умолчанию) и передали их группе prosody.

Затем измените права на каталоги, содержащие файлы сертификатов TLS, на 0755. Эти каталоги принадлежат пользователю и группе root. Следующая команда изменит права доступа к этим каталогам:

sudo chmod 0755 /etc/letsencrypt/archive
sudo chmod 0755 /etc/letsencrypt/live

Новые права (0755) сообщают, что пользователь root может читать, изменять и выполнять эти каталоги. Члены группы root имеют права на чтение и выполнение. Все остальные пользователи и группы в системе имеют права на чтение и выполнение.

Теперь измените права закрытых ключей TLS:

sudo chmod 0640 /etc/letsencrypt/live/room.your-domain/privkey.pem
sudo chmod 0640 /etc/letsencrypt/live/chat.your-domain/privkey.pem

Значение 0640 для этих файлов сообщает, что пользователь root имеет права на чтение и запись; а члены группы prosody имеют права на чтение. В группе prosody есть один член – пользователь prosody. Это пользователь, от имени которого работает сервер Prosody, и от его же имени сервер будет обращаться к файлу. У всех остальных пользователей системы нет разрешения на доступ к файлу.

Эти две команды используют утилиту chmod, которая определяет, какие пользователи и группы имеют права на чтение, запись и выполнение файлов и каталогов.

Вы можете проверить, может ли Prosody читать файлы закрытых ключей, используя cat:

sudo -u prosody cat /etc/letsencrypt/live/chat.your-domain/privkey.pem

Если все прошло успешно, вы увидите содержимое ключа на вашем экране.

Для шифрования соединений загрузки и скачивания файлов Prosody использует один файл, содержащий сертификат и закрытый ключ. Этот файл не создается клиентом certbot автоматически, поэтому вы должны создать его вручную.

Сначала перейдите в каталог, содержащий файлы ключей и сертификатов, а затем с помощью cat объедините их содержимое в новый файл key-and-cert.pem:

cd /etc/letsencrypt/live/chat.your-domain/
sudo sh -c 'cat privkey.pem fullchain.pem >key-and-cert.pem'

Начало этой команды, sudo sh -c, открывает новую подоболочку, которая имеет права пользователя root и поэтому может записать новый файл в /etc/letsencrypt/live/chat.your-domain/.

Теперь передайте права на этот файл, чтобы они совпадали с правами, которые вы установили для другого файла закрытого ключа. Это делается с помощью следующей команды:

sudo chmod 0640 key-and-cert.pem
sudo chgrp prosody key-and-cert.pem

Перейдите в домашний каталог вашего пользователя:

cd

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

Клиент certbot использует хуки; это механизм, который позволяет запускать сценарий до или после обновления сертификата. Вы можете использовать его после каждого обновления сертификата для запуска сценария, который воссоздает запущенную вами команду.

Откройте новый скрипт /etc/letsencrypt/renewal-hooks/post/key-and-cert-combiner.sh в текстовом редакторе:

sudo nano /etc/letsencrypt/renewal-hooks/post/key-and-cert-combiner.sh

Затем добавьте в редактор следующее:

#!/usr/bin/env bash
set -e
# combines the certificate and key into a single file with cat
cat /etc/letsencrypt/live/chat.your-domain/privkey.pem \
/etc/letsencrypt/live/chat.your-domain/fullchain.pem \
>/etc/letsencrypt/live/chat.your-domain/key-and-cert.pem

Этот сценарий Bash состоит из таких частей:

  • #!/usr/bin/env bash: использует интерпретатор Bash для запуска сценария.
  • set -e: инициирует завершение сценария в случае сбоя какой-либо команды.
  • >: перенаправляет вывод команды cat в новый файл (его название указано после этого символа).

Сценарий невозможно запустить, пока вы не сделаете его исполняемым:

sudo chmod +x /etc/letsencrypt/renewal-hooks/post/key-and-cert-combiner.sh

Опция +X дает скрипту права на выполнение.

Затем проверьте, правильно ли установлены сертификаты и работает ли хук после обновления. Для этого выполните следующую команду certbot:

sudo certbot renew --dry-run

Эта команда сообщает certbot о необходимости обновления сертификатов, но параметр —dry-run запрещает certbot вносить какие-либо изменения. Если все прошло успешно, вы увидите следующий результат:

Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/chat.your-domain/fullchain.pem (success)
/etc/letsencrypt/live/room.your-domain/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Running post-hook command: /etc/letsencrypt/renewal-hooks/post/key-and-cert-combiner.sh

Теперь у вас есть сертификаты TLS для вашего сервера Prosody. На следующем шаге вы отредактируете основной файл конфигурации Prosody.

3: Настройка Prosody

Prosody имеет множество параметров конфигурации, и это отражается в на размере основного конфигурационного файла /etc/prosody/prosody.cfg.lua. Чтобы разобраться было проще, рекомендуем работать с начала файла и постепенно опускаться ниже, внося в него правки.

Перед тем как вы начнете редактировать этот большой файл, рекомендуем также сделать его резервную копию, чтобы у вас был оригинал, который поможет в случае ошибки восстановить исходные настройки. Сделайте копию файла с помощью команды cp:

sudo cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.original

Теперь у вас есть копия исходного файла в /etc/prosody/prosody.cfg.lua.original.

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

sudo nano /etc/prosody/prosody.cfg.lua

В следующих разделах мы последовательно описали изменения конфигурации.

Создание администратора

Администраторы Prosody – это пользователи, которые могут вносить изменения в сервер Prosody из своего чата, отправлять сообщения всем пользователям и выполнять другие действия, требующие повышенных привилегий.

Администраторы сервера Prosody устанавливаются при помощи следующей строки:

...
admins = { }
...

В этой строке пользователь admin будет добавлен на условный сервер serverchat.your-domain:

...
admins = { "admin@chat.your-domain" }
...

Если вы хотите добавить еще одного пользователя, вы должны поставить запятую после первого:

...
admins = { "admin@chat.your-domain", "8host@chat.your-domain" }
...

Включение модулей Prosody

Разработчики Prosody добавили множество функций в виде модулей, которые можно включить или отключить.

Модуль активируется путем удаления предшествующего ему символа —. Например, так модуль tls будет отключен:

--"tls"; -- Add support for secure TLS on c2s/s2s connections

А вот так – включен:

"tls"; -- Add support for secure TLS on c2s/s2s connections

Вот так выглядит раздел модулей в конфигурационном файле Prosody (отредактированные строки выделены красным):

...
modules_enabled = {
-- Generally required
"roster"; -- Allow users to have a roster. Recommended ;)
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"dialback"; -- s2s dialback support
"disco"; -- Service discovery
-- Not essential, but recommended
"carbons"; -- Keep multiple clients in sync
"pep"; -- Enables users to publish their avatar, mood, activity, playing music and more
"private"; -- Private XML storage (for room bookmarks, etc.)
"blocklist"; -- Allow users to block communications with other users
"vcard4"; -- User profiles (stored in PEP)
"vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar, vcard
-- Nice to have
"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"register"; -- Allow users to register on this server using a client and change passwords
"mam"; -- Store messages in an archive and allow users to access it
"csi_simple"; -- Simple Mobile optimizations
-- Admin interfaces
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
-- HTTP modules
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
--"websocket"; -- XMPP over WebSockets
"http_files"; -- Serve static files from a directory over HTTP
"http_upload"; -- Enables file sharing between users
-- Other specific functionality
--"limits"; -- Enable bandwidth limiting for XMPP connections
"groups"; -- Shared roster support
--"server_contact_info"; -- Publish contact information for this service
"announce"; -- Send announcement to all online users
--"welcome"; -- Welcome users who register accounts
--"watchregistrations"; -- Alert admins of registrations
--"motd"; -- Send a message to users when they log in
--"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
--"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use
}
...

Включенные нами модули делают следующее:

  • mam: хранит сообщения чата на сервере, чтобы пользователи могли их получить.
  • csi_simple: включает оптимизацию для мобильных клиентов.
  • http_files: разрешает совместное использование файлов.
  • http_uploads: разрешает совместное использование файлов.
  • groups: обеспечивает видимость для пользователей.
  • announce: позволяет администраторам отправлять уведомления всем пользователям.

Настройка хранилища базы данных

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

Prosody предлагает три варианта баз данных; MySQL, PostgreSQL и SQLite.

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

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

Включите следующие две строки, удалив символы —, как показано ниже:

...
storage = "sql" -- Default is "internal"
...
sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
...

Архивирование сообщений

Вы можете установить, как долго сервер будет хранить старые сообщения чата, отредактировав следующую строку:

...
archive_expires_after = "1w" -- Remove archived messages after 1 week
...

По умолчанию установлена 1 неделя (1w). Используйте d для указания количества дней, w для недель и y – для лет.

Шифрование загрузки и скачивания файлов

Строка https_certificate сообщает Prosody, где искать комбинированный сертификат и ключ, который вы создали ранее, чтобы использовать его для передачи файлов.

Отредактируйте настройки так, чтобы они включали путь к этому файлу:

...
https_certificate = "/etc/letsencrypt/live/chat.your-domain/key-and-cert.pem"
...

Удаление localhost

В конфигурации по умолчанию Prosody прослушивает локальный хост (или 127.0.0.1) для соединения чатов. Это не нужно на удаленном сервере.

Отключите это поведение, добавив — в следующую строку, после редактирования она должна выглядеть следующим образом:

...
--VirtualHost "localhost"
...

Изменение максимального размера загружаемого файла

Ваш сервер Prosody поддерживает обмен файлами между пользователями, прикрепляя файлы к окнам чата. По умолчанию максимальный размер файлов, которыми можно делиться, составляет 1 МБ.

Установите более высокое значение, добавив следующую строку в конец конфигурации:

...
http_upload_file_size_limit = 10485760
...

Число в конце строки – это максимальный размер файла в байтах. Показанный здесь размер составляет 10485760 байт или 10 МБ. На веб-сайте GbMb есть удобный инструмент для преобразования мегабайт в байты.

Если вы хотите разрешить загрузку файлов размером более 10 МБ, вы должны добавить еще одну строку, которая устанавливает переменную http_max_content_size. Ее значение должно быть больше максимального размера загружаемого файла.

В этом примере максимальный размер файла установлен на 20 МБ (20971520 байт), а http_max_content_size установлен на 30 МБ:

...
http_upload_file_size_limit = 20971520
http_max_content_size = 31457280
...

Рекомендуем установить http_max_content_size на 50% больше максимального размера файла.

Настройка файла groups

Модуль groups, который вы включили в разделе модулей, позволяет клиентам чата видеть друг друга.

Модуль groups читает файл, содержащий имена групп и их членов. Задайте расположение и имя файла, добавив следующую строку в конец конфигурации:

...
groups_file = "/etc/prosody/sharedgroups.txt"
...

Эта строка настраивает сервер Prosody для чтения файла в /etc/prosody/sharedgroups.txt (в нем можно собрать информацию о группе). Вы заполните этот файл в разделе 4.

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

sudo touch /etc/prosody/sharedgroups.txt

Утилита touch создает пустой файл (если не используются дополнительные параметры).

Добавление конфигурации виртуального хоста для чат-сервера

Prosody использует блок конфигурации, который начинается с VirtualHost, чтобы запустить чат-сервер, который использует ваше имя хоста.

Добавьте следующий блок конфигурации в конец текущих настроек:

...
VirtualHost "chat.your-domain"
ssl = {
key = "/etc/letsencrypt/live/chat.your-domain/privkey.pem";
certificate = "/etc/letsencrypt/live/chat.your-domain/fullchain.pem";
}
...

Мы использовали такие опции:

  • VirtualHost: имя хоста, которое Prosody будет использовать для чат-сервера.
  • key: закрытый ключ TLS, используемый для защиты чата.
  • certificate: закрытый сертификат TLS, который будет использоваться для защиты чата.

Добавление чат-сервера

Эта конфигурация позволяет Prosody поддерживать многопользовательские чаты. Добавьте следующий блок конфигурации в конец файла в новом разделе:

...
Component "room.your-domain" "muc"
modules_enabled = { "mam_muc"; }
storage = { muc_log = "sql"; }
ssl = {
key = "/etc/letsencrypt/live/room.your-domain/privkey.pem";
certificate = "/etc/letsencrypt/live/room.your-domain/fullchain.pem";
}
...

Мы использовали такие опции:

  • Component: позволяет модулю группового чата muc (Multi-User Chat) использовать имя хоста room.your-domain.
  • modules_enabled = { «mam_muc»; }: включает архивирование сообщений групповых чатов.
  • storage: архивирует сообщения чата в базу данных SQLite.
  • key: закрытый ключ TLS, используемый для защиты чата.
  • certificate: закрытый сертификат TLS, используемый для защиты чата.

Сохраните и выйдите из редактора.

Теперь перезапустите Prosody, чтобы обновить конфигурацию:

sudo systemctl restart prosody.service

Вы завершили редактирование главной конфигурации Prosody. Теперь мы создадим пользователя Prosody и добавим его в группу.

4: Добавление пользователей и групп Prosody

Вы должны добавить пользователей Prosody на свой сервер с помощью командной строки, после чего они смогут войти в систему. Для управления сервером Prosody используйте инструмент prosodyctl, поставляемый с пакетом prosody по умолчанию.

Используйте следующую команду prosodyctl, чтобы добавить нового пользователя:

sudo prosodyctl register 8host chat.your-domain password

Теперь этот пользователь может подключиться к вашему серверу Prosody.

Ваши пользователи оценят, если вы создадите несколько групп, которые позволят им видеть друг друга и свой статус. Чтобы сделать это, создайте группы и добавьте в них пользователей с помощью файла groups, который вы определили ранее.

Откройте файл:

sudo nano /etc/prosody/sharedgroups.txt

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

Вот, например, группа Everyone, в которую входят два участника: 8host и admin.

[Everyone]
8host@chat.your-domain
admin@chat.your-domain

Все члены одной группы смогут видеть других, вне зависимости от того, подключены они к сети или нет.

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

sudo systemctl restart prosody.service

Сервер почти готов, нам осталось только разблокировать сервер Prosody в брандмауэре, что мы и сделаем в следующем разделе.

5: Настройка брандмауэра

Prosody прослушивает соединения от клиентов на TCP-портах 5222 и 5322. Используйте следующую команду, чтобы открыть эти порты в UFW:

sudo ufw allow 5222,5322/tcp

Сервер prosody теперь полностью готов к работе.

Теперь мы можем подключиться к серверу Prosody с помощью чат-клиента. Далее мы настроим клиент XMPP в своей локальной системе или на смартфоне для подключения к серверу Prosody.

6: Настройка клиента чата XMPP

Давайте настроим соединение между своим клиентом XMPP и сервером Prosody. Для подключения вам нужно будет ввести свое имя пользователя, имя хоста сервера и пароль.

Сервер Prosody настроен на использование стандартных портов XMPP, и шифрование TLS будет обеспечено автоматически, поэтому вам не нужно выполнять дополнительную настройку.

Различные клиенты чата могут запрашивать имя пользователя, пароль и имя хоста сервера в разных форматах. Имя пользователя и хоста иногда объединяются как адрес электронной почты, например 8host@chat.your-domain. Электронный адрес может называться Username или XMPP Address.

Клиенты PSI требуют ввода имени пользователя и хоста в форме адреса электронной почты. А Gajim предоставляет для имени пользователя и имени хоста отдельные поля.

Клиенты XMPP не нуждаются в каких-либо дополнительных данных, они требуют только имя пользователя, пароль и имя хоста для входа в систему. После входа в систему вы сможете найти других членов чат-группы, а также создавать групповые чаты (если это поддерживается вашим клиентом).

Заключение

В этом мануале вы настроили сервер Prosody, который поддерживает:

  • Шифрование TLS
  • Индивидуальные и групповые чаты.
  • Обмен файлами

Вы также настроили клиент XMPP для использования всех этих функций, что предоставляет вам многофункциональный чат с друзьями и коллегами.

Читайте также:

Tags: , , , , , ,

Добавить комментарий