Новый пользователь дублируется на все виртуальные хосты - PullRequest
0 голосов
/ 05 января 2019

Каждый раз, когда я добавляю пользователя, он дублируется на всех виртуальных хостах. Я столкнулся с этой проблемой некоторое время и нашел способ ее решить, см. в этом посте , там говорится, что мне нужно настроить отдельную базу данных для каждого виртуального хоста.

Что я не могу понять, так это то, почему Ejabberd имеет такое поведение по умолчанию, в чем выгода?

А как насчет mod_mam ? Как я могу настроить его для хранения каждого сообщения в своей собственной базе данных?

Мой ejabberd.yml (конфигурация mod_mam в строке 113)

Спасибо. :)

1 Ответ

0 голосов
/ 07 января 2019

и нашел способ ее решить

Начиная с последних версий ejabberd, вы можете использовать новую схему SQL и настроить ejabberd для ее использования, см. В

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

Что я не могу понять, так это то, почему у Эджаберда такое поведение по умолчанию в во-первых, в чем выгода?

Одной из возможностей является экономия места для очень больших серверов. Конечно, при наличии множества небольших серверов предпочтительно использовать одну базу данных.

А как насчет 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]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...