[Mailman-Users] migrating Mailman server

vancleef at lostwells.net vancleef at lostwells.net
Mon Jan 29 16:11:33 CET 2007

> I have the task of setting up a replacement for an existing 
> Mailman/Postfix server.  I am new to Mailman and I am looking for some 
> guidance in this transition.  Mailman is currently being used solely as 
> a diffusion of information.  That is, it does not accept contributions 
> from list members (read-only).
> Firstly, should I attempt to migrate data/files over to the new system 
> or should I start fresh?
> The new system will be running OpenBSD 4.0.
I have just moved a 9-year-old list from another installation to mine,
and have a draft how-to faq on how I did it that isn't quite ready for
prime time.  Since I know there isn't any clear information on this in
the current mailman FAQ tree, I'll give the salient points fairly
briefly.   I'm sure that the Mailman developers will want to comment,
so I'll let them do the talking after posting this.

It's fairly easy to do a seamless migration of an old Mailman list's
personality and history into a new Mailman install.  Based on a
migration from Mailman 2.1.4 to 2.1.9, what you need from the old 
installation are:

(base directory is the old mailman tree, typically /usr/local/mailman)

1. All of the files under the ./lists/<listname> directory.
2. All of the files under the ./archives/private/<listname> directory.
3. ./Mailman/mm_cfg.py
4. Any other files in the ./archives directory with <listname> in
their names.

A tar of those directory trees plus the mm_cfg.py file gives you the
old list's configuration, personality, membership data base, and

On your new system, do a new installation of Mailman at the revision
level that the old list was running on.  I was moving from a 2.1.4
installation, and building from source, so had to get the Mailman
2.1.4 sources.  Follow the instructions in the build and installation
guide on the Mailman web site exactly (don't plan on just running
configure and doing a make---there is a lot more you need to do).

On the fresh installation, create a new list with the same name as the
one you are moving.  For example, if you're moving from
"waffles at wafflehaus.org," create a new "waffles" list.  Use that 
newly-created list to check out your installation.  You can add a few
local list member names to convenient mail addresses on your site, and
use this to check out the integration with your mailer and web server.
Use the old list's mm_cfg.py as a guide in chosing what to put in 
your installation's mm_cfg.py.  

Once you have your installation running, take a look in the
./list/<listname directory>.  You'll find config.pck.  Check its
owner/group and permissions.  Copy the old list's config.pck file into
the new installation's directory and set its owner/group and
permissions to match.  Run the fix_url script as needed to get the 
correct URL for your new installation installed.  If there are html
files in the old list's list/<listname> directory (template file
overlays), copy them over as well.  

You should now be able to go to the listinfo page for the list, go
into the mailman administrator options page, and review such things as
the administrator/moderator addresses and settings, list mailto
address, etc.  Double check that the link-across URL's between pages
are correct for your installation.  

Populate the archives directories.  I still haven't worked out the
best way for doing this, but you'll need the pipermail archives
directories and files, and control files that the old Mailman created.
The ./bin/check_perms script will help you getting all the owner/group
and permissions set properly (Mailman is quite fussy about these).  

You should now have your old list completely installed on your new
site.  From there, you can build the current versions of Python
(2.5), Mailman (2.1.9) and do an upgrade installation.  


More information about the Mailman-Users mailing list