httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From (Robert S. Thau)
Subject Re: Config file question...
Date Thu, 13 Jun 1996 14:07:47 GMT
   Why are there three config files?  If this a throwback to NCSA? 

Ah, so, grasshopper, you have now reached that level of mastery at
which you must learn the Inner Mystery of the Three Config Files.
Know then, that the reality described in the documentation is not the
only or true reality.  Rest and prepare for what awaits...

Let us begin by contemplating the surface form of the three config
files, as they appear to the mundane and unenlightened webmaster.
There is httpd.conf, which contains directives relating to the
operation of the server as a whole, such as logging and management of
the server pool.  There is srm.conf, containing directives which
relate to the management of the namespace and resources in the
filesystem --- file typing, directory indexes, aliases, and so forth.
Lastly, there is access.conf, which contains <Directory> sections
relating information on access control in various directories.  Three
files, separate from each other, complementary in their purpose.

Yet, is this really the true state of affairs?  For truly has it been
written that the code which can be documented is not the true code.
And indeed, careful contemplation of even a standard setup reveals
signs of the inner unity which underlies what appears to the
unenlightened programmer as three separate grammars.  For a
<VirtualHost> section may contain Alias and Redirect directives, yet
these things surely relate to namespace management, do they not?  And
a <Directory> section may contain AddType directives which properly
relate to file typing, is it not so?

This then, is the Inner Mystery --- the three config files are all, in
effect, fragments of one True Config File --- a single entity which
governs the operation of the server as a whole, with a single grammar.
For if one were to take a TransferLog directive from httpd.conf, and
add it at top level to srm.conf (or even access.conf, outside of a
directory section), it would, in truth, function no differently.

Indeed, some truly englightened webmasters may wish to deal with only
the single True Config File, and not the fragments.  For them, it is
possible to do so --- they may add

  AccessConfig /dev/null
  ResourceConfig /dev/null

to their httpd.conf to inform the server that it, and it alone, is the
entire True Config File for the site, add the former contents of their
srm.conf and access.conf files to httpd.conf, ditch srm.conf and
access.conf entirely, and proceed with the single True Config File in
clear view.

Since the masters know they inner mystery --- that there is, in truth,
only one True Config File --- why then do we show the masses three?
Therein lies a tale...

Back in the formative days of Apache, the server was based very
closely on the code for the NCSA 1.3 web server.  In this code, the
inner unity of the One True Config File was *not* fully manifest, so
that, say, a TransferLog directive which made a pleasing unity with
httpd.conf would have caused errors in srm.conf.  And many people
based their sites upon this code --- NCSA's and ours --- and so the
illusion of the Several Config Files was loosed upon the world, and
many webmasters were lost into it.  For these webmasters to use our
present releases, they must accomodate the ways of illusion which the
webmasters have fallen into.  But the True Config File is accessible
to those who know its mystery.

  ... and if someone doesn't put the answers to these questions
      into a FAQ someplace, you are all at risk of being assaulted
      again with yet another excerpt from my rejected scripts for
      "Kung Fu:  The Legend drags its Lame Ass into Cyberspace" ...


View raw message