UPGRADING   [plain text]


Mailman - The GNU Mailing List Management System
Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

司会付きリスト (Moderation) に関するノート

    Mailman 2.0.x から 2.1 に更新したときには, 司会とプライバシーに関
    するオプションをよくチェックして, 希望通りに設定されているかどうか
    調べてください. Mailman の司会とプライバシーに関するオプションは,
    かなり変更があり, より理解しやすく制御しやすくなっています. 古い設
    定変数を新しい設定変数に翻訳するための努力はなされていますが, 旧式
    の解釈は非常に複雑で, あなたが設定したものが正しく翻訳されていない
    可能性があります.

    特に (プライバシー -> 送信者フィルター) の default_member_moderation,
    generic_nonmember_action と accept_these_nonmembers をチェックして
    ください. また, 会員管理画面で会員情報の「発言制限」フラグもチェッ
    クしてください.

直前のバージョンからの更新

    ほとんどの部分で, Mailman を更新するには, 既存のバージョンの上に,
    そのまま最新バージョンをインストールすればよいので, とても簡単です.
    しかし, 一部には手で修正してあげないといけないところもあります.

    何をしなければならないかは, 現在利用しているバージョンと更新しよう
    としているバージョンによって変ります. どの場合にも, まずメールと
    ウェブでの Mailman へのアクセスを停止しましょう. 基本的に, データ
    ベースを更新しようとしているわけですから, 更新中にデータベースに変
    更が起こらないようにしておくことはよい考えです.

    私の推奨

    - メール受信サーバを止める. 多くの SMTP サーバは, もし相手のポート
      番号 25 が閉じられていたら, メールを待機させます.

    - 一時的に Mailman へのウェブ接続を止める. これは, ウェブサーバを
      止めるか, または Mailman の URL へのアクセスを "サービスがありま
      せん" と書いたページへ向けるかすることでできます. 詳しくはご利用
      のウェブサーバの説明書をご覧ください.

    Mailman は既存のリストの template ファイルを更新しません. Chuq Von
    Rospach は以下の Mailman-Users 向けのメールで, よいアドバイスをし
    ています:

    http://mail.python.org/pipermail/mailman-users/2000-September/006826.html

    [実際には, MM2.1a2 に更新すると template ファイルをかき混ぜます.
     つまり, 元のデフォルトから変更が無いことを検知したら消去します
     (これには md5 チェックサムが使われます).]

