Песочница: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
м
Строка 1: Строка 1:
 
В этой статье приводится пример настройки ejabberd с поддержкой актуальных и популярных в 2022 г. функций. В качестве основы взят конфиг-файл с работающего сервера версии 21.12, а в качестве сертификатов используется Let's Encrypt - и все это установлено на Debian GNU/Linux.
В этой статье приводится пример конфигурирования ejabberd с поддержкой актуальных и популярных функций. В качестве основы взят конфиг-файл с работающего сервера версии 21.12, а в качестве сертификатов используется Let's Encrypt - и все это установлено на Debian GNU/Linux.


Рассмотрим особенности данной конфигурации.
Рассмотрим особенности данной конфигурации.
Строка 636: Строка 635:
** Ниже идет большой блок параметров STUN/TURN-сервера. Укажите внешние IP-адреса сервера и обслуживаемый домен; если у сервера нет IPv6-адреса - закомментируйте соответствующие блоки.
** Ниже идет большой блок параметров STUN/TURN-сервера. Укажите внешние IP-адреса сервера и обслуживаемый домен; если у сервера нет IPv6-адреса - закомментируйте соответствующие блоки.
** Предпоследней настройкой в секции модулей идет настройка веб-клиента ConverseJS. В ejabberd 21.12 настройки весьма базовые, но над этим модулем активно идет работа. В минимальном варианте конфигурации можно просто указать Websocket-адрес для подключения к серверу (мы его объявляли в секции '''Listen'''). Можно даже не указывать файлы ConverseJS - по умолчанию они могут загружаться напрямую [https://conversejs.org с сайта ConverseJS]. Но если хочется большей автономности, то можно сделать так, чтобы их отдавал свой сервер. В свою очередь не обязательно их отдавать через встроенный в ejabberd веб-сервер - для этого можно использовать тот, что настроен для сертификатов - в этом есть даже определенные преимущества: например, файлы могут прозрачно сжиматься перед передачей клиенту, что обеспечит более быструю загрузку интерфейса ConverseJS. Если же хочется более продвинутой конфигурации ConverseJS (например, анонимный чат на сайте для работы техподдержки), то это делается передачей опций через специальную индексную страницу, но это уже выходит за рамки данного руководства.
** Предпоследней настройкой в секции модулей идет настройка веб-клиента ConverseJS. В ejabberd 21.12 настройки весьма базовые, но над этим модулем активно идет работа. В минимальном варианте конфигурации можно просто указать Websocket-адрес для подключения к серверу (мы его объявляли в секции '''Listen'''). Можно даже не указывать файлы ConverseJS - по умолчанию они могут загружаться напрямую [https://conversejs.org с сайта ConverseJS]. Но если хочется большей автономности, то можно сделать так, чтобы их отдавал свой сервер. В свою очередь не обязательно их отдавать через встроенный в ejabberd веб-сервер - для этого можно использовать тот, что настроен для сертификатов - в этом есть даже определенные преимущества: например, файлы могут прозрачно сжиматься перед передачей клиенту, что обеспечит более быструю загрузку интерфейса ConverseJS. Если же хочется более продвинутой конфигурации ConverseJS (например, анонимный чат на сайте для работы техподдержки), то это делается передачей опций через специальную индексную страницу, но это уже выходит за рамки данного руководства.
** Ну и последней опции, требующей вмешательства, являются параметры подключения к созданной ранее базе данных. Если используется несколько виртуальных хостов для ejabberd - можно указать несколько баз через опцию '''host_config'''.
** Ну и последними опциями, требующими вмешательства, являются параметры подключения к созданной ранее базе данных. Если используется несколько виртуальных хостов для ejabberd - можно указать несколько баз через опцию '''host_config'''<ref>У ejabberd есть 2 варианта конфигурации с внешней базой: с указанием хоста внутри базы для всех значений (и таким образом повышенным расходом места для больших серверов) и без указания (и требующим отдельные базы для каждого виртуального хоста - этот вариант и рассмотрен в данном руководстве)</ref>.
 
==Сноски==
 
<references/>


[[Category:Вики]]
[[Category:Вики]]