我正在尝试在 Centos 5 上为 ejabberd 配置多用户聊天。但我就是无法让它工作。
我可以使用 Psi 创建群聊室,但似乎无法从其他帐户加入。
我从 rpm 安装了 ejabberd,并且基本上只是配置了主机名。
用户对用户即时消息可以正常使用,但 MUC 不行。我已为 SSL 打开端口 5222 和 5223。MUC 是否通过其他端口运行?
另外,当我在一个客户端上创建聊天室时,我必须在另一个客户端中使用服务发现,并尝试特定节点 1 到 5。这只会用于小型企业消息传递系统,那么有没有办法让 ejabberd 只创建 1 个节点?
答案1
最好查看您的实际配置,但 MUC 通常必须作为服务启用。服务发现确实是发现 MUC 服务和浏览聊天室的方式,但客户端应该能够将它们加入书签或放入名册中以供下次使用。
无论如何,/etc/ejabberd/ejabberd.cfg
你启用了 吗mod_muc
?如果启用了,你能粘贴设置吗?在我的 ejabberd 服务器上,我使用:
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin},
{history_size, 50},
{max_users, 500},
{default_room_options,
[
{allow_change_subj, true},
{allow_private_messages, true},
{allow_user_invites, true},
{anonymous, true},
{logging, true},
{members_by_default, true},
{persistent, true},
{public, true},
{public_list, false}
]}
]},
{mod_muc_log, [
{access_log, muc},
{dirtype, plain},
{dirname, room_jid},
{outdir, "/var/www/muclogs"},
{timezone, universal},
{spam_prevention, true}
]},
在您的访问规则中您还应该包括:
%% Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}.
%% All users are allowed to use MUC service:
{access, muc, [{allow, all}]}.
对我来说,这种方式非常完美。当然,您可能不需要日志文件等,只需调整相应的设置即可。ejabberd 主页上有可用选项的详尽文档。