fun with transferring mailman mailing lists

Our apcauce.org host doesn’t have budget to host and be secretariat for APCAUCE anymore, so I’m working on moving the lists and website and domain to my server. Since the old site and new both use mailman, I just got the raw files for the lists and figured I could just plop them in place and then tweak a few things.

But of course, it’s not that easy. If you have to change the list name or the domain name or the base url, it’s a bit tricky.

So here’s some tricks on how to do this on your own should you need to. First copy the config.pck for the list from the old site into the new mailman installation into lists/listname/config.pck. If you are changing the listname, this is the first place you need to use the new name. If you aren’t changing any of the above stuff then you should be good to go and can load up the admin interface. You probably want to use the site password to login and then change the list password. If for some reason you don’t have the site password, you can get the list password by running dumpdb on the config.pck file.

If you are changing too much stuff to make it easy, you’ll want to use the config_list command to get a text copy of (most of) the config, manually edit it, then reload the changes into config.pck. Basically:

config_list -o config.txt listname

Edit config.txt:

1) If you changed the list name, change to the new name in the variable real_name
2) If you changed the host name, change to the new host name in the variable host_name
3) If you changed the host name or the base url, you will need to change that. But config_list doesn’t output this part of the config so you’ll have to add it manually such as:
web_page_url = ‘http://site.com/mailman/’

You also might want to change the list owner and other stuff now if you find editing text files easier.

Then restore the new config to the actual list config:

config_list -i config.txt listname

If you set web_page_url it will complain about it but it will actually set it.

If you did it all ok then you should now be able to go to the admin interface and things will work.

You also want to restore the archives and regenerate the web archives (if you use this):

Copy from old site archives/private/listname.mbox/listname.mbox
If you are changing the list name remember to change it here too. Don’t worry about copying the web archives, as it’s best just to regenerate them.

Now generate the new web archives by running “arch listname

Last task is to update the aliases file. Run genaliases and it’ll dump out all the aliases entries for all your lists. Use grep to pull out just the list you transferred and then update your aliases file, usually /etc/aliases or /etc/mail/aliases and then run newaliases if applicable to your mailer.

That should be all there is to it.

Leave a Reply

Your email address will not be published. Required fields are marked *