Configuration concept

From Kolab Wiki

Jump to: navigation, search

A quick hint about changing the Kolab configuration values:

First change the values in e.g. /kolab/etc/kolab/templates/httpd.conf.template. Then run

The /kolab/etc/httpd.conf file will then be created by kolabconf based on the template and the values in the LDAP database. If you make any changes to /kolab/etc/httpd.conf directly, they will be overwritten once you restart Kolab or run kolabconf.


The Kolab configuration concept


One of the central kolab concepts is the configuration system. The complete server bundles more than 10 different applications that need to have consistent configuration in order to work together. For users without extensive knowledge of the different server components like postfix, cyrus-imap, openldap etc. there exist a high number of pitfalls on the way to a functional installation. In order to avoid these pitfalls kolab automatizes the configuration process and allows you to setup the system with a minimum of fuss. This is done by providing a set of configuration templates in /kolab/etc/kolab/templates that will be converted into the necessary configuration files.

Distribution specific information (This information might apply if you run Kolab natively on non-OpenPKG distributions)
The templates for Gentoo can be found in

An example

There exists a slapd.conf template (source file) that will be written to /kolab/etc/openldap/slapd.conf. This is the standard configuration file for the OpenLDAP server. When processing a template to the final configuration file the kolab server will automatically replace some variables within the template from your server specific setup so that OpenLDAP operates smoothly within the context of your server environment. After writing a changed configuration file OpenLDAP will get automatically restarted thus taking the new configuration into account.


This procedure has it's advantages and disadvantages. It obviously saves you from bothering with the configuration details of each component. But on the other hand people expect a certain "behaviour" of the configuration files within /etc. Automatic changes to these files contradict the standard expectations of a user (which is reflected by the frequent requests on the kolab mailing list why this or that configuration change somehow got wiped away). In addition the way the kolab server propagates a configuration change is complex. A change in the administration web-frontend modifies the LDAP data and finally ends up in a changed configuration file which leads to the restart of a server component. This is a lot of possibly dangerous "magic". On the other hand most servers rely on files as configuration input so there are not that many alternatives if you want to automatize the configuration and remove that burden from the end user.


As a conclusion: Don't complain if your configuration files get overwritten. You chose to use the kolab server and know where the templates are. Any modifications to the kolab configuration should be made in there.

Personal tools