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