Paul A Houle wrote:
(1) I've evolved a nice system for implementing virtual hosts (directory
layouts, using Include directives to segment configuration) files that
benefits from years of mistakes that I and others have made. I'm
wondering if there's any interest in refactoring the apache conf file
into a number of separate files to reflect "better practices" than the
current default conf file. The idea isn't to force people to change,
but to encourage future installations to be more managable. I'll be
happy to give more specifics if people are interested.
The most recent development branch has started on this process:
http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/
The main goal was simplification rather than manageability for complex
configs.
Suggestions for improvement are always welcome.
(2) This particular system has a production and a test instance, so I'd
love to have a way to set variables that I can interpolate into
arbitrary strings.
- mod_macro
- config pre-processor (m4, etc)
httpd.conf is a config file, not a programming language.
Another case where I might like macros (but settled for using an
Include) is filling out all the auth configuration for <Directory>
files. A whole bunch of vhosts will share a users and group file across
a number of directories. It's really a drag to specify four
configuration parameters per-<Directory> that are the same everywhere,
and some way to repeat this would be welcome.
It's hard to tell exactly what you want, but wildcard <Directory>
sections can often be used in cases like this.
(4) Once again I'm stung by the inability to make AND criteria stick.
For instance, we have 2 kinds of people working on N projects:
developers and designers. All of these projects have certain
directories that developers are interested in and others that designers
are interested on. I'd like to say something like
require group projectA AND group developer
Preprocess the groups file to add a projectAanddeveloper group?
Apache httpd has tried to keep the unix design philosophy of doing one
thing well and using a tool chain to do complicated things.
Joshua.