cyler 05.06.2013 15:37

Есть вопрос!ejabberd общий ростер для разных доменов.

Добрый день!
Дело такое, стоит CDS с настроенным доменом например domen.local, там же настроен jabber сервер для внутренненго чата, с списке нормально отображаются всё заведённые пользователи, но появилась задача, пробросить порт ejabberd наружу и заходить в чат с внешки. Собственно прокинул порт 5223, в ejabberd.cfg в hosts добавил внешний домен, например domen2.ru, создал пользователя, настроил его в миранде дома и тут возникает вопрос, что нужно сделать чтобы моего нового пользователя было видно в общем списке для всех пользователей домена domen.local и чтобы их всех мог видеть я!
Подскажите пожалуйста как это реализовать.
Заранее благодарен за ответы)

ejabberd сервер в составе Calculate Directory server.
Конфиг ejabberd.cfg:
  1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
%%%
%%% ejabberd configuration file
%%%

{loglevel, 5}.
{hosts, ["localhost", "SERVER-04.domen.local", "jabber.domen.local", "domen2.ru"]}.
{listen,
[
{5223, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
{certfile, "/etc/jabber/ssl.pem"}, tls,
{max_stanza_size, 65536}
]},

{5269, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{certfile, "/etc/jabber/ssl.pem"}, tls,
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_poll,
web_admin
]}

]}.
{auth_method, ldap}.
{ldap_servers, ["localhost"]}.
{ldap_uids, [{"mail", "%u@*"}]}.
{ldap_base, "ou=Jabber,ou=Services,dc=calculate"}.
{ldap_rootdn, "ou=Jabber,ou=Services,dc=calculate"}.
{ldap_filter, "(initials=Yes)"}.
{ldap_password, "OhICZjp02"}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{acl, admin, {user, "admin", "SERVER-04.domen.local"}}.
{acl, local, {user_regexp, ""}}.
{access, max_user_sessions, [{10, all}]}.
{access, local, [{allow, local}]}.
{access, c2s, [{deny, blocked},
{allow, all}]}.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, pubsub_createnode, [{allow, all}]}.
{access, register, [{allow, all}]}.
{host_config, "localhost",
[
{access, c2s, [{allow, admin}, {deny, all}]},
{access, register, [{deny, all}]}
]
}.
{language, "en"}.
{modules,
[
{mod_adhoc, []},
{mod_announce, [{access, announce}]}, % recommends mod_adhoc
{mod_caps, []},
{mod_configure,[]}, % requires mod_adhoc
{mod_disco, []},
{mod_last, []},
{mod_muc, [
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin}
]},
{mod_offline, []},
{mod_privacy, []},
{mod_private, []},
{mod_pubsub, [ % requires mod_caps
{access_createnode, pubsub_createnode},
{plugins, ["default", "pep"]}
]},
{mod_register, [
{welcome_message, {"Welcome!" }},
{registration_watchers, ["it@SERVER-04.domen.local"]},
{ip_access, [{allow, "0.0.0.0/0"}]},
{access, regiter}
]},
{mod_roster, []},
{mod_shared_roster,[]},
{mod_shared_roster_ldap,
[{ldap_groupattr, "departmentNumber"},
{ldap_groupdesc, "departmentNumber"},
{ldap_memberattr, "cn"},
{ldap_memberattr_format, "%u"},
{ldap_rfilter, "(objectClass=inetOrgPerson)"},
{ldap_userdesc, "sn"}
]
},
{mod_stats, []},
{mod_time, []},
{mod_vcard_ldap,[
{ldap_vcard_map,
[{"NICKNAME", "%s", ["sn"]},
{"FN", "%s", ["displayName"]},
{"FAMILY", "%s", ["sn"]},
{"GIVEN", "%s", ["givenName"]},
{"MIDDLE", "%s", ["initials"]},
{"ORGNAME", "%s", ["o"]},
{"ORGUNIT", "%s", ["ou"]},
{"CTRY", "%s", ["c"]},
{"LOCALITY", "%s", ["l"]},
{"STREET", "%s", ["street"]},
{"REGION", "%s", ["st"]},
{"PCODE", "%s", ["postalCode"]},
{"TITLE", "%s", ["title"]},
{"URL", "%s", ["labeledURI"]},
{"DESC", "%s", ["description"]},
{"TEL", "%s", ["telephoneNumber"]},
{"EMAIL", "%s", ["mail"]},
{"BDAY", "%s", ["birthDay"]},
{"ROLE", "%s", ["employeeType"]},
{"PHOTO", "%s", ["jpegPhoto"]}
]}
]},
{mod_version, []}
]}.



Тэги: Calculate Directory server ejabberd Jabber
+ 0 -
Похожие Поделиться

Dark_SS 05.06.2013 16:21 #
Если при логине вместо username указывать username@host, тогда у юзера будет сохраняться ростер, к какому бы хосту он ни коннектился. Но не все клиенты это поддерживают. Vacuum точно умеет.
cyler 05.06.2013 16:38 #
там пользователи, которые заведены в домен и ростер у них свой на всех, вопрос был в том чтобы пользователь username@domen1 мог видеть всех пользователей типа username@domen2? от клиента тут ничего не звисит...
Dark_SS 05.06.2013 17:52 #
От клиента зависит, можно ли использовать описанный мной трюк. Создаёте юзернейма в том домене, где все пользователи, и дружите с ними, а к другим доменам подключаетесь описанным мной способом.
cyler 07.06.2013 21:37 #
Спасибо, прокатило... вот как бы такой трюк в миранде сделать?
Dark_SS 08.06.2013 14:23 #
Я не знаком с мирандой :)
dront78 08.06.2013 15:16 #
В бактрекере ench завести