Hi all, we are about to extend the Apache Module "mod_vhost_ldap". This module is able to manage vhosts directly from ldap. Our goal is to completely manage vhost configuration over ldap including parameters from external modules like mod_dav, php and so on. Our plan is to extend this module and release it under the same license as the original mod_vhost_ldap.
The module homepage can be found at http://modvhostldap.alioth.debian.org/ Originally this module is designed to store the following parameters in ldap: - ServerName - ServerAlias - ServerAdmin - DocumentRoot - ScriptAlias - PhpOpenBaseDir and a few more... We read many about writing plugins for apache2 but never found a working solution for our problems. - The first problem we discovered is how to handle multiple vhosts with different IPs and Ports (e.g. to use https in a vhost). Normally these two parameters are written in an apache config when entering a new vhost like this example: <VirtualHost 123.123.123.132:80> But where are these parameters read ? We found something about doing a dns lookup when initializing a new vhost but we did not found the code where these 2 parameters are read out of a config file. We also analysed the source code of apache2 and found the functions we need to realize e.g. a <Directory>-Directive. But we don't know how we can implement something like this in a module. Retrieving from ldap is not the real problem but how to tell apache that now a <Directory>-Directive in a specific vhost is following. Is there a chance to get something like this working using the apache module API ? We thought about just call a given function in apache2 itself and return the needed values for vhost configuration. The next question is how to handover parameters like "SSLEngine On" from our module mod_vhost_ldap into mod_ssl also used by apache ? Is it mod_vhost_ldap -> apache2 or mod_vhost_ldap -> mod_ssl and how is this handled by apache ? So far we already designed the scheme for ldap implementing most of the features we want to use in the apache module. If you are interested in this we can mail it to you. Also if you are interested to take part - every helping hand is welcome :) At the beginning we didn't thought this would become a large thing but after some reading we got disabused :) Greets Andreas and Max