2.0.x から 2.1 への更新

    Mailman 2.1 では qrunner システムが完全に書き換えられています. 
    qrunner を cron でスタートはしません! その代わり, bin/mailmanctl
    スクリプトによって, メール配送を起動, 停止, 再起動するようになりま
    した. このスクリプトは UNIX の初期起動スクリプトとして使うこともで
    きます. crontab を新しい, cron/crontab.in ファイルで更新することを
    忘れないで下さい.

    注意: もし, MM2.1alpha2 以前のシステムから MM2.1alpha2 以後に更新
    するのであれば, 更新する前に, 古い qrunner のプロセスで qfiles/ の
    全てのメールをクリアーしておくことが重要です. でないと更新後は, そ
    れらのメールは配送されません. そして, それらの保留メールをどうやっ
    て更新したらよいか, 私にはわかりません.

    注意: Mailman 2.1beta1 に更新する時には, aliases ファイルを再生成
    する必要があります. alias の名前やそれが呼び出すプログラム, wrapper
    スクリプトに沢山の変更がありました. あなたがお使いのメールサーバを
    Mailman と連携させることの詳細については README.<あなたのMTA> を見
    てください.

    aliases を再生成するには bin/genaliases スクリプトをご利用ください.

    Mailman 2.1 では多言語 (国際化 internationalization = i18n) を導入
    しています. 以前のバージョンでは, ただ一つの言語だけがサポートされ
    ており, この言語は英語であると仮定されていました. Mailman 2.1 への
    upgrade スクリプトは lists/<listname> ディレクトリに `en' という
    サブディレクトリが作成され, lists/<listname> から .txt と .html の
    ファイルを全て lists/<listname>/en にコピーします.

    もし, あなたがこれらのテンプレートファイルを変更して英語でない文書
    を入れていたら, en サブディレクトリを手で名前変更して, 適当な言語
    コードにする必要があります. Mailman の更新スクリプトはデフォルトの
    重複になっているテンプレートを掃除しますが, これを手でよく確認した
    ほうがよいでしょう.

    もし, 標準でないパッチをあてた MM2.0.x をご利用の場合には, 更新に
    別の問題が発生するかもしれません. 現在までの既知の問題としては:

    - もし, パッチ #413752 (平文に強制変更) を当てていたら, 更新はス
      ムーズにはいかないでしょう. パッチ #651406 に非公式の解決法が載っ
      ています.

      http://sf.net/tracker/?group_id=103&atid=300103&func=detail&aid=413752
      http://sf.net/tracker/?group_id=103&atid=300103&func=detail&aid=651406

個別にリストを更新する

    もし, あなたが全てのリストを一度に 2.1 に更新するのが怖ければ, ひ
    とつずつ移動して更新することもできます. まず最初に空のディレクトリ
    に Mailman 2.1 をインストールすます. これを $MM21 と呼びましょう.
    (Mailman 2.0 は $MM20 にインストールされているものとします.)

    こうすることは, 全てのリストを Mailman 2.1 に移動するまでの短い間
    Mailman 2.0 と 2.1 が共棲していることになります. MTA とウェブサー
    バによってはこれは透過的で簡単かもしれませんが, 頭痛の種になるかも
    しれません.

    もし, Apache の mod_rewrite を使っていれば, これはかなり直接的に,
    Mailman 2.1 と 2.0 の両方が /mailman と /pipermail の URL 空間に
    棲みつくように設定できます. これを使うと移行がリストの管理者と会員
    にとって透過的になります. 詳しくは以下を参照.

      * MTA をシャットダウンする.

        もし, リストから出て行くメールが沢山あるときには, 127.0.0.1
        (localhost) からの接続を残して暫く MTA を動かしておいて, キュー
        を流しきるようにする必要があるかも知れません. どのようにするか
        は, MTA に依存します. Exim の場合 "local_interface = 127.0.0.1"
        に設定し, Exim デーモンに "kill -HUP" を送ります.

      * ウェブサーバをシャットダウンする. プロの視点から言うと, あるい
        はウェブサイトのほかの部分にはアクセスできるようにしておきたい
        なら, 全ての /mailman/ へのアクセスに "一時的ですが利用できま
        せん" と書いたページを返すように設定できます.

        どのようにするかはサーバーに依存します. Apache と mod_rewrite
        を使っているなら, 次のようにします.

          RewriteRule ^/mailman/.* /var/www/unavailable.html [L]

        (もちろん自分で /var/www/unavailable.html を作成しておく必要が
         あります.)

      * Mailman 2.0 に queue 処理を強制する:

          Python -S $MM20/cron/qrunner

        (これは, $MM20/qfiles にファイルが残っている場合に必要です; 
         これが必要なときには, MTA が 127.0.0.1 で動いていることを確認
         してください.)

      * リストを移動する:

          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

        (fix_url のステップは Mailman 2.0 と 2.1 が同じ URL空間を共有
         している場合には必要ありません.)

      * ウェブサーバの設定ファイルを書替えてリストの URL が使えるよう
        にします. ここでは, 2つの可能な方法があります. 簡単な方法では
        Mailman 2.1 のインストール用に新しく URL空間を作成します. 例え
        ば /mailman-21 とします.

          RewriteRule /mailman/(.*)/(foo-list.*) /mailman-21/$1/$2 [R=temp]

        ([R=temp] は "/mailman-21/" が一時的な URL であり, Mailman 2.1
         への移行が終ったら全てのリストを "/mailman/" に移すことを仮定
         しています.)

        もし, "/mailman-21" のような醜い URL を世間にさらしたくなけれ
        ば, Mailman 2.0 と 2.1 が同じ URL空間を共有するように, もう少
        し仕事が必要です. 次のように Apache と mod_rewrite を設定しま
        す.

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

        こちらのほうは, 審美的に嬉しいだけでなく, 速いです -- リダイレ
        クトが無いからです.

        どちらをとるにしても, Mailman 2.1 の保存書庫の URL も書替えて
        おく必要があります.

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

      * ウェブサーバを再起動します (又は, "一時的ですが利用できません"
        を除きます).

      * MTA を再起動します (又は, 127.0.0.1 以外も接続を許可します).

2.0 から 2.0.x への更新 (但し, x >= 1)

    更新の際の "make install" 以外は何も必要ありません.

以下略. 英語版の UPGRADING を見てください.(訳者)