Настройки сервера Jabber хранятся в формате XML, их можно редактировать в любом текстовом редакторе, но удобнее это делать с помощью редакторов языка XML, например, kxmleditor, emacs или vi с подсветкой синтаксиса.
Если после редактирования с помощью kxmleditor сервер Jabber не запускается с сообщением
The host tag contains illegal whitespace.уберите в файле jabber.xml все разделители между тегом host и jabberd:cmdline, а также все разделители внутри тега spool.
Основные разделы jabber.xml:
Этот раздел описывает наиболее важный компонент сервера - Jabber Session Manager (JSM). Содержит следующую информацию:
Имя сервера
Основную информацию о сервере
Почтовые адреса администраторов сервера
Расположение сервера, предоставляющего информацию об обновлениях
Инструкции для регистрации новых пользователей
Приветственное сообщение для новых пользователей
Список агентов, у которых можно зарегистрироваться
Список модулей, загружаемых в JSM
Этот компонент отвечает за хранение данных, используя файловую систему. Можно также настроить сервер для хранение данных в другом месте, например, в базе данных.
Этот компонент управляет входящими клиентскими соединениями.
Параметры оптимизации:
Время для авторизации (в секундах). По умолчанию не ограничено.
Система ограничения ввода/вывода, предусмотренная для предотвращения полного использования сервером полосы пропускания канала связи.
Также в этом разделе описываются адреса и порты, на которых сервер будет принимать клиентские соединения:
Этот тег указывает адрес и порт для сервера. Указание адреса необязательно, тогда сервер будет слушать на адресах всех доступных интерфейсов. Можно указывать несколько тегов ip для разных адресов или портов.
Используется для указания адресов и портов, на которых сервер будет ждать SSL-соединения. Указание адреса обязательно, иначе соединения не произойдет. Можно указывать несколько тегов ssl для разных адресов или портов. Для каждого указанного адреса в разделе io должен быть указан файл с сертификатом SSL. Скрипт для создания такого файла находится в каталоге с документацией к серверу. Также ссылки на него можно найти на сайте документации Jabber.
В этом разделе описан компонент протоколирования ошибок, указывается формат записей в протоколе, файл с протоколом, копирование протокола в стандартный поток ошибок.
В этом разделе описан компонент протоколирования статистики и общей информации о подключениях. Также указывается формат записей в протоколе и файл с протоколом.
Компонент для разрешения имен DNS.
Этот компонент отвечает за соединения между серверами. Тег dialback описывает систему проверки серверов Jabber - используется обратное соединение при попытке связи двух серверов. Тег legacy включает поддержку соединений со старыми версиями серверов Jabber. В этом разделе также есть теги ip и karma, описанные ранее для компонента клиентских соединений.
Эта часть конфигурации инициализирует систему ввода/вывода верхнего уровня, иначе известную как MIO - (Managed Input/Output - Управляемый ввод/вывод). Здесь можно указать глобальные значения для тега karma, приведены примеры таких значений для разной пропускной способности канала.
Тег rate описывает ограничения на количество соединений с одного адреса. Количество соединений больше указанного за указанный период времени превышает ограничение. Эти настройки применяются по умолчанию ко всем входящим соединениям для всех сервисов, пока не будут переопределены настройками отдельного сервиса.
Также в этом разделе можно указать тег ssl, в котором указать файлы с SSL-сертификатами для каждого адреса, на котором сервер принимает SSL-соединения.
Сервер позволяет управлять доступом по ip-адресам - для этого используются теги allow и deny.
Указывает файл, в котором будет храниться pid процесса сервера. Если произошло падения сервера, этот файл нужно удалить вручную перед новым запуском, иначе сервер не запустится.
Здесь можно указать конфигурацию локальных сервисов или транспортов, доступ к которым обеспечивается агентами. Удобно хранить конфигурацию локальных сервисов в отдельных файлах и подключать ее указанием имени файла в теге jabberd:include. Таких сервисов, естественно, может быть несколько.