Mailman packages and configuration are managed by Puppet class hcoop::service::mail::mailman2
1. Migrating Mailman Between Servers
Copy /etc/mailman/{mm_cfg.py} to new server
vhost_cfg.py is generated by DomTool.
Copy /etc/exim4/mailmandb to new server
Stop mailman to prevent messages from being delivered while copying data: service mailman stop
Copy /var/lib/mailman to new server
In /etc/exim4/conf.d/main/01_exim4-config_listmacrosdef on:
the new mailman host: unset HCOOP_MAILMAN_RELAY_HOST
all other mail servers: set HCOOP_MAILMAN_RELAY_HOST to the new mailman host
Start mailman on new server: service mailman start
- Reload exim, and everything ought to work
DomTool also needs some settings updated.
1.1. Move All Lists
The entirety of /var/lib/mailman can just be rsynced between servers. This is assuming Debian configuration where system controlled content and data like locks are stored in external directories and just symlinked from /var/lib/mailman.
2. Importing Individual Lists
Not entirely sure, but an old post on mailman-users might have some insight.
3. Change List Domain
If a member requests a change in the primary list domain
LISTNAME is the bare list name (e.g. hcoop-discuss) NEWBASEURL is the base url, with no list name (e.g. lists.hcoop.net)
sudo -u list withlist -l -r fix_url LISTNAME -u NEWBASEURL
Mailman doesn't care about SSL, except for the list archive link, which is a template and can be edited through the web interface by the list owner.