На Debian 7 поднят AD на Samba4. Работает прекрасно - тут проблем нет.
На этом же сервера поднят eJabberd 2.1.10 из стандартного репозитория с авторизацией через LDAP в AD - тоже все взлетело практически и сразу.
Теперь, что бы вся толпа пользователей не искала друг-друга и не добавляла вручную нужно сделать общею группу контактов, что бы все видели всех. С mod_shared_roster все достаточно просто настраивалось через Web, тут же (с mod_shared_roster_ldap) в Web ничего настроить нельзя - только через конфиг. Не пойму, то ли mod_shared_roster_ldap не входит в версию ejabberd из коробки, то ли я чего настраиваю не так...
Пробовал так:
{mod_shared_roster_ldap,
[
{ldap_base, "ou=Jabber,dc=domain,dc=local"},
{ldap_rfilter, "(cn=Group)"},
{ldap_gnfilter, "(distinguishedName=%g)"},
{ldap_groupattr, "distinguishedName"},
{ldap_groupdesc, "description"},
{ldap_gfilter, "(memberOf=%g)"},
{ldap_memberattr, "sAMAccountName"}
]
}
и так:
{mod_shared_roster_ldap,
[
{ldap_base, "ou=Jabber,dc=domain,dc=local"},
{ldap_rfilter, "(cn=Group)"},
{ldap_filter, ""},
%%{ldap_gnfilter, "(distinguishedName=%g)"},
{ldap_ufilter, "(&(uid=%u) (memberOf=CN=CPS,OU=Jabber,DC=domain,DC=local))"},
{ldap_groupdesc, "description"},
{ldap_memberattr_format, "uid=%u,ou=Jabber,dc=domain,dc=local"},
{ldap_gfilter, "(cn=Group)"},
{ldap_groupattr, "cn"},
{ldap_memberattr, "member"},
{ldap_userid, "uid"},
{ldap_userdesc, "cn"}
]
}
Оба варианта не работают...
В AD есть подразделение Jabber, в котором лежат пользователи которых нужно показать всем показать в группе. В этом же подразделении находится группа Group, которой принадлежать все пользователи (в этом подразделении). Варианта два - либо показывать всех пользователей подразделения, либо только тех которые ещё принадлежать и группе... Остановился на втором, но сейчас уже хоть бы как нибудь заставить появиться общею группу... Желательно конечно с пользователями внутри...
Помогите, пожалуйста, правильно настроить mod_shared_roster_ldap ?..