Compiled ejabberd from source, but cant find the ejabberdctl command

Hello every1, i just compiled ejabberd for a intranet IM services implementation and i hope to get it to work authenticating the users against our already installed Active Directory.

However i am stuck in the first configuration steps since i cant find anywhere the ejabberdctl commant in order to create the admin user like this:

ejabberdctl node@host register admin example.org password

Just how do i invoke this command? I doubt it is done from the regular shell because there are no "regular" binary files generated by the compilation.

Any help will be appreciated.

What operating system do you

What operating system do you use?

See in the tools directory for ejabberdctl.

--
sander

I am using CentOS 4.3, which

I am using CentOS 4.3, which is based on Red Hat Enterprise Linux; cheching my generated RPM, there is no tools directory:

[root@NMU-IT-WSDB1 ejabberd]# rpm -ql ejabberd
/etc
/etc/ejabberd
/etc/ejabberd/ejabberd.cfg
/etc/ejabberd/ejabberd.cfg~
/var
/var/lib
/var/lib/ejabberd
/var/lib/ejabberd/ebin
/var/lib/ejabberd/ebin/ELDAPv3.beam
/var/lib/ejabberd/ebin/XmppAddr.beam
/var/lib/ejabberd/ebin/acl.beam
/var/lib/ejabberd/ebin/adhoc.beam
/var/lib/ejabberd/ebin/cyrsasl.beam
/var/lib/ejabberd/ebin/cyrsasl_anonymous.beam
/var/lib/ejabberd/ebin/cyrsasl_digest.beam
/var/lib/ejabberd/ebin/cyrsasl_plain.beam
/var/lib/ejabberd/ebin/ejabberd.app
/var/lib/ejabberd/ebin/ejabberd.beam
/var/lib/ejabberd/ebin/ejabberd_app.beam
/var/lib/ejabberd/ebin/ejabberd_auth.beam
/var/lib/ejabberd/ebin/ejabberd_auth_ad.beam
/var/lib/ejabberd/ebin/ejabberd_auth_anonymous.beam
/var/lib/ejabberd/ebin/ejabberd_auth_external.beam
/var/lib/ejabberd/ebin/ejabberd_auth_internal.beam
/var/lib/ejabberd/ebin/ejabberd_auth_ldap.beam
/var/lib/ejabberd/ebin/ejabberd_auth_odbc.beam
/var/lib/ejabberd/ebin/ejabberd_c2s.beam
/var/lib/ejabberd/ebin/ejabberd_config.beam
/var/lib/ejabberd/ebin/ejabberd_ctl.beam
/var/lib/ejabberd/ebin/ejabberd_hooks.beam
/var/lib/ejabberd/ebin/ejabberd_http.beam
/var/lib/ejabberd/ebin/ejabberd_http_poll.beam
/var/lib/ejabberd/ebin/ejabberd_listener.beam
/var/lib/ejabberd/ebin/ejabberd_local.beam
/var/lib/ejabberd/ebin/ejabberd_logger_h.beam
/var/lib/ejabberd/ebin/ejabberd_receiver.beam
/var/lib/ejabberd/ebin/ejabberd_router.beam
/var/lib/ejabberd/ebin/ejabberd_s2s.beam
/var/lib/ejabberd/ebin/ejabberd_s2s_in.beam
/var/lib/ejabberd/ebin/ejabberd_s2s_out.beam
/var/lib/ejabberd/ebin/ejabberd_service.beam
/var/lib/ejabberd/ebin/ejabberd_sm.beam
/var/lib/ejabberd/ebin/ejabberd_sup.beam
/var/lib/ejabberd/ebin/ejabberd_tmp_sup.beam
/var/lib/ejabberd/ebin/ejabberd_update.beam
/var/lib/ejabberd/ebin/ejabberd_web.beam
/var/lib/ejabberd/ebin/ejabberd_web_admin.beam
/var/lib/ejabberd/ebin/ejabberd_zlib.beam
/var/lib/ejabberd/ebin/ejd2odbc.beam
/var/lib/ejabberd/ebin/eldap.beam
/var/lib/ejabberd/ebin/extauth.beam
/var/lib/ejabberd/ebin/gen_iq_handler.beam
/var/lib/ejabberd/ebin/gen_mod.beam
/var/lib/ejabberd/ebin/iconv.beam
/var/lib/ejabberd/ebin/idna.beam
/var/lib/ejabberd/ebin/jd2ejd.beam
/var/lib/ejabberd/ebin/jlib.beam
/var/lib/ejabberd/ebin/mod_adhoc.beam
/var/lib/ejabberd/ebin/mod_announce.beam
/var/lib/ejabberd/ebin/mod_configure.beam
/var/lib/ejabberd/ebin/mod_configure2.beam
/var/lib/ejabberd/ebin/mod_disco.beam
/var/lib/ejabberd/ebin/mod_echo.beam
/var/lib/ejabberd/ebin/mod_irc.beam
/var/lib/ejabberd/ebin/mod_irc_connection.beam
/var/lib/ejabberd/ebin/mod_last.beam
/var/lib/ejabberd/ebin/mod_last_odbc.beam
/var/lib/ejabberd/ebin/mod_muc.beam
/var/lib/ejabberd/ebin/mod_muc_log.beam
/var/lib/ejabberd/ebin/mod_muc_room.beam
/var/lib/ejabberd/ebin/mod_offline.beam
/var/lib/ejabberd/ebin/mod_offline_odbc.beam
/var/lib/ejabberd/ebin/mod_privacy.beam
/var/lib/ejabberd/ebin/mod_private.beam
/var/lib/ejabberd/ebin/mod_pubsub.beam
/var/lib/ejabberd/ebin/mod_register.beam
/var/lib/ejabberd/ebin/mod_roster.beam
/var/lib/ejabberd/ebin/mod_roster_odbc.beam
/var/lib/ejabberd/ebin/mod_service_log.beam
/var/lib/ejabberd/ebin/mod_shared_roster.beam
/var/lib/ejabberd/ebin/mod_shared_roster_ad.beam
/var/lib/ejabberd/ebin/mod_stats.beam
/var/lib/ejabberd/ebin/mod_time.beam
/var/lib/ejabberd/ebin/mod_vcard.beam
/var/lib/ejabberd/ebin/mod_vcard_ad.beam
/var/lib/ejabberd/ebin/mod_vcard_ldap.beam
/var/lib/ejabberd/ebin/mod_vcard_odbc.beam
/var/lib/ejabberd/ebin/mod_version.beam
/var/lib/ejabberd/ebin/randoms.beam
/var/lib/ejabberd/ebin/sha.beam
/var/lib/ejabberd/ebin/shaper.beam
/var/lib/ejabberd/ebin/stringprep.beam
/var/lib/ejabberd/ebin/tls.beam
/var/lib/ejabberd/ebin/translate.beam
/var/lib/ejabberd/ebin/xml.beam
/var/lib/ejabberd/ebin/xml_stream.beam
/var/lib/ejabberd/priv
/var/lib/ejabberd/priv/lib
/var/lib/ejabberd/priv/lib/ejabberd_zlib_drv.so
/var/lib/ejabberd/priv/lib/expat_erl.so
/var/lib/ejabberd/priv/lib/iconv_erl.so
/var/lib/ejabberd/priv/lib/stringprep_drv.so
/var/lib/ejabberd/priv/lib/tls_drv.so
/var/lib/ejabberd/priv/msgs
/var/lib/ejabberd/priv/msgs/de.msg
/var/lib/ejabberd/priv/msgs/es.msg
/var/lib/ejabberd/priv/msgs/fr.msg
/var/lib/ejabberd/priv/msgs/nl.msg
/var/lib/ejabberd/priv/msgs/pl.msg
/var/lib/ejabberd/priv/msgs/pt-br.msg
/var/lib/ejabberd/priv/msgs/pt.msg
/var/lib/ejabberd/priv/msgs/ru.msg
/var/lib/ejabberd/priv/msgs/sv.msg
/var/lib/ejabberd/priv/msgs/uk.msg
[root@NMU-IT-WSDB1 ejabberd]# rpm -ql ejabberd|grep tools
[root@NMU-IT-WSDB1 ejabberd]#

