Ejabberd:无法启用mod_mam

时间:2017-01-27 01:43:21

标签: mysql erlang ejabberd

我在Ubuntu 16.4上运行Ejabberd 17.01,我需要记录数据库中的所有消息。使用模块mod_mam,这应该是简单的任务。到目前为止我根据official documentation

做了什么
  • 创建MySQL数据库
  • 导入Ejabberd安装附带的架构
  • ejabberd.yml配置文件
  • 中进行以下更改

代码段:

auth_method: sql
default_db: sql
...

## MySQL server:
##
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "someuser"
sql_password: "somepassword"
...

原则上,这似乎有效。当我创建新用户或用户创建自己的帐户时,我可以看到相应MySQL表的添加内容。这意味着我可以使用数据库并且可以访问它。

但现在我要启用mod_mam。根据Web上的文档和其他来源,这看起来应该是这样的:

modules:
  mod_mam:  % <-- I had "mom_mam" here. Didn't notice the typo in the error message.
    iqdisc: no_queue
    db_type: sql
    default: always

然而,由此,Ejabberd未能开始抛出以下错误:

2017-01-27 08:44:50.242 [critical] <0.39.0>@gen_mod:start_module:162 Problem starting the module mom_mam for host <<"xxx.xxx.xxx.xxx">> 
options: [{iqdisc,no_queue},{db_type,sql},{default,always}]
error: undef
[{mom_mam,start,
          [<<"xxx.xxx.xxx.xxx">>,
          [{iqdisc,no_queue},{db_type,sql},{default,always}]],
          []},
{gen_mod,start_module,3,[{file,"src/gen_mod.erl"},{line,154}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1337}]},
{ejabberd_app,start,2,[{file,"src/ejabberd_app.erl"},{line,77}]},
{application_master,start_it_old,4,
                    [{file,"application_master.erl"},{line,273}]}]
2017-01-27 08:44:50.242 [critical] <0.39.0>@gen_mod:maybe_halt_ejabberd:170 ejabberd initialization was aborted because a module start failed.

我在网上找不到任何东西,它似乎通常都能正常工作。

0 个答案:

没有答案