Discussion:
[ejabberd] mod_rest error after changing process user
David Cunningham
2018-02-14 00:35:06 UTC
Permalink
Hello,

We're looking for some advice with ejabberd dying. It's version 18.01,
installed using the .rpm from process-one.net.

We need the daemon to run as a non-standard user and:
- Updated the ownership of all files in /opt/ejabberd and
/opt/ejabberd-18.01
- Changed the USER variable in /etc/init.d/ejabberd
- Changed the INSTALLUSER, ROOT_DIR, and HOME_DIR in ejabberdctl

Now it seems to start until it gets to the error below. Can anyone help?
Thank you in advance.

2018-02-14 13:19:43.419 [warning] <0.323.0>@gen_mod:get_validators:495
module 'mod_rest' doesn't export mod_opt_type/1
2018-02-14 13:19:43.428 [critical] <0.323.0>@gen_mod:start_module:212
Problem starting the module mod_rest for host 127.0.0.1
options: [{allow,[[{ip,<<"127.0.0.1/32">>}]]}]
error: undef
[{mod_rest,start,[<<"127.0.0.1">>,[{allow,[[{ip,<<"127.0.0.1/32
">>}]]}]],[]},
{gen_mod,start_module,4,[{file,"src/gen_mod.erl"},{line,200}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},
{gen_mod,start_link,0,[{file,"src/gen_mod.erl"},{line,79}]},
{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,365}]},
{supervisor,start_children,3,[{file,"supervisor.erl"},{line,348}]},
{supervisor,init_children,2,[{file,"supervisor.erl"},{line,314}]},
{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]}]
2018-02-14 13:19:43.428 [critical]
<0.323.0>@gen_mod:maybe_halt_ejabberd:294 ejabberd initialization was
aborted because a module start failed.
--
David Cunningham, Voisonics Limited
http://voisonics.com/
USA: +1 213 221 1092
New Zealand: +64 (0)28 2558 3782
Australia: +61 (0)2 8063 9019
Evgeny Khramtsov
2018-02-14 06:05:44 UTC
Permalink
Wed, 14 Feb 2018 13:35:06 +1300
Post by David Cunningham
Hello,
We're looking for some advice with ejabberd dying. It's version 18.01,
installed using the .rpm from process-one.net.
- Updated the ownership of all files in /opt/ejabberd and
/opt/ejabberd-18.01
- Changed the USER variable in /etc/init.d/ejabberd
- Changed the INSTALLUSER, ROOT_DIR, and HOME_DIR in ejabberdctl
Now it seems to start until it gets to the error below. Can anyone
help? Thank you in advance.
module 'mod_rest' doesn't export mod_opt_type/1
Problem starting the module mod_rest for host 127.0.0.1
options: [{allow,[[{ip,<<"127.0.0.1/32">>}]]}]
error: undef
[{mod_rest,start,[<<"127.0.0.1">>,[{allow,[[{ip,<<"127.0.0.1/32
">>}]]}]],[]},
{gen_mod,start_module,4,[{file,"src/gen_mod.erl"},{line,200}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},
{gen_mod,start_link,0,[{file,"src/gen_mod.erl"},{line,79}]},
{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,365}]},
{supervisor,start_children,3,[{file,"supervisor.erl"},{line,348}]},
{supervisor,init_children,2,[{file,"supervisor.erl"},{line,314}]},
{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]}]
2018-02-14 13:19:43.428 [critical]
aborted because a module start failed.
The error is a bit cryptic, so I've improved it recently. What it says
is that ejabberd doesn't see file mod_rest.beam. You should find where
all ejabberd *.beam files reside and copy mod_rest.beam there. Another
way is to set CONTRIB_MODULES_PATH variable in ejabberdctl.cfg and put
mod_rest.beam in that directory.
David Cunningham
2018-02-14 07:14:51 UTC
Permalink
Hi Evgeny,

Thank worked, thank you!
Post by Evgeny Khramtsov
Wed, 14 Feb 2018 13:35:06 +1300
Post by David Cunningham
Hello,
We're looking for some advice with ejabberd dying. It's version 18.01,
installed using the .rpm from process-one.net.
- Updated the ownership of all files in /opt/ejabberd and
/opt/ejabberd-18.01
- Changed the USER variable in /etc/init.d/ejabberd
- Changed the INSTALLUSER, ROOT_DIR, and HOME_DIR in ejabberdctl
Now it seems to start until it gets to the error below. Can anyone
help? Thank you in advance.
module 'mod_rest' doesn't export mod_opt_type/1
Problem starting the module mod_rest for host 127.0.0.1
options: [{allow,[[{ip,<<"127.0.0.1/32">>}]]}]
error: undef
[{mod_rest,start,[<<"127.0.0.1">>,[{allow,[[{ip,<<"127.0.0.1/32
">>}]]}]],[]},
{gen_mod,start_module,4,[{file,"src/gen_mod.erl"},{line,200}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},
{gen_mod,start_link,0,[{file,"src/gen_mod.erl"},{line,79}]},
{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,365}]},
{supervisor,start_children,3,[{file,"supervisor.erl"},{line,348}]},
{supervisor,init_children,2,[{file,"supervisor.erl"},{line,314}]},
{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]}]
2018-02-14 13:19:43.428 [critical]
aborted because a module start failed.
The error is a bit cryptic, so I've improved it recently. What it says
is that ejabberd doesn't see file mod_rest.beam. You should find where
all ejabberd *.beam files reside and copy mod_rest.beam there. Another
way is to set CONTRIB_MODULES_PATH variable in ejabberdctl.cfg and put
mod_rest.beam in that directory.
_______________________________________________
ejabberd mailing list
http://lists.jabber.ru/mailman/listinfo/ejabberd
--
David Cunningham, Voisonics Limited
http://voisonics.com/
USA: +1 213 221 1092
New Zealand: +64 (0)28 2558 3782
Australia: +61 (0)2 8063 9019
Loading...