Рассмотрим установку сервера ejabberd на компьютеры под управлением ОС Windows в стандартной конфигурации для использования в локальной сети с открытым доступом из Интернет и с использованием службы DynDNS.
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет myjabber.ath.cx) указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).
Первым делом скачайте программу-установщик на свой компьютер, сделать это можно на официальном сайте Process One на странице загрузки. После скачивания запустите файл и приступайте к установке.
Установка сервера[править]
После запуска установщика первым делом появится диалог выбора языка. Выберите русский и нажмите «OK«. Запустится мастер установки, который поможет выполнить Вам все необходимые шаги. Во время работы мастера Вам придется ответить на следующие вопросы:
- Принятие лицензионного соглашения. Ejabberd распространяется на условиях лицензии GPL.
- Каталог для установки программы. Здесь будут находиться основные исполняемые файлы сервера и файлы конфигурации, а также база данных пользовательских аккаунтов под названием Mnesia.
- Доменное имя сервера. Как уже говорили выше, пусть это будет myjabber.ath.cx.
- Логин администратора. Вместе с доменным именем он составит Jabber ID администратора сервера.
- Пароль администратора.
- Вариант конфигурации сервера. Кластеры используются только на высоконагруженных серверах, поэтому отвечаем «Нет«.
После ответа на эти вопросы начнется процесс установки, во время которого будут выполнены основные настройки сервера. После установки сервер займет на диске около 15 Мб. Для окончания установки осталось выполнить лишь несколько шагов.
-
Выбираем язык
-
Запуск мастера установки и настройки
-
Знакомимся с лицензионным соглашением
-
Выбираем каталог для установки
-
Вводим домен сервера
-
Вводим логин администратора
-
Вводим пароль администратора
-
Выбираем тип конфигурации сервера
-
Установка сервера
-
Установка завершена
Запуск сервера[править]
Сервер добавляет себя в список сервисов системы, но не запускается автоматически. Для запуска в ручном режиме сделайте двойной щелчок по ярлыку «Запустить ejabberd» на рабочем столе, а для запуска сервера при старте системы измените в «Панель управления -> Администрирование -> Сервисы» тип запуска сервиса ejabberd с «Ручной» на «Автоматический«.
Если при попытке запуска сервера возникает следующее сообщение об ошибке:
Starting ejabberd... ./ejabberdctl: erl.exe: can't execute: (14001) Error 14001 There is a problem starting Erlang. If the error you see is 14001, you need to install: Microsoft Visual C++ 2005 SP1 Redistributable Package You can download that installer from www.microsoft.com You can also check the ejabberd Administrator Guide
то потребуется дополнительно установить Microsoft Visual C++ 2005 SP1, скачать его можно с официального сайта Microsoft.
После успешного запуска сервера откроется информационная веб-страница в браузере.
Панель администратора и клиент, подключенный к серверу
С этого момента к Вашему серверу можно подключаться с других компьютеров, пользователи могут заводить учетные записи, общаться между собой и устраивать конференции.
Используя свой администраторский аккаунт, Вы можете выполнять некоторые административные функции прямо из своего Jabber-клиента, например, можно создавать новые учетные записи и просматривать список подключенных пользователей. Эти функции доступны через браузер сервисов. Также становятся доступны стандартные функции администратора — рассылка массовых сообщений для всех пользователей и установка так называемого «Сообщения дня».
Кроме того, Вы можете получить доступ к веб-интерфейсу, через который можно управлять настройками сервера и смотреть статистику.
Авторизация в панели администратора
Этот интерфейс доступен на Вашем компьютере по адресу http://localhost:5280/admin. Для авторизации введите в поле «Пользователь» полный Jabber ID администратора, а в поле «Пароль» — пароль, введенный Вами при установке сервера.
Ссылки[править]
- Настройка ведения логов в конференции
Jabber сервер для Windows Server: обзор и настройка
Системы мгновенного обмена сообщениями стали неотъемлемой частью жизни современных организаций. Удобство и быстрота передачи информации позволяет значительно повысить эффективность бизнес-процессов и общения внутри компании. В данной статье мы рассмотрим возможности Jabber сервера на операционной системе Windows Server и научимся его настраивать.
Что такое Jabber сервер?
Jabber сервер, или XMPP сервер, представляет собой программное решение для обеспечения мгновенного обмена сообщениями внутри организации. XMPP (Extensible Messaging and Presence Protocol) – это протокол передачи данных на основе XML, который обеспечивает шифрование источника данных и доставки отправленных сообщений в целости и безопасности. XMPP сервер может работать в локальной сети, а также через сеть Интернет.
Почему Jabber сервер для Windows Server?
Операционная система Windows Server является одной из наиболее популярных в мире благодаря своей удобной администрируемости и гибкости настроек. Jabber сервер для Windows позволяет использовать встроенные инструменты управления сервером, а также обеспечивает высокую степень безопасности. При этом затраты на подключение и использование программного обеспечения несравнимо ниже, чем у коммерческих решений по аналогии.
Как настроить Jabber сервер на Windows Server?
Для установки и настройки Jabber сервера на Windows Server требуется выполнить следующие шаги:
- Загрузить программный пакет Openfire с официального сайта (https://www.igniterealtime.org/projects/openfire/index.jsp).
- Установить программу согласно руководству пользователя.
- Запустить программу и перейти на страницу настроек по адресу http://localhost:9090. В качестве логина используется «admin», в качестве пароля – указанный во время установки.
- На странице настроек указать данные сервера, такие как полное имя сервера и адрес электронной почты. Также можно настроить доступ к базе данных и другие параметры.
- Сохранить все настройки и перезапустить сервисы Openfire.
- Указать параметры подключения на клиентских устройствах и начать использование Jabber сервера внутри компании.
Какие преимущества дает Jabber сервер на Windows Server?
Использование Jabber сервера на Windows Server предоставляет широкие возможности для улучшения бизнес-процессов и коммуникации внутри организации. Среди основных преимуществ можно выделить:
- Высокую скорость и надежность передачи сообщений.
- Возможность установки и настройки на собственном сервере без обращения к сторонним компаниям.
- Гибкость настроек и легкость администрирования благодаря использованию Windows Server.
- Высокую степень безопасности благодаря шифрованию данных.
- Возможность создания собственной сети из нескольких серверов.
- Наличие широкого спектра клиентских приложений для работы с сервером.
Как выбрать Jabber сервер для Windows Server?
На рынке существует множество различных решений для обеспечения мгновенного обмена сообщениями, включая коммерческие и бесплатные решения. При выборе Jabber сервера для Windows Server следует учитывать следующие критерии:
![]()
«Не следует выбирать программу только из-за наличия бесплатной версии. Вместо этого важно учитывать требования организации, возможности программы и уровень безопасности.»
- Стоимость и наличие бесплатной версии.
- Наличие необходимого функционала, включая поддержку конференций и групповых чатов.
- Уровень безопасности и возможности шифрования данных.
- Удобство администрирования и настройки.
- Поддержка мобильных устройств и возможность интеграции с другими программами.
Итоги
Использование Jabber сервера на Windows Server обеспечивает широкие возможности для быстрой и надежной коммуникации внутри организации. Благодаря использованию протокола XMPP и операционной системы Windows Server можно добиться высокой степени безопасности и гибкости настроек. Выбирая программное решение, следует учитывать требования компании и функционал программы, а также уровень безопасности и удобство администрирования.
Jabber сервер для Windows Server: обзор и установка
Jabber сервер – это программное обеспечение, которое позволяет создать собственную систему мгновенного обмена сообщениями на местном сервере. В Windows Server есть несколько вариантов Jabber сервера, но в этой статье мы рассмотрим Openfire, один из самых популярных Jabber серверов для Windows.
Что такое Openfire?
Openfire – это бесплатный сервер мгновенных сообщений с открытым исходным кодом, разработанный компанией Ignite Realtime. Openfire работает на операционной системе Java и поддерживает протокол XMPP (Jabber).
Openfire обеспечивает безопасность и конфиденциальность вашего общения, обладает гибкой системой управления пользователями и поддерживает возможность работы со сторонними клиентами. Далее мы рассмотрим процесс установки Openfire на Windows Server.
Установка Openfire на Windows Server
- Скачайте установочный файл Openfire с официального сайта Ignite Realtime.
- Запустите установочный файл и нажмите «Next».
- Выберите путь для установки Openfire и нажмите «Next».
- Выберите опции, которые вы хотите добавить в Openfire и нажмите «Next».
- Выберите порт, который будет использоваться для соединения с Openfire. По умолчанию это порт 9090 для веб-интерфейса и порт 5222 для XMPP.
- Введите имя сервера и название организации. Хотя эти данные могут быть указаны позднее в административном интерфейсе.
- Нажмите «Next» и дождитесь окончания установки.
- После установки вы можете начать настройку сервера.
Настройка Openfire
После установки Openfire на Windows Server вы должны зайти в веб-интерфейс, чтобы завершить настройку. Введите адрес сервера и порт, который вы выбрали во время установки, в адресную строку вашего браузера. Запустится интерфейс установки.
В интерфейсе установки вы должны указать имя пользователя и пароль администратора. Эта учетная запись Tиспользуется для управления сервером и пользователями.
После входа в систему администратора вы можете перейти в раздел управления сервером. Здесь вы можете настроить различные параметры, например, добавить новых пользователей, изменить настройки безопасности и многое другое.
Заключение
Openfire – это идеальный выбор для тех, кто хочет создать свою систему мгновенного обмена сообщениями на Windows Server. С его открытым исходным кодом, бесплатностью и гибкой системой управления он станет прекрасным инструментом для коммуникации в вашей компании или организации. Установите Openfire уже сегодня и наслаждайтесь его удобством и простотой.
Jabber сервер для Windows Server
Среди множества IM-систем существует одна, которая является наиболее безопасной и децентрализованной — это Jabber. Он основан на протоколе XMPP и может быть установлен на любой сервер, включая Windows Server. В этой статье мы рассмотрим, как установить Jabber сервер на Windows Server.
1. Скачивание
Первым шагом является скачивание последней версии сервера OpenFire с сайта www.igniterealtime.org. Выберите подходящую версию для Windows Server и загрузите ее на свой компьютер.
2. Установка
После загрузки запустите установку OpenFire. Выберите «Run as administrator» и следуйте инструкциям на экране. При выборе пути установки замените предложенный путь на C:\openfire, чтобы избежать проблем с привилегиями в будущем.
3. Настройка
После успешной установки, выполните двойной щелчок на ярлыке OpenFire в папке С:\openfire\bin. Откроется веб-интерфейс настроек OpenFire. Заполните поля со своими данными для добавления администратора сервера.
![]()
Примечание: Придумайте надежный пароль для администраторского аккаунта OpenFire.
После успешной настройки пользователей и сервера можно продолжить работу с Jabber сервером в Windows Server.
4. Подключение к серверу
Пользователям необходимо просто загрузить любой Jabber-клиент и настроить подключение к серверу. Вот пример настройки для клиента Pidgin:
- Запустите Pidgin и выберите Accounts -> Add/Edit откроется настройка аккаунта.
- Выберите тип аккаунта XMPP.
- В поле «Username» введите свой логин на сервере OpenFire.
- В поле «Domain» укажите имя вашего сервера.
- В поле «Resource» введите наименование ресурса, например laptop или mobile.
- В поле «Server» укажите адрес вашего сервера.
- Введите пароль от вашей учетной записи на сервере.
- Нажмите на «Add» для сохранения настроек.
Теперь вы можете обмениваться сообщениями с пользователями на вашем Jabber сервере!
Заключение
Jabber сервер является наиболее безопасным и децентрализованным среди всех IM-систем. Установка Jabber сервера на Windows Server достаточно проста и не требует специальных знаний. До настройки никто не сможет проникнуть на ваш сервер без ваших знаний и согласия.
Время на прочтение4 мин
Количество просмотров9.9K
Prosody — это легковесный кроссплатформенный XMPP-сервер, написанный на языке программирования Lua. На хабре есть несколько статей по настройке prosody в стандартном варианте — в linux. Настройка в windows содержит несколько подводных камней, о которых я постараюсь рассказать.
Сперва расскажу о плюсах и минусах данного решения. Плюсы: экстремальная легковесность.
На скриншоте — типичное потребление ресурсов prosody+служебной утилиты srvany, которую я использовал для создания службы. Ещё к плюсам можно отнести модульность и поддержку многих XEP.
И минусы: отсутствие GUI (для кого-то это не минус), для настройки под windows нужно поработать напильником. Настройка под windows сложнее аналогичной настройки под linux.
Первый подводный камень ожидает нас уже на этапе скачивания дистрибутива. Для windows можно скачать, как инсталлятор, так и просто архив с prosody. Дело в том, что все до единого bat-файлы содержат строчку
if exist Uninstall.exe set datastore=%APPDATA%\Prosody
Это значит, что если найден деинсталлятор, то все данные сервера будут храниться в %APPDATA% запустившего сервер пользователя. Это не то, что нам нужно, поэтому, для того, чтобы хранить данные там же, где хранится всё остальное, нужно либо использовать дистрибутив с архивом вместо инсталлятора, либо переименовать после инсталляции файл uninstall.exe, например, в uninstall.bkp.exe. Скачиваем и устанавливаем необходимый дистрибутив.
Второй подводный камень — prosody под windows не имеет службы. Будем считать, что вас не устраивает каждый раз для запуска prosody логиниться под пользователя и запускать bat-файл prosody.bat. Для создания службы prosody я предлагаю использовать утилиту srvany, входящую в Windows Server 2003 Resource Kit Tools. Даже если ОС на вашем сервере будет отличаться от server 2003, srvany должна нам помочь.
- Устанавливаем resource kit, соглашаемся с предупреждениями о несовместимости с ОС, если они будут.
- Открываем командную строку cmd от имени администратора, выполняем следующее (вставьте свой путь к srvany):
instsrv.exe Prosody "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"
- Открывaем regedit, идём в «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Prosody«
- Создаём раздел «Parameters«.
- В разделе «Parameters» создаём строковый параметр «Application» со значением «C:\Program Files (x86)\Prosody\prosody.bat» (подставьте свой путь).
Служба создана, можно выставить ей тип запуска «автоматически«. Внимание! Остановить созданную таким образом службу нельзя, для остановки завершите процессы srvany и lua. До тех пор, пока не сделаны все настройки, службу запускать не надо.
Настроим prosody. Для этого запустим bat-файл editconfig.bat. Все опции документированы, я не буду описывать всю настройку досконально. Документация по модулям может быть найдена на официальном сайте.
Рекомендуется использовать tls для шифрования сессий. Есть несколько вариантов настройки tls:
- Можно получить бесплатный сертификат на год у StartCom. Если вы планируете открыть доступ к jabber-серверу из интернета.
- Можно использовать самоподписанный сертификат. При первоначальном подключении к такому серверу клиенты, обычно, выдают множественные предупреждения.
Генерация самоподписанного сертификата
Использовать prosodyctl для генерации сертификата в windows мы не можем, т.к. эта утилита не портирована. Необходимо
- скачать openssl для windows
- Указать конфигурационный файл openssl.cnf из поставки prosody (лежит в папке cert). Для этого необходимо открыть командную строку и выполнить следующее (указав свой путь):
set OPENSSL_CONF=C:\Program Files (x86)\Prosody\certs\openssl.cnf
- Перейти в директорию с распаковынным openssl и сгенерировать сертификаты:
openssl req -new -x509 -days 1825 -nodes -out "prosody.crt" -newkey rsa:2048 -keyout "prosody.key"
- Можно просто отключить модуль tls (хоть он и помечен, как generally required) или не указывать путь к сертификатам в конфигурационном файле. Это подойдёт для небольшого корпоративного офиса.
Если вы настраиваете корпоративный сервер, то вам понадобится включить модуль groups для общего ростера.
Необходимо раскомментировать соответствующую строчку в конфиге для того, чтобы загружать модуль groups при старте сервера, подготовить текстовый файл с описанием групп и указать путь к файлу:
modules_enabled = {
-- Other modules
"groups"; -- Enable mod_groups
}
groups_file = "groups.txt"
Создадим groups.txt в поддиректории data. Если вы планируете использовать кириллицу, то правьте файл с помощью notepad++ или любого другого продвинутого текстового редактора в режиме UTF-8. Следующий пример файла взят из официальной документации:
[Support Team]
support@example.com
john.doe@example.com
[Development Team]
hardworkingdeveloper@example.net=Joe Coder
other.dev@example.com=Mel
Здесь есть один нюанс. Пользователи каждой группы видят только тех, кто входит в эту же группу. О других случаях официальная документация молчит. Взглянув на исходный код модуля видно, что если поставить + перед названием группы, то она становится общей — эту группу видят все.
[+Support Team]
support@example.com
john.doe@example.com
[+Development Team]
hardworkingdeveloper@example.net=Joe Coder
other.dev@example.com=Mel
Добавлять в группу можно даже несуществующих на данный момент пользователей.
Во время конфигурации можно запускать prosody из стартового скрипта prosody.bat для проверки результата. Запускайте скрипт от администратора во избежание проблем. После окончательной настройки запустите созданную ранее службу prosody. Управлять prosody на ходу можно, используя модули admin_adhoc и admin_telnet.
Установка и настройка Openfire в среде MS Windows Server
Рассмотрим установку XMPP-сервера Openfire на сервер под управлением операционной системы MS Windows Server 2003 SP2, работающий в среде Active Directory.Идём на сайт проекта и скачиваем последнюю версию сервера (3.6.4 на момент написания статьи). Запускаем скачанный файл openfire_3_6_4.exe и выбираем желаемый язык установки.
Русского языка среди предлагаемых вариантов нет, но это никоим образом не помешает установке и дальнейшей работе сервера. Я выбрал привычный для себя английский.
Установка не должна вызвать никаких вопросов. По её завершению можно установить галочку Run Openfire.
На экране появится окно сервера сигнализирующее, что всё установлено и готово к настройке. В появившемся окне нажимаем Launch Admin. Должен запуститься браузер и соединиться с сервером по адресу http://127.0.0.1:9090/.
Сперва нам предложат выбрать язык сервера. Выбираем английский
Далее требуется ввести имя хоста компьютера, на который установлен наш Openfire. Это имя сервера и все пользователи будут вида user@имя домена которое сейчас введём например:
имя домена domen.im имена пользователей будут вида users@domen.im имя можно исправить и потом но потеляется доступ к консоли и придётся править в базе
Затем необходимо указать, какую СУБД мы будем использовать — внешнюю или встроенную. В качестве СУБД я выбрал MySQL
Настраиваем подключение к нашей базе. База jabber и пароль к базе которую установливали в первой части
Интегрируем с Active Directory. Поэтому на следующей страничке конфигуратора выбираем Directory Server (LDAP).
Указываем реализацию LDAP — Active Directory, и имя хоста контроллера домена. Если наш домен — dom.local, то в поле Base DN пишем dc=dom ,dc=local. В качестве учётной записи администратора указываем пользователя, имеющего право читать данные Active Directory. Рекомендую завести отдельную учётную запись для работы с Openfire. Для простоты я назвал её jabber.
Например, для специально созданной для наших целей учётной записи jabber указываем jabber в поле Administrator DN и пароль к данной учётной записи в поле Password. Мы можем протестировать сделанные настройки, нажав Test Settings. Порт указываем 389 а лучше 3268 это даст нам возможность прочитать пользователей из поддоменов.
На следующих двух страницах можно задать дополнительные параметры, такие как фильтры пользователей и групп.
Если оставить настройки импорта пользователей в разделе Profile Setting: User Mapping по-умолчанию, то нас ждёт небольшое разочарование. Среди пользователей Openfire окажутся и все системные учётные записи, например Administrator, Guest и другие. Чтобы избежать этого произведём настройку фильтра пользователей.
У меня сделано так: В AD создал группу IM там находятся все пользователи которым разрешён чат
для этого в Advanced Settings вместо (objectClass=organizationalPerson) вписываем следующее значение:
фильтр по этой группе
(&(objectClass=organizationalPerson)(memberOf=cn=IM,cn=Users,dc=dom,dc=local))
дело в том если использовать настройки фиртров по умолчанию то у нас будут видны все пользователи даже отключенные и системные , а притаком фильтре только которые находятся в этой группе.
ещё применяют фильтры На данном этапе лично я ещё установил фильтр выбора данных из АД,
(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))
Эта строчка поможет нам избавиться от отключенных учетных записей, которые наверняка у всех есть и очень будут мешаться.
(&(objectClass=user)(!(objectClass=computer))(!(userAccountControl=514))(!(userAccountControl=546))(!(userAccountControl=66050)))
Рекомендую проверить введённый фильтр нажатием по кнопке Test Settings. Если всё настроено верно, мы можем продолжить, нажав Save & Continue.
В разделе Profile Setting: Group Mapping мы можем настроить, какие именно группы пользователей Active Directory будет использовать Openfire. Тем самым мы избежим отображения в Openfire таких системных групп, как Cert Publishers, DHCP Administrators и т.п
Для этого раскроем список параметров Advanced Settings и в поле Group Filter зададим фильтр, например:
(&(objectClass=group)(|(cn=IT)(cn=Отдел маркетинга)(cn=Отдел продаж)))
А можно и ничего не менять лишние группы по моему нам не сильно помешают их не будет видно, а нужные группы мы включим в разделе Users/Groups
Нажав по кнопке Test Settings мы можем протестировать введённый фильтр. С помощью кнопки Save & Continue сохраним сделанные настройки и продолжим конфигурирование Openfire.
Мы всегда можем поменять настройки фильтров в разделе Server → Server Manager → System Properties. Фильтру пользователей соответствует свойство ldap.searchFilter, а фильтру групп — ldap.groupSearchFilter
На завершающем этапе мы выбираем пользователя, который будет администратором XMPP-сервера. Необходимо просто указать его имя, например jabber. Администраторов может быть несколько.
Теперь можно зайти в административную консоль Openfire, используя ранее указанные учётные данные.
первоначальная настройка сервера закончена.
далее установка патча авторизации
Под катом чисто техническая статья про настройку Jabber-сервера под Linux и клиентов к нему под Windows с одновременным прикручиванием формирования контакт-листа из AD LDAP с SSO-авторизацией посредством Kerberos.
Сперва небольшой обзор имеющихся доступных решений.
Как ни странно, из актуальных Jabber-серверов SSO / GSSAPI поддерживают все три: eJabberd, Openfire, Prosody. Первый я не осилил ввиду зубодробительности erLang-а. Точнее, в дефолтной конфигурации его запустить как раз плюнуть (спасибо дистростроителям). Но вот если надо прикрутить что-то эх-такое, чего изначально не было предусмотрено в конструкции, возникает дикая попа-боль. Второй весьма user-friendly, большинство фич работают из коробки. Но это Java со всеми вытекающими. В частности, даже банальное подсовывание SSL-сертификата сразу превращается в увлекательнейший траходром. Третья лишена большинства недостатков первых двух, но она отвратительно (точнее, почти вообще никак) не документирована и не масштабируется. В том плане, что до 100…150 пользователей работает ОК, потом начинает тупить, тормозить и валиться. Конкретно мне больше и не надо, поэтому я взял в качестве сервера Prosody. О ней и пойдет дальнейший разговор.
Касаемо клиентов. Всего хоть как-то GSSAPI под виндой сейчас поддежривают: Miranda, Psi, Spark, Pidgin.
Miranda хороша-красива, когда «обвешана». На «голую» (без плагинов) без слёз не взглянешь. Если же надо обновить версию, то «обвес» придётся формировать заново. Она не enterprise-friendly. Она глючновата в плане интерфейса. Может, например, почему-то не показать поступившее входящее сообщение. Может обвалиться после очередного обновления винды. Не проверяет SSL-сертификат сервера на валидность. Одним словом, мы попробовали, попользовались, нам не понравилось.
Что касается Psi, то для реализации GSSAPI там надо самостоятельно собирать Qt-шную библиотеку под названием qca-wingss. Готового бинарника я ожидаемо не нашёл, а скопилировать самостоятельно ниасилил.
Spark — это опять же Java, со всеми вытекающими. Кто желает, может пользовать. Меня от неё тошнит.
Остался Pidgin. Но и тут всё не слава богу. Во-первых, последняя виндовая версия, которая ещё умеет GSSAPI — это 2.10.11. В более свежих поддержку GSSAPI/SSPI выпилили (это касается только виндовых сборок; под линуксом всё нормально). Во-вторых, на клиентские машины нужно дополнительно ставить MIT Kerberos for Windows. Берут здесь. В более-менее «стандартной» конфигурации каких-то дополнительных настроек не требуется, в не совсем типичных случаях его тоже потребуется «подкрутить».
Окей, с выбором софта более-менее разобрались. Теперь некоторые неочевидные нюансы. Полностью процесс «от А до Я» расписывать не буду. Потому что в энторнетах есть некоторое количество хаутушек, да и админ, взявшийся за подобную задачу, наверняка уже обладает некоторыми навыками и компетенцией. Расскажу о том, во что «влетел» конкретно я.
Что касается сервера. Документация к нему не отличается точностью и полнотой. Там есть определённая путаница. Следует учитывать, что до версии 0.8 данный механизм был реализован в модуле «mod_saslauth» через прокладку в виде saslauthd. После версии 0.8 функционал был перенесён в отдельный модуль «mod_auth_cyrus», а saslauthd больше не нужен. То есть пакет «sasl2-bin» можно и не ставить, а руководствоваться нужно вот этой статьёй.
Далее. Как всегда, требуется сформировать в системе правильный конфиг «/etc/krb5.conf» и сгенерировать keytab. И самое главное, prosody должна иметь доступ на чтение и к тому, и к другому. Если вовремя не вспомнить, что в Debian-е по умолчанию она запускается из-под отдельного непривилегированного пользователя, то могут возникнуть весьма трудно диагностируемые проблемы и странные совершенно неинформативные фатальные ошибки в логах.
Кроме того, если в том же OpenFire функционал импорта пользователей из AD реализован «из коробки», то в случае c Prosody его придётся колхозить самостоятельно, ручками. Это не так уж и сложно, но это нужно сделать. Об этом я напишу во второй части.
Теперь что касается клиента.
Pidgin-а ставим как обычно, но не свежее версии 2.10.11. С MIT Kerberos никаких премудростей нет, обычный wizard типа «xyяк, xyяк и в продакшн» «next, next и готово». На последнем шаге он спросит, надо ли автоматически стартовать при логине пользователя и надо ли сразу получать Kerberos-тикеты. Ответ: нет, не надо. Впрочем, на самом деле пофиг. Будет работать и так, и так.
В самом Pidgin-е в настройках аккаунта указываем только логин, имя домена и ресурс. Поле «пароль» оставляем пустым. Примерно так.
Если по условию задачи Kerber-осовский Realm совпадает с Jabber-овым доменом, то больше никаких действий предпринимать не нужно. Всё заведётся, пользователь успешно залогинится. В противном случае придётся совершить ещё ряд небольших шаманств.
Во-первых, сделать текстовый файл с названием «krb5.ini» по аналогии с линуксовым «krb5.conf» с указанием KDC и сопоставлением сущностей «domain» и «realm». Чтобы оно понимало, из какого Realm-а запрашивать ключи для того или иного домена и где вообще искать KDC (Key Distribution Center). Упомянутый «krb5.ini» следует положить либо в «c:\windows», либо в профиль пользователя (по желанию админа). Во вторых, после неудачной попытки залогиниться нужно назначить «Default Ticket» прямо в интерфейсе MIT Kerberos (на скриншоте обвёл синим прямоугольником). Это требуется сделать ровно один раз. Возможно, данную настройку можно выполнить и через реестр. Не знаю, настолько глубоко не ковырял.
Как-то так и настраивается SSO-аутентификация. Про формирование ростера (списка контактов и групп) читайте в следующем псто.