> I'm in the middle of planning an upgrade of our mailman > installation and was looking for some pointers. The current version > is 2.0.11 and I'm planning on going to the current 2.1.5. I'm > actually moving the installation from an older desktop system to a > newer server
I just did a 2.0.3 to 2.1.5 same-server upgrade last night. It seemed to go fairly smoothly - I did a clean install and then copied lists/* and archives/* to the new directories. I'm always leery of upgrades-in-place... some sort of cruft always seems to get left behind. I made sure to shut down the old mailman and sendmail, kill all processes, and flush the old queue. The main gotcha that took me a while to figure out (it was *early* in the morning by the time I did this!) was the extra lines that needed to be added for each list to virtusertable (the server is running Sendmail) - the 2.0.x versions seemed to have fewer addresses per list. Without some of the new entries - like listname-bounces - no outbound mail was being processed. Got stuck for a while on thinking smrsh and the mailman wrapper was the problem... The server had about 55 lists on it; rather than type out all the virtusertable entries by hand, I wrote an ugly little Perl script to read through a file containing the list names and spit out another file containing all the virtusertable entries. Here it is - maybe it will save you some time! - - - - - #!/usr/bin/perl # Script to generate virtusertable entries # for Mailman 2.1.5 # # (c) 2004 by Bruce Timberlake <bruce at brtnet dot org> # # create all-lists.txt with # # bin/list_lists -b > all-lists.txt $listfile = "all-lists.txt"; $virtfile = "virt-file.txt"; $hostname = "[EMAIL PROTECTED]"; open INPUT, "<$listfile" or die "Can't open $listfile: $!\n"; open OUTPUT, ">$virtfile" or die "Can't open $virtfile: $!\n"; while (<INPUT>) { chomp; print OUTPUT "## List: $_\n"; print OUTPUT "$_$hostname\t$_\n"; print OUTPUT "$_-admin$hostname\t$_-admin\n"; print OUTPUT "$_-bounces$hostname\t$_-bounces\n"; print OUTPUT "$_-confirm$hostname\t$_-confirm\n"; print OUTPUT "$_-join$hostname\t$_-join\n"; print OUTPUT "$_-leave$hostname\t$_-leave\n"; print OUTPUT "$_-owner$hostname\t$_-owner\n"; print OUTPUT "$_-request$hostname\t$_-request\n"; print OUTPUT "$_-subscribe$hostname\t$_-subscribe\n"; print OUTPUT "$_-unsubscribe$hostname\t$_-unsubscribe\n"; print OUTPUT "\n"; } close OUTPUT; close INPUT; - - - - - I told you it was ugly! :) But it was about 3 am when I did it, so... I generated the all-lists.txt file by using "bin/list_lists -b" in the new Mailman install after I copied the lists etc. across. Then I opened virtusertable in vi, manually deleted the old entries for the 2.0.3 install and imported virt-file.txt. A quick makemap, restarting sendmail and Mailman, and all was well. Since you're switching machines, you'll need to deal with a DNS changeover, and maybe editing mm_cfg.py to change the hostname etc. Or are you going to use the old domain name on the new server, so that the list address domain stays the same? I didn't have to deal with that, so I can't comment. ------------------------------------------------------ Mailman-Users mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/