====== Подключаем пользователей Active Directory к ejabberd ====== ===== Сертификат ===== Генерация сертификата сервера: $ openssl req -newkey rsa:1024 -keyout ejabberd.pem -nodes -x509 -days 3650 -out ejabberd.cer $ echo "" >> ejabberd.pem $ cat ejabberd.cer >> ejabberd.pem $ chown ejabberd:ejabberd ejabberd.pem $ chmod 0400 ejabberd.pem $ rm ejabberd.cer ===== Включаем группу пользователей ===== Выбираем данные о пользователях. Пользователь должен быть: * Членом группы JabberUsers * В свойствах пользователя за закладке "Организация" должно быть заполнено поле "Отдел" - именно по нему осуществляется группировка {mod_shared_roster_ldap, [{ldap_groupattr,"department"}, {ldap_groupdesc,"department"}, {ldap_base, "dc=YOU-DOMAIN"}, {ldap_rfilter, "(&(memberOf=CN=JabberUsers,CN=Users,DC=YOU-DOMAIN)(|(userAccountControl=66050)(userAccountControl=66048)))"}, {ldap_memberattr,"sAMAccountName"}, {ldap_userdesc,"cn"} ] } ===== Информация из LDAP ===== Выбираем из LDAP информацию в нужном формате: {mod_vcard_ldap, [{ldap_vcard_map, [{"NICKNAME", "%u", []}, {"GIVEN", "%s", ["givenName"]}, {"MIDDLE", "%s", ["initials"]}, {"FAMILY", "%s", ["sn"]}, {"FN", "%s", ["displayName"]}, {"EMAIL", "%s", ["mail"]}, {"ORGNAME", "%s", ["company"]}, {"ORGUNIT", "%s", ["department"]}, {"CTRY", "%s", ["c"]}, {"LOCALITY", "%s", ["l"]}, {"STREET", "%s", ["streetAddress"]}, {"REGION", "%s", ["st"]}, {"PCODE", "%s", ["postalCode"]}, {"TITLE", "%s", ["title"]}, {"URL", "%s", ["wWWHomePage"]}, {"DESC", "%s", ["description"]}, {"TEL", "%s", ["telephoneNumber"]}]}, {ldap_search_fields, [{"User", "%u"}, {"Name", "givenName"}, {"Family Name", "sn"}, {"Email", "mail"}, {"Company", "company"}, {"Department", "department"}, {"Role", "title"}, {"Description", "description"}, {"Phone", "telephoneNumber"}]}, {ldap_search_reported, [{"Full Name", "FN"}, {"Nickname", "NICKNAME"}, {"Email", "EMAIL"}]} ]} ===== "Все видят всех" ===== Включаем в ejabber.cfg модуль mod_shared_roster, заходим через веб-интерфейс Виртуальные хосты -> ваш хост -> Группы общих контактов и добавляем новый: * Название: EveryBody * Описание: This group contains everybody * Члены: @all@ * Видимые группы: everybody ===== Доменная зона ===== Если необходимо автоматическое подключение к серверу, прописываем в DNS: * _jabber._tcp.company.ru. 3600 IN SRV 5 0 5269 company.ru. * _xmpp-server._tcp.company.ru. 3600 IN SRV 5 0 5269 company.ru. * _xmpp-client._tcp.company.ru. 3600 IN SRV 5 0 5222 company.ru. * jabber.company.ru. 3600 IN CNAME company.ru. * icq.company.ru. 3600 IN CNAME company.ru. Проверить все ли верно можно командой nslookup -type=SRV _xmpp-client._tcp.company.ru {{tag>ejabberd jabber ldap ad active_directory}}