Extensible httpd.conf for test set-ups
For automated testing, each image (representing a "bundle" or "configuration") requires a httpd.conf
file with the individual settings for the test set-up.
In practice, there are only few differences between the httpd.conf
files of test set-ups - e.g. configurations/dav
and configurations/mpm-itk-dav
.
Yet the copy-pasting of httpd.conf
files makes creation and maintenance of test set-ups cumbersome when changes to the base httpd.conf
should be propagated to changes copies.
Also, the changes in individual httpd.conf
files are not readable.
A system for extending http.conf
files would help with this.
A basic httpd.conf
loading only a minimal set of modules and configuring the most basic settings would be the basis can could be extended by further .conf
files (just as is commonly configured on production systems with conf.d
).
.conf
files could be further extended for creating lightweight variations of test set-ups (e.g. production-config#11 (closed) requires a test with DirectoryIndex
enabled and disabled).
The result could look like this:
httpd.conf
conf.d/
conf.d/000-base.load
conf.d/000-base.conf
conf.d/010-dav-test.load
conf.d/010-dav-test.conf
conf.d/020-directory-index-disabled-variation.conf
The files could be included either in a common httpd
image used as the basis for the images to be tested or be placed in this repository which is included as a submodule by other repositories.
Apache modules may possibly have to be loaded earlier than other directives, requiring the split of some configuration into a .load
file (with only LoadModule
directives) and a .conf
file (with configuration).