新用户被复制到所有虚拟主机

时间:2019-01-05 13:39:43

标签: configuration ejabberd

每次添加用户时,它都会复制到所有虚拟主机。我已经面对这个问题已有一段时间了,并找到了解决问题的方法,请参见this post,它说我必须为每个虚拟主机配置一个单独的数据库。

我不明白的是,为什么埃贾伯德首先拥有这种默认行为,这样做有什么好处?

mod_mam又如何呢?如何配置它以将每条消息存储到自己的数据库中?

My ejabberd.yml(第113行的mod_mam配置)

谢谢。 :)

1 个答案:

答案 0 :(得分:2)

  

找到解决方法

从ejabberd的最新版本开始,您可以使用新的SQL模式,并配置ejabberd以使用它,请参见

https://docs.ejabberd.im/admin/configuration/#relational-databases

  

我不明白的是为什么Ejabberd在   首先,这样做有什么好处?

一种可能性是为大型服务器节省空间。当然,当拥有许多小型服务器时,最好使用一个数据库。

  

那么mod_mam呢?如何配置它以存储每个消息   进入自己的数据库?

此模块与其他模块相同:如果将其配置为使用“ sql”存储,并且将ejabberd配置为将某个数据库用于主机“ example.net”,而将另一个数据库用于“ example .com” ...,然后mod_mam将使用正确的SQL数据库来存储MAM消息,具体取决于要存储它们的用户。

https://docs.ejabberd.im/admin/configuration/#virtual-hosting部分中的第一和第二个示例配置

另一方面,如果使用新的SQL模式,则仅定义一个数据库,因此不会出现那些疑问。

[也在https://github.com/processone/ejabberd/issues/2752中也问过]