problem following tutorial "Install JWChat with ejabberd's HTTP-Bind and file server"

Hi all,

This is my first ejabberd install, I wish to provide a web based IM client. JWChat looks just the Job.

I am running Ubuntu 8.10, I have installed ejabberd via apt and edited the config file as demonstrated in the tutorial for installing on Debian / Ubuntu and then the tutorial per the subject. I see the following errors:

ejabberd.log -

=ERROR REPORT==== 2008-06-27 00:33:53 ===
E(<0.1360.0>:gen_mod:47): {undef,[{mod_http_bind,start,["vmware1",[]]},
                                  {gen_mod,start_module,3},
                                  {lists,foreach,2},
                                  {ejabberd_app,start,2},
                                  {application_master,start_it_old,4}]}

=ERROR REPORT==== 2008-06-27 00:33:53 ===
E(<0.1360.0>:gen_mod:47): {undef,
                           [{mod_http_fileserver,
                             start,
                             ["vmware1",
                              [{docroot,"/var/lib/ejabberd/www"},
                               {accesslog,
                                "/var/log/ejabberd/webaccess.log"}]]},
                            {gen_mod,start_module,3},
                            {lists,foreach,2},
                            {ejabberd_app,start,2},
                            {application_master,start_it_old,4}]}

To me that sounds like the modules have not been found. Looking through the installed files I have ejabberd_http_bind.beam and ejabberd_http.beam which sounds kind of right.

http://vmware1:5280/http-bind -

XML Parsing Error: no element found
Location: http://192.168.1.102:5280/http-bind
Line Number 1, Column 1:
^

http://vmware1:5280/web/jwchat/index.html -

Not found

Any help would be much appreciated.

My entire config is below

{acl, admin, {user, "admin", "vmware1"}}.
{hosts, ["vmware1"]}.
{acl, local, {user_regexp, ""}}.
{access, pubsub_createnode, [{allow, all}]}.
{access, configure, [{allow, admin}]}.
{access, register, [{allow, all}]}.
{welcome_message,
{"Welcome!",
  "Welcome to Debian Jabber Service.  "
  "For information about Jabber visit http://jabber.org"}}.
{access, announce, [{allow, admin}]}.
{access, c2s, [{deny, blocked},
               {allow, all}]}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{access, c2s_shaper, [{none, admin},
                      {normal, all}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, local, [{allow, local}]}.
{auth_method, internal}.
{max_user_sessions, 10}.
{language, "en"}.
{listen,
[{5222, ejabberd_c2s,     [{access, c2s},
                            {max_stanza_size, 65536},
                            starttls, {certfile, "/etc/ejabberd/ejabberd.pem"},
                            {shaper, c2s_shaper}]},
  {5223, ejabberd_c2s,     [{access, c2s},
                            {max_stanza_size, 65536},
                            tls, {certfile, "/etc/ejabberd/ejabberd.pem"},
                            {shaper, c2s_shaper}]},
  {5280, ejabberd_http,    [
                            {request_handlers, [
                                                {["web"], mod_http_fileserver}
                                               ]},
                            http_bind,
                            http_poll,
                            web_admin
                           ]}
]}.
{modules,
[
  {mod_adhoc,      []},
  {mod_announce,   [{access, announce}]}, % Depends on mod_adhoc
  {mod_register,   [{access, register}]},
  {mod_roster,     []},
  {mod_privacy,    []},
  {mod_configure,  []}, % Depends on mod_adhoc
  {mod_configure2, []},
  {mod_disco,      []},
  {mod_stats,      []},
  {mod_vcard,      []},
  {mod_offline,    []},
  {mod_echo,       []},
  {mod_private,    []},
  {mod_muc,        [{access, muc},
                    {access_create, muc},
                    {access_admin, muc_admin}]},
  {mod_pubsub,     [{access_createnode, pubsub_createnode}]},
  {mod_caps,       []},
  {mod_time,       []},
  {mod_last,       []},
  {mod_version,    []},
  {mod_http_bind,  []},
  {mod_http_fileserver, [
                         {docroot, "/var/lib/ejabberd/www"},
                         {accesslog, "/var/log/ejabberd/webaccess.log"}
                        ]}
]}.

mod_http_bind.beam and mod_http_fileserver.beam not found

MJH wrote:

To me that sounds like the modules have not been found. Looking through the installed files I have ejabberd_http_bind.beam and ejabberd_http.beam which sounds kind of right.

The error messages probably appear because the files mod_http_bind.beam and mod_http_fileserver.beam where not found.

Looks like the new release

Looks like the new release addresses some issues in this area. I will try again with the new release as time allows. Thanks for the pointers.

Where to get old lib

Hi

you propose to get mod_http_fileserver.beam
Where do I get this? I tried it on http://www.process-one.net/en/ejabberd/downloads/
But there are no old versions there

ah nm found it here https://support.process-one.net/browse/EJAB-640?focusedCommentId=21403#a...

Are you using ejabberd 2.0.1...?

I was on version 2.0.0, and had no issues with JWChat (using HTTP_bind). I recently upgraded to 2.0.1, and all works fine except for JWChat. I did find this bug report - https://support.process-one.net/browse/EJAB-640 - which indicates that some dependent files were omitted from the 2.0.1 installer, and that the fix should be in 2.0.2. There is apparently a fix involving updating (or adding?) some inet* files, but the instructions are unclear and the download links are broken. I am trying to figure this out, and will post back if I do.

In the meantime, I guess ejabberd 2.0.0 is the way to go...?

*******************************
ejabberd 2.0.1 on OpenSuSE 10.2

Other solution: use mod_http_fileserver.beam from ejabberd 2.0.0

Summary:

  • mod_http_fileserver in ejabberd 2.0.0 didn't require the inets library, so it wasn't included in the binary installers ---> all works ok
  • mod_http_fileserver in ejabberd 2.0.1 requires the inets library, but due to a mistake, that library wasn't included in the binary installers ---> problem!
  • mod_http_fileserver in ejabberd 2.0.2 will require the inets library, and this time it will be included in the binary installers ---> all will work correctly again

The initially proposed solution was:

  1. Install ejabberd 2.0.1
  2. Copy the binary files of inets library, so mod_http_fileserver works correctly

I've commented another solution, that I think is even simpler:

  1. Install ejabberd 2.0.1
  2. Copy the mod_http_fileserver.beam that was released in ejabberd 2.0.0, because it didn't require inets.

Previous mod_http_fileserver.beam did the trick!

Thanks Badlop - that fixed it!

*******************************
ejabberd 2.0.1 on OpenSuSE 10.2

Syndicate content