Свой сервер: подробное руководство по установке ejabberd: различия между версиями

Общий reference на сноску про базу
(+ссылки)
(Общий reference на сноску про базу)
Строка 125: Строка 125:
  sudo apt-get install erlang-p1-mysql
  sudo apt-get install erlang-p1-mysql


Создайте базу для jabber-сервера, после чего импортируйте туда схему базы из '''/usr/share/ejabberd/sql/mysql.sql'''.
Создайте базу для jabber-сервера, после чего импортируйте туда схему базы из '''/usr/share/ejabberd/sql/mysql.sql''' <ref name="ejabberd_mysql"></ref>.


Далее приводится пример конфигурации jabber-сервера. Рассмотрим его подробнее.
Далее приводится пример конфигурации jabber-сервера. Рассмотрим его подробнее.
Строка 652: Строка 652:
** Ниже идет большой блок параметров 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'''<ref>У ejabberd есть 2 варианта конфигурации с внешней базой: с указанием хоста внутри базы для всех значений (и таким образом повышенным расходом места для больших серверов) и без указания (и требующим отдельные базы для каждого виртуального хоста - этот вариант и рассмотрен в данном руководстве)</ref>.
** Ну и последними опциями, требующими вмешательства, являются параметры подключения к созданной ранее базе данных. Если используется несколько виртуальных хостов для ejabberd - можно указать несколько баз через опцию '''host_config'''<ref name="ejabberd_mysql">У ejabberd есть 2 варианта конфигурации с внешней базой: с указанием хоста внутри базы для всех значений (и таким образом повышенным расходом места для больших серверов) и без указания (и требующим отдельные базы для каждого виртуального хоста - этот вариант и рассмотрен в данном руководстве)</ref>.


Фактически, после указания домена и IP-адресов, сертификатов, [[Jabber ID]] админа и параметров подключения к базе сервер готов к использованию. Запустите сервер, после чего создайте учетную запись администратора - сделать это можно либо в [[Клиенты Jabber|jabber-клиенте]], либо в консоли с использованием '''ejabberdctl'''. В дальнейшем управлять сервером можно по адресу [https://EXAMPLE.COM:5281/admin https://EXAMPLE.COM:5281/admin] - само-собой, подставьте в данном случае свой домен.
Фактически, после указания домена и IP-адресов, сертификатов, [[Jabber ID]] админа и параметров подключения к базе сервер готов к использованию. Запустите сервер, после чего создайте учетную запись администратора - сделать это можно либо в [[Клиенты Jabber|jabber-клиенте]], либо в консоли с использованием '''ejabberdctl'''. В дальнейшем управлять сервером можно по адресу [https://EXAMPLE.COM:5281/admin https://EXAMPLE.COM:5281/admin] - само-собой, подставьте в данном случае свой домен.