[Mailman-Users] UPGRADING continued...

Jacek Wojaczynski kocurek at kocurek.eu.org
Thu Dec 26 14:58:16 CET 2002


Hi everybody!

I'm a Linux newbie... (well... that is why probably I have some
problems with upgrading).

Now I have a running Mailman installation for my list with > 600
subscribers. It works fine... and I'm a little bit scared about
this upgrade if things go wrong...

My current version is:

# rpm -q mailman
mailman-2.0.13-5

I did not install it from source but automatically, using
poldek (it's sth similar to apt-get).
My directory structure looks now like this (Mailman 2.0):

/var/spool/mailman:
 /archives
 /data
 /filters
 /lists
 /locks
 /logs
 /qfiles
 /spam

/var/lib/mailman:
 /Mailman
 /bin
 /cron
 /icons
 /scripts
 /templates

/usr/lib/mailman
 /cgi-bin
 /mail

/usr/share/doc/mailman-2.0.13

In /etc/httpd/httpd.conf I have:

ScriptAlias /mailman/ "/usr/lib/mailman/cgi-bin/"
Alias /pipermail/ "/var/spool/mailman/archives/public/"

... and I have those standard cron entries. That's it.
Everything done as desribed in MM2.0 INSTALL file.
Works great.

OK. What I'd like to do is upgrade to 2.1rc1.

What would be the best upgrade strategy?
Download the source or wait for stable release and install it
with poldek? Hmmm... I can always wait, but I don't want to
wait. :-) So, I downloaded the source. I did ./configure
and "make install".

Now I have two installations together. One (2.0) still working
and the second one (2.1) compiled, installed and waiting...
Mailman 2.1 has its all files in:
/usr/local/mailman

OK. So far so good... Time for the real upgrade.
Is it really so simple? I don't think so... I started reading:
~/mailman-2.1rc1/UPGRADING
I read it once, twice.... three times and still have some
doubts.

Let's see:

  UPGRADING FROM 2.0.x to 2.1

    In Mailman 2.1, the qrunner subsystem has been completely
    rewritten.  You no longer start qrunner from cron!  Instead, there
    is a bin/mailmanctl script which is used to start, stop, and
    restart mail delivery.  This script is appropriate to use as a
    Unix init script.  Be sure to update your crontab with the new
    cron/crontab.in file.

Hm... should I delete my cron entries for qrunner? What does it
mean "Be sure to update your crontab with the new
cron/crontab.in file."? Remove all entries that contain
qrunner?? Will my old MM2.0 still work after removing those
crontab entries? Damn! I want to get rid of MM20... I want
a working 2.1 :-)

OK... I have nothing in /qfiles so I skip to another point:
 
  NOTE: When upgrading to Mailman 2.1beta1, you will need to
    regenerate your aliases files.  There have been many changes to
    the alias names, the programs they map to, and the name of the
    wrapper script.  See README.<yourMTA> for details of making
    Mailman work with your mail server.

Yeah, regenerate aliases... fine. But my new MM2.1 has no lists
so far. I did not move any files... I think that regenerating
aliases works for existing lists... maybe I'm missing something.

Let's skip to another point:

  UPGRADING INDIVIDUAL LISTS

    If you're nervous about upgrading all of your lists to 2.1 in one
    go, you can move them and upgrade them one at a time.  Start by
    doing a clean Mailman 2.1 installation in an empty directory --
    call it $MM21.  (I'll assume your Mailman 2.0 installation is in
    $MM20.)

Oh, yeah! I'm nervous about upgrading one of my lists to 2.1. :)
I did a clean MM2.1 installation.
I don't know which is mine $MM20 installation directory.

$MM20:
/var/spool/mailman:
/var/lib/mailman:
/usr/lib/mailman
/usr/share/doc/mailman-2.0.13

$MM21:
/usr/local/mailman

    If you use Apache with mod_rewrite, then it's fairly
    straightforward to set things up so that both Mailman 2.0 and 2.1
    inhabit the /mailman and /pipermail URL-space of your server; this
    makes the transition almost transparent to list admins and
    subscribers.  See below for details.

OK. I'm using Apache... possibly with mod_rewrite (hope so!) :-)
Do I really need both MM2.0 and MM2.1 inhabit /mailman and
/pipermail URL-space? I just want to move my list to 2.1 and
forget about 2.0 as quick as possible...

  * Shut down your MTA.
  * Shut down your web server.
  * Force Mailman 2.0 to process its queue

No problems with that... I can shutdown postfix. I can shutdown
Apache. No files in /var/spool/mailman/qfiles. Good.

  * Move the list:

          cd $MM20
          mv -i lists/foo-list $MM21/lists
          mv -i archives/private/foo-list $MM21/archives/private
          mv -i archives/private/foo-list.mbox $MM21/archives/private
          rm archives/public/foo-list
          rm archives/public/foo-list.mbox
          cd $MM21
          bin/withlist -l -r fix_url mylist

        (The fix_url step will not be necessary if your Mailman 2.0
        and 2.1 installations will be sharing the same URL-space.)

OK. I can move everything from
/var/spool/mailman/archives/private/ to
/usr/local/mailman/archives/private/

I can go to /usr/local/mailman/bin and type
"withlist -l -r fix_url listname" - but I don't think I need
that... Or maybe? Well... I have no idea. What does it mean to
share same URL-space?

      * Edit your web server config so the list's URLs continue to
        work.

Well to be honest I don't understand this one... Let's look
closer to some strange-looking rule for my httpd.conf:

    RewriteRule ^/mailman/(.*)/(foo-list.*) \
                        $MM21/cgi-bin/$1/$2 \
                        [T=application/x-httpd-cgi]

Wow! Looks nice :) I have no idea what does it do...
Anyway - I put it in my httpd.conf file... and my Apache didn't
want to start anymore. Of course I changed $MM21 with
/usr/local/mailman. Should I also change "$1" and "$2" with
something? What is going on here??

We're coming to the end of the UPGRADING file:

  In either case, you'll want to rewrite the list's archive URLs
          to Mailman 2.1's archive:

            RewriteRule ^/pipermail/(foo-list.*) $MM21/archives/public/$1

OK... I'm just wondering why is it done that way?
Can't I simply change a line in my httpd.conf:
Alias /pipermail/ "/var/spool/mailman/archives/public/"
with:
Alias /pipermail/ "/usr/local/mailman/archives/public/"

OK. I don't know. I'm just asking... I'm just curious...

   * Restart your web server (or disable the "temporarily
     unavailable" stuff).

   * Restart your MTA (or make it listen to more than just
     127.0.0.1).

Well that's a piece of cake...

Anyone still with me? :-)
Anyone can put some light on it? 

Why do I need an upgrade so fast? Because I need (and find it
very useful) internationalization.  Mailman 2.1 is multilingual.
I wanted to help with polish translation, but I can't do it
right if I'm working with an old MM2.0. I need a working MM2.1
to do this.

Any help would be appreciated.
-- 
kocurek



More information about the Mailman-Users mailing list