我在Ubuntu Linux上尝试了ejabberd(ProcessOne网站上的最新版本),并将其配置为将数据存储在MySQL数据库中。
当我添加用户时,我可以在users表中看到它们,但是没有关于muc rooms的内容出现在任何表中。
看看指南,目前还不清楚ejabberd是否支持这一点。我需要轻松访问数据库中的muc房间信息,因为我们系统的其他部分将使用这些数据。
ejabberd(我使用v15.03)是否支持在外部数据库(如MySQL)中存储muc房间信息(房间jid,房间主题和房间聊天记录)? 如果没有,那么Openfire呢?你会推荐Openfire吗?
答案 0 :(得分:2)
ejabberd支持MUC的SQL后端。您需要配置mod_muc
才能使用正确的db_type
。请参阅mod_muc
ejabberd documentation
请注意:
mod_mam
答案 1 :(得分:1)
我不了解ejabberd,但Openfire提供了您需要的信息。 房间信息将存储在mysql(或其他数据库,如果你想)。
使用您可以访问的监控插件:https://www.igniterealtime.org/projects/openfire/plugins.jsp您还可以将muc房间消息存储在数据库中。
答案 2 :(得分:1)
要在MySQL中存储muc房间,请按如下方式修改ejabberd的配置文件:
mod_muc:
db_type: sql
default_room_options:
persistent: true
要查看存储的房间,请转到MySQL数据库并使用以下查询:
>select * from muc_room;