I found the ejabberdctl

I found the ejabberdctl binary included in the tarball, i will test it and get back with results.

ejabberctl crashes

Ok, so i started my ejabberd service, i am attaching my running daemon info and after finding and attempting to run the ejabberctl program i get the following error message:

ejabberd 12023 0.0 0.1 3128 524 ? S 10:08 0:00 /usr/lib/erlang/erts-5.4.13/bin/epmd -daemon
ejabberd 12025 2.1 2.3 14636 9156 pts/0 S 10:08 0:01 /usr/lib/erlang/erts-5.4.13/bin/beam -- -root /usr/lib/erlang -progname erl -- -home /home/ejabberd -pa /var/lib/ejabberd/ebin -sname ejabberd -s ejabberd -ejabberd config "/etc/ejabberd/ejabberd.cfg" log_path "/var/log/ejabberd/ejabberd.log" -sasl sasl_error_logger {file,"/var/log/ejabberd/sasl.log"} -noshell -noinput
ejabberd 12028 0.0 0.3 5020 1200 ? Ss 10:08 0:00 /usr/lib/erlang/lib/ssl-3.0.11/priv/bin/ssl_esock
root 12039 0.0 0.1 2536 744 pts/0 R+ 10:09 0:00 ps auxww
[root@NMU-IT-WSDB1 tools]# ./ejabberdctl
{"init terminating in do_boot",{undef,[{ejabberd_ctl,start,[]},{init,start_it,1},{init,start_em,1}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

ejabberd_ctl.beam is not in

ejabberd_ctl.beam is not in your Erlang path when running ejabberdctl.

--
Mickaël Rémond
Process-one

Re: ejabberd_ctl.beam is not in

mremond wrote:

ejabberd_ctl.beam is not in your Erlang path when running ejabberdctl.

--
Mickaël Rémond
Process-one

How can I fix it??

solved for me

I solve this problem by replacing ejabberdctl from version 1.0.0 and now start and stop is OK.

You can try my patch to make

You can try my patch to make ejabberdctl more userfriendly.

  1. Add ejabberd.inetrc to the src/ directory.
  2. Add ejabberd_ctl.in to the src/ directory.
  3. Add ejabberdctl.in to the src/ directory.
  4. Apply the patch.
  5. Note that there still is a bug.
  6. Recompile your package.
  7. Install the package.
  8. Do "ejabberdctl shoconfig" to verify the settings.
  9. Eventually change settings in /etc/ejabberd/ejabberdctl.cfg
  10. Editi /etc/ejabberd/ejabberd.cfg (hostname and admin at least)
  11. Start ejabberd with "ejabberdctl start".
  12. Add the admin user you specified in the config with "ejabberdctl adminname hostname password

--
sander

clarify filenames pls

hi

points 2,3 have different files names to those in the bugzilla ref.

which do i use?
ejabberd_ctl.in ==> ?
ejabberdctl.in ==> ?

regards

john

Re: clarify filenames pls

ferriswheel wrote:

ejabberd_ctl.in ==> ?

This is a typo: "ejabberdctl default configuration" is ejabberd_cfg.in

ferriswheel wrote:

ejabberdctl.in ==> ?

And this is "the enhanced ejabberdctl".

RPM for CentOS or .spec file

Where can I get rpm for CentOS 4.3 or .spec file for ejabberd-1.1.1?

No solution to your problem, but

No solution to your problem, but you could create admin users
in your ejabberd.cfg file and restart ejabberd

Worked for me, first time I used ejabberd. I have also used ejabberdctl, which was slightly easier.

It's in the source

If you've downloaded the source code,
It's just under /tools

Syndicate content