[ejabberd] mod_rest error after changing process user

Evgeny Khramtsov xramtsov at gmail.com
Wed Feb 14 09:05:44 MSK 2018


Wed, 14 Feb 2018 13:35:06 +1300
David Cunningham <dcunningham at voisonics.com> wrote:

> 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.
> 

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.


More information about the ejabberd mailing list