(a simple diversion I hope from the other thread; I'll get back to that 
as soon as practical, and I appreciate the contributions there)

We're getting pretty late in the 2009.06 cycle, so big changes for 
Apache configuration aren't likely to be introduced until post-2009.06 
development builds begin.  I think we should consider attacking one 
aspect of the existing configs in the very short term: extraordinary 
virtual memory use.

Our basic philosophy is that installed features should be immediately 
consumable with no additional configuration.  As an example, simply 
installing Apache and PHP allows you to plop a PHP application in a 
reasonable location on the filesystem and it just works, because of the 
default configuration which is delivered.  You don't have to know much 
at all about Apache and PHP, and you can quickly get a real application 
running.

Some of the default Apache configuration doesn't provide such immediate 
value.  Here are just a few examples, all of which do nothing but 
consume memory and limited CPU cycles until you change the Apache 
configuration:

mem_cache and disk_cache are loaded by default, but
* the vast majority of Apache configurations don't use either
* those that do almost always use only one of them (and mem_cache is 
relatively unloved)
* anybody who can figure out their configuration will have no problems 
uncommenting out the necessary LoadModule directives

all the proxy modules are loaded by default, but
* most Apache configurations don't use any of it
* some of the protocol modules, such as connect and ftp, are used very 
rarely
* figuring out which LoadModule directives to uncomment isn't difficult
** they'll quickly determine that they need to enable mod_proxy.so, and 
commentary in the config file next to that directive could explain when 
the others are needed, as the error messages for missing protocol 
support require a search engine for interpretation IIRC

all the authn/authz modules are loaded by default, but
* some of the database-specific modules are almost never used
* when Apache auth other than host-based is used, usually only one of 
the database-specific authn and corresponding authz modules is used
* host-based is commonly used, and some of the modules for the 
authn/authz infrastructure are error prone to determine so they should 
remain loaded by default, but the database-specific modules are 
relatively easy for a user to determine (the directives you add are 
specific to those modules)

(more examples upon request)

Any concerns/objections, or comments on the practicality of getting this 
changed in time for 2009.06?

One obvious concern is during an OpenSolaris upgrade.  I don't know what 
happens with conf files during that operation.  If a user has to 
manually maintain their own httpd.conf (where they may have added 
directives which utilize some of these modules) then they also have to 
to preserve their modules-32.load/modules-64.load, even if they didn't 
modify it; if a modified httpd.conf would be retained automatically but 
an unmodified modules-nn.load would not, then their configuration could 
be broken.


Reply via email to