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 example:
>
>- 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 people.)

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
</IfModule>

# 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
</IfModule>

... 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
</IfModule>
</IfModule>

with some multiple-condition IfModule clause...

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

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 httpd-std.conf.in and ssl-std.conf.in, why not break
some of these more lengthy 'passages' into their very own
includes?  First and foremost, httpd-intl.conf.in - 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, ssl-std.conf.in 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.

Bill


Reply via email to