Настройка Jabber сервера
Обновлено 7 марта 2019
Введение
XMPP (ранее известный как Jabber), Extensible Messaging and Presence Protocol (англ. расширяемый протокол обмена сообщениями и информацией о присутствии) - это основанный на XML открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близкому к режиму реального времени. Для хранения учётных записей пользователей и групп используется OpenLDAP-сервер, в качестве XMPP-сервера используется Ejabberd. Необходимое программное обеспечение входит в состав Calculate Directory Server.
Настройка LDAP-сервера
Для хранения учётных записей пользователей и групп утилиты используют OpenLDAP-сервер. Настройте сервис LDAP согласно руководству.
Настройка Jabber-сервера
Установите Jabber-сервис, выполнив:
* ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы Jabber сервиса (программа Ejabberd). Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes Введите пароль для admin@calculate.spb.calculate.ru Новый пароль: Повторите новый пароль: * Пользователь добавлен в Jabber сервис * Добавлен ldif файл ... [ ok ] * Запускается Ejabberd ... [ ok ] * Jabber сервис сконфигурирован ... [ ok ]
После выполнения Jabber будет сконфигурирован с параметрами по умолчанию. В качестве имени хоста Jabber сервиса будет взято имя хоста машины.
Для указания дополнительных jabber-хостов используйте параметр --hosts.
Во время настройки сервиса введите пароль для учетной записи admin.
Учетные записи
Каждый пользователь в сети имеет уникальный идентификатор — Jabber ID (сокращенно JID). Адрес JID, подобно адресу электронной почты, содержит имя пользователя и доменное имя сервера, на котором зарегистрирован пользователь, разделённые знаком @. Например, пользователь user, зарегистрированный на сервере example.org, будет иметь адрес: user@example.org.
Добавление учетной записи сервиса jabber осуществляется командой cl-useradd
.
Для добавления пользователя guest@example.org c nickname Гость выполните:
Новый пароль: Повторите новый пароль: * Пользователь добавлен в Jabber сервис
Для добавления пользователя guest@example.org с nickname Гость и установкой для него фотографии выполните:
cl-useradd -p -c "Гость" -i pic/guest.png guest jabber
Заметка
Поддерживаемые форматы изображений определяются возможностями ImageMagick. Если в системе его нет, доступен только формат jpeg.
Смена пароля учетной записи сервиса jabber осуществляется командой cl-passwd
. Для смены пароля пользователя guest выполните:
Новый пароль: Повторите новый пароль: * Пароль пользователя Jabber сервиса изменен
Блокировка учетной записи производится командой cl-usermod -L
. Для блокировки учетной записи guest выполните:
* Пользователь guest Jabber сервиса заблокирован
Разблокировать учетную запись можно командой cl-usermod -U
. Для разблокирования учетной записи guest выполните:
* Пользователь guest Jabber сервиса разблокирован
Удаление учетной записи из сервиса jabber осуществляется командой cl-userdel
. Для удаления учетной записи guest выполните:
* Пользователь guest Jabber сервиса удален
Группы
Группа - набор JID, использующийся для рассылок сообщений нескольким пользователям одновременно. При подключении пользователя к Jabber-сервису он автоматически получит список групп и их участников. Пользователей без группы в список контактов добавлять придется вручную. Каждый пользователь может входить только в одну группу.
Создание группы сервиса Jabber осуществляется командой cl-groupadd
. Для создания группы "Тестовая группа" выполните:
* Группа 'Тестовая группа' добавлена в Jabber сервис
Переименовать существующую группу сервиса Jabber можно командой cl-groupmod
. Для переименования группы "Тестовая группа" в группу "My Test" выполните:
* Группа переименована в My Test
Изменять состав группы Jabber можно при помощи команд cl-groupmod
и cl-usermod
. Для добавления пользователя guest в группу 'Guest group' с помощью команды cl-usermod
выполните:
* Пользовательская группа изменена
Для удаления пользователя guest из группы 'Guest group' выполните:
* Пользователи удалены из группы Guest group
Для добавления пользователей guest и guest2 в группу 'Guest group' выполните:
* Пользователи добавлены в группу Guest group
Ограничения
Если на вашем сервере больше одного сетевого интерфейса и вам нужно, чтобы он работал только на одном из них, добавьте в файле /etc/jabber/ejabberd.yml соответствующую директиву ip: "192.168.0.2" в раздел listen:
/etc/jabber/ejabberd.yml
...
listen:
-
port: 5223
module: ejabberd_c2s
max_stanza_size: 65536
tls: true
ip: "192.168.0.2"
certfile: "/etc/jabber/ssl.pem"
shaper: c2s_shaper
access: c2s
...