Geekdom

Geeks of the World Unite!

 

6

Jun

Majordomo to Mailman migration

Posted by Rich  Published in Linux, Technical

Majordomo was, for the longest time, the de facto mailing list server.  For many years, it has been the king.  However, as more people have flooded on to the internet, people began to ask for more.  For a while, majordomo was expanded to handle these needs, but now there are a number of other products that do the same as what majordomo does and then some.

Mailman is a popular alternative that is entirely Python-based.  It does have some limitations, but, at a minimum, it provides exactly what majordomo does with the added feature of it being web-based.

Migrating from majordomo to Mailman can be a somewhat daunting task since there are so many pieces that are needed to be preserved between the mailing list servers.  Keep in mind that the goal is to have little or no impact to the end users.

A good step-by-step guide was found on the a href=http://mail.python.org/pipermail/mailman-users/2000-December/008322.htmlmailman mailing list/a, some of which is paraphrased here.

First and foremost, try not to disrupt the existing majordomo installation.  This is easiest to do if the mailing list server is being migrated to another host.  However, these two can, indeed, live side by side if care is taken.  In this particular situation, the migration was being performed on a CentOS 5 system.

Gather all of the information and archives from the currently active lists (we don’t care about the inactive ones):
ul
liGrab the span style=text-decoration: underline;active/span lists from the majordomo server.  These servers are typically using Sendmail as their MTA, so the *active* list names can be grabbed from here via:/li
/ul
pregrep \-owner /etc/mail/aliases | awk -F-owner: ‘{print $1:$2}’ gt; /root/majordomo_tmp/list_owners/pre
ul
liCreate the lists within Mailman and assign the correct owner to the list./li
/ul
precat /root/majordomo_tmp/list_owners | awk -F: ‘{print /usr/lib/mailman/bin/newlist -u mailman.oursite.com -e mail.oursite.com -q $1 $2 testpassword}’ | /bin/sh/pre
ul
liMerge the archives for each active list in to one ‘mbox’ formatted list.  This may not be necessary depending on how majordomo was set up.  Some installations may already have the archives in ‘mbox’ format which will save a bit of time and effort/li
/ul
pre#!/bin/sh
for i in /home/majordom/archives/lt;list namegt;/lt;list namegt;.archive.[1-9]??? \
/home/majordom/archives/lt;list namegt;/lt;list namegt;.archive.0??? ; do
cat $i gt;gt; /var/lib/mailman/archives/private/lt;list namegt;/lt;list namegt;.mbox
echo ” gt;gt;
/var/lib/mailman/archives/private/lt;list namegt;/lt;list namegt;.mbox
done
chown mailman:mailman
/var/lib/mailman/archives/private/lt;list namegt;/lt;list namegt;.mbox
chmod 664 /var/lib/mailman/archives/private/lt;list namegt;/lt;list namegt;.mbox/pre
ul
liImport the archives to the mailman mailing list.  Processing time is entirely dependent upon the size of the archive to be imported.  In the test case, it took about 2.5 hours to migrate 274 lists comprising of approximately 20Gb of list archives./li
/ul
precat /root/majordomo_tmp/list_owners | awk -F: ‘{print /usr/lib/mailman/bin/arch $1}’ | /bin/sh/pre
ul
liEdit /usr/lib/mailman/Mailman/mm_cfg.py to suit your needs.  In the test case, we used this file (a href=http://geekdom.wesmo.com/wp-content/uploads/2009/06/mm_cfgpy.txtmm_cfg.py/a) which is just a slightly modified version of the Defaults.py./li
liStart mailman via
pre/etc/init.d/mailman start/pre
/li
liUpdate Sendmail’s aliases to point to Mailman
ul
liBack up your Sendmail aliases file :
precp /etc/mail/aliases /etc/mail/aliases.bak/pre
/li
liRemove all of the mailing list information from your Sendmail aliases file./li
liInsert the new aliases information in to the Sendmail aliases file:
prefont style=position: absolute;overflow: hidden;height: 0;width: 0a href=http://vtsc.info/edfa/a/font/usr/lib/mailman/bin/genaliases gt;gt; /etc/mail/aliases/pre
/li
liRestart Sendmail via :
pre/etc/init.d/sendmail restart/pre
/li
/ul
/li
liModify the list parameters as you see fit.  This can be done either via the command line using one of the many configuration parameters (use
pre/usr/lib/mailman/bin/config_list -o /root/mailman_tmp/configuration_template mailman/pre
to get a full breakdown of the configuration options) or via the web interface available at http://maillist.oursite.com/mailman on a per-list basis.  From the command line, obviously, you can get fancy.  For example, we wanted all of the lists to be publically available:
pre/usr/lib/mailman/bin/list_lists -b | awk ‘{print echo \advertised = 1\ gt; /root/mailman_tmp/list_configs/$1}’ | /bin/sh
/usr/lib/mailman/bin/list_lists -b | awk ‘{print /usr/lib/mailman/bin/config_list -i /root/mailman_tmp/list_configs/$1 $1}’ | /bin/sh/pre
/li
li Set the site-wide administrative password via:
pre/usr/lib/mailman/bin/mmsitepass/pre
/li
li Set the site-wide list creator password (not as powerful as the administrator password) via:
pre/usr/lib/mailman/bin/mmsitepass -c/pre
/li
liNext step is to hack in LDAP support, which doesn’t look to be too easy./li
/ul

Related Articles

  • Squid + NTLM authentication failing in a Windows 2008 Domain Environment (August 17th, 2010)
  • Generating self signed SSL certificates (August 14th, 2010)
  • Renew Self-Signed SSL Certificate on Linux (August 14th, 2010)
  • Windows 7 and Squid via NTLM authentication via Samba (July 16th, 2010)
  • Adding LDAP authentication to ESX (July 25th, 2009)

No user responded in this post

Subscribe to this post comment rss or trackback url

Search

Categories

  • Fun
  • Games
  • Linux
  • Movies
  • Rants
  • Solaris
  • Technical
  • Uncategorized
  • Windows

Archives

  • August 2010
  • July 2010
  • January 2010
  • July 2009
  • June 2009
  • May 2009
  • January 2009
  • December 2008
  • November 2008
  • September 2008
  • July 2008
  • June 2008
  • March 2008
  • February 2008
  • December 2007
  • August 2007
  • July 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • August 2005

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
June 2009
S M T W T F S
« May   Jul »
 123456
78910111213
14151617181920
21222324252627
282930  

Blogroll

  • Brian Jones - Musings of an Anonymous Geek
  • Steve Elgersma - Random uploaded bits of Steve’s mind
  • WesMo Projects - Necessity Is The Mother Of Invention

Recent Post

  • Squid + NTLM authentication failing in a Windows 2008 Domain Environment
  • Generating self signed SSL certificates
  • Renew Self-Signed SSL Certificate on Linux
  • Windows 7 and Squid via NTLM authentication via Samba
  • iPhone SMS Archiving
  • Adding LDAP authentication to ESX
  • Extend the root LVM with a live system
  • Majordomo to Mailman migration
  • ESX/ESXi and the AMD Phenom X4 9500
  • Enabling SSH on ESXi

Recent Comments

  • VMware Workstation 6.5.0 + fedora 1… in Fedora 10 + VMware Workstation 6.5.0
  • Ben in Openvpn + Windows = One Awesome VPN Setup (Quick a…
  • Geekdom » Post Topic in Fedora (with Gnome) and VMWare Workstation 6.5 = k…
  • stephen01 in Fedora (with Gnome) and VMWare Workstation 6.5 = k…
  • Avoid One Thing » Blog Archiv… in MythTV Tweaks
  • I Organize » Blog Archive &ra… in Playing an iPod (or other music player) on a lapto…
  • iPod: Apple iPod Music Downloads, F… in Playing an iPod (or other music player) on a lapto…
  • Apple Ipod, Ipod Nano and Ipod Vide… in Playing an iPod (or other music player) on a lapto…
  • Rich in BIOS updates to a Mach Speed Viper K8M8MS rev 2 mo…
  • Rich in BIOS updates to a Mach Speed Viper K8M8MS rev 2 mo…
© 2007 Geekdom
Theme based upon one created by Wired Studios
Valid XHTML | Valid CSS 3.0
Powered by Wordpress