Quick fix for when mailman fails to archive your mails on Ubuntu

For the first time in many years I find myself the owner and maintainer of a set of Mailman mailing lists on behalf of Knowledge Blog this time.  Mailman is a great piece of free software, but even the packaged install under Ubuntu (10.04.1 LTS in this case) is not without a couple of gotchas.  In particular this installation was not archiving any of the email to our public mailing list (not so great for transparency!).

Despite seemingly have the correct setup on the list, on going to the archives page users were greeted with the uninformative, and definitely incorrect error:

“No messages have been posted to this list yet, so the archives are currently empty.”

My inbox has evidence to the contrary.  A look at /var/lib/mailman/logs/error

shows this:

Nov 29 13:30:00 2010 (2426) Archive file access failure:
/var/lib/mailman/archives/private/knowledgeblog-discuss.mbox/knowledgeblog-discuss.mbox [Errno 13] Permission denied: '/var/lib/mailman/archives/private/knowledgeblog-discuss.mbox/knowledgeblog-discuss.mbox'
Nov 29 13:30:00 2010 (2426) Uncaught runner exception: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/knowledgeblog-discuss.mbox/knowledgeblog-discuss.mbox'

Indeed the “private” directory in this case was owned by user ‘root’. By default on Ubuntu mailman runs as user ‘list’, so a quick:

sudo chown -R list /var/lib/mailman/archives/private/

worked a treat. In order to then generate the archive with the missed messages, all you need is a quick:

sudo /var/lib/mailman/bin/unshunt

Leave a Reply