====== Подключаем пользователей 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}}