RE: [Exim] Request for config modularity (Probably Wishlist …

Top Page
Delete this message
Reply to this message
Author: Eli
Date:  
To: greg, 'EximUser List'
Subject: RE: [Exim] Request for config modularity (Probably Wishlist Material)
>Instead of having one huge monolithic config file, with which I
>sometimes get corn-fused as to exactly where I am in the file, I have a
>"conf.d" directory with more directories such as:


It might be a neat idea for sure, but I believe this may go into a personal
preference sort of state when debating... I have my Apache configurations
as a main httpd.conf, and then a vhosts directory for each website. I do it
this way mainly because it allows scripts easy access to
modify/delete/create sites without risk of wiping out the main httpd.conf
file.

As for whether it would be useful for Exim, well it *might* be in some cases
if you have a very huge file - but then most of it is usually ACL stuff, and
maybe a bunch of defined constants. In a case like that, you can tidy up
your config file quite easily by separating some sections into their own
files, and then simply including them (with include).

Splitting every little section up into it's own file I personally would call
much more confusing than all in one place because you can't see the flow of
execution nearly as well in a whole whack load of little files, as you can
with all the text in one file on your screen.

Besides, hopefully once you have your config file the way you like it (and
everything that is dynamic or may need to change such as blocking email
addresses or servers or whatever all in their respective db files and
accessed with lookups), you shouldn't need to do much changing to it. I
certainly don't see myself constantly editing the config file for a mail
server to the point of needing everything in a bunch of little files. It
might take some time, but it's not that hard to pretty up your Exim config
file so that even a huge wad of stuff can be very readable.

Don't get me wrong - this might be a big step forward for some people...
It's just not something I would find as handy as you think.

Eli.

-----Original Message-----
From: exim-users-admin@??? [mailto:exim-users-admin@exim.org] On Behalf
Of Greg Folkert
Sent: Monday, February 02, 2004 11:14 AM
To: EximUser List
Subject: [Exim] Request for config modularity (Probably Wishlist Material)


--
I am an admittedly huge zealot for the Debian way of doing things...

But, don't let that cloud you judgment here.

I am using exim v4.30 with exiscan compiled in (exim4-daemon-heavy) from
the debian repositories. Recently Andreas Metzler and Marc Haber made a
truly remarkable change to the way the Exim Config is handled in Debian.

Instead of having one huge monolithic config file, with which I
sometimes get corn-fused as to exactly where I am in the file, I have a
"conf.d" directory with more directories such as:

acl, auth, main, retry, rewrite, router, transport

Possibly could be more or less as well. But each of those Directories
have files like (this is the list of files in router):

00_exim4-config_header
100_exim4-config_domain_literal
200_exim4-config_primary
300_exim4-config_real_local
350_exim4-config_spamcheck
400_exim4-config_system_aliases
500_exim4-config_hubuser
600_exim4-config_userforward
700_exim4-config_maildrop
800_exim4-config_procmail
900_exim4-config_local_user
970_exim4-config_catchall_otherdom
970_exim4-config_catchall_somedom
mmm_mail4root

Example of 970_exim4-config_catchall_otherdom:

    otherdom_catch:
       driver = redirect
       data = dork@???
       domains = otherdom.com


Example of 350_exim4-config_spamcheck

  # SpamAssassin
  spamcheck_router:
    no_verify
    check_local_user
    # When to scan a message :
    #   -   it isn't already flagged as spam
    #   -   it isn't already scanned
    condition = "${if and { {!def:h_X-Spam-Flag:} {!eq
{$received_protocol}{spam-scanned}}} {1}{0}}"
    driver = accept
    transport = spamcheck


And so on... I have added some routers (similar to the displayed ones)
to one of my more lighty used machines... just so the idea isn't foggy.
I really like having the ability to manage things more easily.

I can add a transport with a useful name in it and run the config
update... which BTW does make the Monolithic config for exim4... just
hat it is compiled from the small config files.

I really like this idea, I have even began to use it for my Apache
configs too... makes the whole thing much more easily maintainable.

I would ask that if Andreas and/or Marc could expand on my request, I
would be very happy about that.

Clarifications needed? You know I am subscribed! :)
--
greg@???
REMEMBER ED CURRY! http://www.iwethey.org/ed_curry
--
Content-Description: This is a digitally signed message part

[ signature.asc of type application/pgp-signature deleted ]
--


--

## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at http://www.exim.org/ ##