httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Re: Shorten the default config and the distribution (was: IfModule in the Default Config)
Date Tue, 14 Sep 2004 17:32:31 GMT
At 10:21 AM 9/14/2004, Joshua Slive wrote:

>On Tue, 14 Sep 2004, [ISO-8859-15] André Malo wrote:
>>A >30 KB default config, which nobody outside this circle here
>>really understands, isn't helpful - especially for beginners.
>I agree that the current config file is too big and ugly.  But let's be a little careful
here.  There needs to be a balance.  Detailed config files do help users understand the capabilities
of the server and make it much easier to activate features.
>So I suggest we talk about specifics, rather than just trying to reduce the size.  For
>- Can we get rid of the non-unix mpm stuff from the default config. (Don't mean to offend
os/2 and beos (and possibly netware), but they are really superfluous and confusing for most

I'd vote -no-, with a caviat.  In our main example.conf, they should
be shown side-by-side.  E.g.

# Threaded Unix MPMs, e.g. Worker, require mod_cgid which forks
# it's own seperate process to dispatch the startup of cgi executables
<IfModule mpm_worker.c>
    LoadModule mod_cgid.conf

# Most non-threaded Unix MPMs, e.g. Prefork, and non-unix MPM's 
# use mod_cgi, where the httpd server process spawns the cgi
# process itself.
<IfModule !mpm_worker.c>
    LoadModule mod_cgi.conf

... so any user trying to understand why they don't have mod_cgid
would run across this note and gasp "Ahhh!  That's what cgid means!"

I'm trying to understand what other anomalies you mean between
Unix and Win32, they aren't that dis-similar.

Honestly - this could be improved;

<IfModule !mpm_netware.c>
<IfModule !perchild.c>
#ScoreBoardFile @rel_logfiledir@/apache_runtime_status

with some multiple-condition IfModule clause...

<IfModule !perchild.c && !mpm_netware.c>
#ScoreBoardFile @rel_logfiledir@/apache_runtime_status

but that's neither here nor there.  In this case, you have an
exceptional case for Netware and a specific Unix MPM.  Are you
suggesting keep all the mpm exceptions for unix and ditch those
for the "Other" platforms?  Bleh.  But I have a productive
suggestion (I hope)...
>- Can we get rid of most of the AddLanguage/AddCharset directives?  They are a constant
source of bug reports, and I really can't imagine that many people use them as-is.  (Do people
really name their files index.html.utf32be.el?)

We have and, why not break
some of these more lengthy 'passages' into their very own
includes?  First and foremost, - this
would take tons of lines across and leave a couple lines

# Internationalization - Character Sets and Languages
# mod_mime and mod_negotiation can serve alternate content, based 
# on the client's request headers and server content filenames.
# Uncomment this directive to serve multiple languages or character sets 
# based on the filename extention.
#Include httpd-intl.conf

We could do this to proxy and many other "complex" modules.  Best yet:

drop lines and lines of 'if this mpm we need that', and create
detailed and easy-to-read per-mpm subconfigs.  That would offer
us httpd-prefork.conf, httpd-worker.conf etc etc.  Only the
respective, installed mpm's conf would need to be present.  All 
such characteristics would move out to this file.

If that's too confusing, have these per-mpm subconfigs in the src,
but install only httpd-mpm.conf into every installation.

(Oh, for those who install all configs into /usr/etc or other common
conf locations, should really be installed as
httpd-ssl.conf to avoid ambiguity.)

But there is no reason to keep as many lines as we have in a single
config, multiple config files can be enormously helpful to the admin
to break apart these entirely separate aspects of configuration.
This would also reintroduce httpd-proxy.conf if someone wanted our
example (again) rather than one of many bad examples out there.


View raw message