Diary of a geek

September 2005
Mon Tue Wed Thu Fri Sat Sun

Andrew Pollock


Other people's blogs


RSS feed

Contact me

JavaScript required

Thursday, 08 September 2005

Popping the hood on Mailman

I know just enough Python to get myself into trouble, or out of it as was the case tonight.

I was playing around with my new installation of Mailman, and I wanted to have all web interface interaction occur within an SSL encrypted session - problem was, I'd changed "http" to "https" in the DEFAULT_URL_PATTERN in /etc/mailman/mm_cfg.py after I'd already created a mailing list, so this one list wasn't playing ball.

Dumping the list's config out with config_list didn't help a lot, as it just had the hostname part of the URL in it, not the protocol.

Time to breakout the withlist utility. Problem is, that throws you into an interactive Python interpreter at best. So I put my Dive Into Python reading to good use, used the dir() function on the "m" mailing list object at my disposal, discovered, amongst other things, the web_page_url field had what I wanted (including protocol specifier). So I changed it, called m.Save() and got on with my life.

[03:59] [tech] [permalink]

Give me Sendmail any day

Last night I burned a heap of time setting up Debian's packaged version of Exim 4. I wanted to also use Mailman and Request Tracker, and this was where I ended up spending a heap of the time. This was mainly due to me trying to bolt up the learning curve, and running out of steam.

I was also a bit confused by the way the configuration files worked. I figured that because I answered "no" to the "Split configuration into small files?" question, the myriad of files in /etc/exim4/conf.d were the alternative to splitting up into even more.

So after I dicked around with this myriad of config files, with no visible change in behaviour, I realised that /etc/exim4/exim4.conf.template was my actual config file (I was mentally filtering out anything without ".conf" on the end of the filename). I decided that the "split-out" config option wasn't actually all that bad, so I turned around and used it instead.

Next, I was more used to Debian's Sendmail package's makefile driven configuration regeneration approach, so I wasn't sure if I had to do anything special after altering config files. Turns out from inspecting the init script, it regenerates everything on a reload, so that wasn't a big deal. The script named "update-exim4.conf" (which to me sounds like a config file in itself) will do it on demand.

So, at this stage, I had a basic Exim configuration happening. Next, I wanted Mailman, so I chucked that on. Again, drawing on my Sendmail experience, I foolishly thought it would be pretty much the same. Turns out, that Mailman can, with a bit of encouragement, integrate right in with Exim to the point where you don't need to explicitly add the half a dozen aliases that you'd normally have to add with Sendmail after you've created a new mailing list. This I liked. Fortunately, the /usr/share/doc/mailman/README.EXIM.gz file has a fairly comprehensive set of instructions on how to get things going.

At this point, I think Debian's Exim4 package should default to the "split-out" configuration option, and the Debian package of Mailman should, if Exim4 is the installed MTA, plop the relevant files into /etc/exim4/conf.d

So that got me going with Mailman. Sweet. Onto Request Tracker.

Total bloody nightmare

Again, like Mailman, you can (almost) make the alias additions redundant for Request Tracker queues, which is good, because out of the box, Debian's Exim4 doesn't like piping stuff to programs via the aliases. I couldn't figure out how to just enable that feature, and it sounded like a bad idea anyway, so I struggled onwards, and did some Googling, until I happened upon this kind soul who had some pretty good instructions, which I just adapted for the Debian installation of Exim and Request Tracker.

So that concluded the MTA battles of last night. For extra credit, after I've got Drupal working the way I'd like it to work, I'll revisit the Exim config to ensure it's doing all the cool built in spam prevention stuff that Exim is reportedly so good for.

[02:48] [tech] [permalink]