[Kolab-devel] Kolab XMPP Roundcube plugin

Paul Boddie paul at boddie.org.uk
Sat Apr 12 00:01:27 CEST 2014


On Friday 11. April 2014 22.46.37 Andreas Cordes wrote:
> Hello,
> 
> I'm a bit puzzled now.
> 
> converse.js is part of Kolab 3.2 so I should get it to work.

I didn't think it was fully part of Kolab 3.2, but it certainly has been 
packaged for Roundcube.

> My eJabberd is working and authenticates against the LDAP, fine so far.
> Two clients on Android are working (Xabber and SimpleXMPP Client), also
> the demo on https://conversejs.org is working with my eJabberd :-)
> 
> It must be a config issue in the plugin which brings the plugin to fail.
> 
> I'm always getting the message
> 
> E(<0.8414.0>:ejabberd_http_bind:1236) : You are trying to use BOSH (HTTP
> Bind) in host "zion-control.org", but the module mod_http_bind is not
> started in that host. Configure your BOSH client to connect to the
> correct host, or add your desired host to the configuration, or check
> your 'modules' section in your ejabberd configuration file.

I think the diagram on my blog post might be somewhat helpful here:

https://blogs.fsfe.org/pboddie/?p=741

I had to get everything straight in my mind to troubleshoot the configuration. 
As Torsten may have pointed out, what my diagrams refer to as the "Converse 
proxy" needs to be exposed on the same host as Roundcube to proxy 
communications with the HTTP binding service provided by ejabberd.

So, first of all, you need ejabberd to be offering the mod_http_bind service, 
which I do in my branch of pykolab like this:

http://git.kolab.org/pykolab/tree/pykolab/setup/setup_ejabberd.py?h=dev/boddie#n93

That's Python code which is serialised as Erlang code, but the gist of it 
should be understandable, especially since the service doesn't need any 
parameters. :-)

Then, unless ejabberd is on the same host, you need to configure something to 
proxy requests to the ejabberd service. Here's the template I use for Apache:

http://git.kolab.org/pykolab/tree/share/templates/converse-
proxy.tpl?h=dev/boddie

See also this documentation:

https://conversejs.org/docs/html/index.html#overcoming-cross-domain-request-
restrictions

> Of course the plugin should not ask for user/password again. Am I
> missing something?

ejabberd should be able to use the configured LDAP directory. Again, this is 
set up in my pykolab branch here:

http://git.kolab.org/pykolab/tree/pykolab/setup/setup_ejabberd.py?h=dev/boddie#n71

You should just be able to open the chat panel and see other users straight 
away, and chatting with them should just work.

> P.S.: Sorry Paul for the double post.

No problem!

Paul


More information about the devel mailing list