[Kolab-devel] Hosting multiple domains

Timotheus Pokorra timotheus at pokorra.de
Wed Apr 3 13:15:18 CEST 2013


Hello Jeroen,

Thank you for your detailed reply!

[...]
> Also, again for hosted deployments of size, cn=kolab,cn=config can not easily
> be replicated across multiple LDAP servers - in case you were considering to
> set up multiple LDAP servers for redundancy / high-availability / load-
> balancing.
For TBits, we do not have that many domains (< 50), so I think we
should be fine with a single LDAP server.

[...]
> I think a large chunk of this process has been coded once before, as part of
> our little Net_LDAP3 PHP library[2], in an effort to make multi-domain logins
> available as part of the Web Administration Panel (+ API).
At the moment, I can login to the webadmin and to Roundcube with the
email address, and get to the right domain. This works fine.
I am quite new to all the LDAP stuff, so I try to avoid to change too
much there against the standard Kolab.

> What I would like us to consider is how code can be made adaptive (so no
> "<?php $domain_base_dn='dc=foo,dc=bar';?>" code is needed on a per domain name
> space basis), and attempt to avoid to need to write out configuration files
> just to be able to automatically serve up a new domain name space (that was
> just created). I think this would both serve the single vhost and multiple
> vhost scenario best.
I assume you are refering to the entries in kolab.conf?
I am wondering that we still need the entries in kolab.conf for each
domain, eg. for the autocreate_folders and primary email address etc,
not just for the base_dn.
In Kolab2, I was told, the kolabd did check the LDAP for new domains,
and wrote to the config files. Is that correct?
Torsten Grote talked about the idea of having a cronjob checking for
new domains that have been added in the Web Administration Panel, and
then modify the kolab.conf from that cronjob.
Could this be a way to automate the adding of new domains, without the
need of manually running a script like my adddomain.sh? [1]
Could this be a way forward? Should I convert the bash script to python?

Just for my own clarification: the Web Administration Panel calls
_domain_add_new($domain) in [2] for adding a new domain.
The Kolab Python Utils [3] only use the wap_client which is basically
a wrapper around the Web Administration Panel.

What is currently the task of kolabd? [4]

Thanks for looking into this,
  Timotheus

[1]: https://gist.github.com/tpokorra/5244642
[2]: https://git.kolab.org/kolab-wap/tree/lib/Auth/LDAP.php#n975
[3]: https://git.kolab.org/pykolab/tree/pykolab/cli/cmd_add_domain.py
[4]: https://git.kolab.org/pykolab/tree/kolabd




More information about the devel mailing list