Содержание

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

Включаем группу пользователей

Выбираем данные о пользователях. Пользователь должен быть:

{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, заходим через веб-интерфейс Виртуальные хосты → ваш хост → Группы общих контактов и добавляем новый:

Доменная зона

Если необходимо автоматическое подключение к серверу, прописываем в DNS:

Проверить все ли верно можно командой

nslookup -type=SRV _xmpp-client._tcp.company.ru