Michael Papet wrote:

- in the end easy to configure with a web frontend

The web front end is totally separate from qpsmtpd.  My grand scheme was to use 
Drupal+LDAP modules to do the web frontend.  I've worked with Drupal enough to 
do this, just never taken the time to do it.  Maybe someone else has other 
suggestions for a web frontend?

As a FYI, I put my qpsmtpd config files into PostgreSQL, and manipulate them by a fairly ad-hoc set of perl libraries underneath a CGI front end. Not fancy. Each config file is a database object (I'm not doing per-entry). I make changes to the configuration, and hit a "push" button that replicates the changes to each of the qpsmtpd front ends (currently 5, at one point 11) via rsync, and then use ssh to instruct the qpsmtpd engines to restart.

All qpsmtpd configuration under qpsmtpd/config. Tho there are a few other files elsewhere (eg: SA local.cf).

The directory (downloaded when it changes from central corporate database) is rsync'd into each qpsmtpd's config.

Use much the same mechanism to replicate our combined DNSBL zone to rbldnsd instances co-resident with the qpsmtpd servers.

The PostgreSQL database also manages logs, per-user quarantine (end user accessible) and reporting.

(personal config in the database)

I'm nothing special as a coder, so I'm certain you can do it. LDAP isn't as popular a database to connect to as PostgreSQL/whatever, but works for me.

LDAP is easy enough with the right perl libraries, and I don't do personal configuration.

If I were, I'd have the data in the spam filtering database (along with the server config), and push it out periodically/ondemand as a predigested database of some sort for qpsmtpd to have a copy of locally. Possibly as an extension to the user directory flat file.

Since our users already visit the control server for viewing quarantine etc., it's the logical place to maintain the per-user config.

I don't want the qpsmtpd instances to interact with more non-resident services than absolutely necessary, especially per-message even if cached. Both for performance and robustness reasons. Even DNS and rbldnsd is co-resident now. At my loads (10s of millions of spam per day), I was periodically overloading the corporate DNS infrastructure, and I was warned not to rely on our LDAP anywhere near that level.

Yes, PostgreSQL can keep up with the logs/quarantine management. But it ain't simple.

Reply via email to