
On 1/14/19 4:02 AM, Jesse Sheidlower wrote:
I'm trying to migrate a group of Mailman lists onto a new shared hosting provider. I do not have direct access to the original system; the sysadmin there has given me a full tarball of the mailman directory, including the archives/, data/, and lists/ subdirectories.
Good.
The new hosting provider, to which I do have command-line access via SSH, uses Mailman through a cPanel installation. There's no mailman directory currently, and cPanel itself doesn't have any options for migration. I e-mailed the support group to ask where to put it, and they said that you can only restore a backup that is itself made with cPanel into a cPanel environment; the cPanel version of mailman is different and won't accept backups made manually.
Is this true?
Yes and No.
There is some info at <https://wiki.list.org/DOC/Mailman%20and%20CPanel>. The most important thing is that the 'mailman' directory in cPanel is at /usr/local/cpanel/3rdparty/mailman.
Importing archives is not a problem. Importing lists is an issue because of cPanel's appending the domain to the internal listname, so you can't just drop a mailman/lists/LISTNAME/config.pck into cPanel, even if yo put it in /usr/local/cpanel/3rdparty/mailman/lists/LISTNAME_DOMAIN/config.pck, because the internal name in the config.pck is wrong.
I think if you have a way to import the list membership, the way to proceed is to create the lists in cPanel and then add the members. Extracting the members from your existing mailman/lists/LISTNAME/config.pck file is difficult without a mailman installation, but you might be able to just put a config.pck in /usr/local/cpanel/3rdparty/mailman/lists/XXX/config.pck and run /usr/local/cpanel/3rdparty/mailman/bin/list_members on the XXX list to get files of regular members, plain digest members and mime digest members which you can import to the real list via /usr/local/cpanel/3rdparty/mailman/bin/add_members. Run those commands with the --help option for details on options.
For the archives, you should be able to import them into a cPanel list with the command '/usr/local/cpanel/3rdparty/mailman/bin/arch LISTNAME_DOMAIN /path/to/old/archives/private/LISTNAME.mbox/LISTNAME.mbox'
Actually, you might be able to create a list in cPanel and then just replace its lists/LISTNAME_DOMAIN/config.pck with the one from the backup and then use /usr/local/cpanel/3rdparty/mailman/bin/withlist to 'fix' attributes like _internal_name, host_name and web_page_url, but this probably requires some knowledge of Mailman internals and trial and error.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan