FML.ORG で第四世代から第五世代サーバへ引越しをした時の記録です。 以下に参考資料としてまとめておきます。
結論から言えば、fml4 → fml8 コンバータは使いませんでした。 すべてをコピーして MTA 用の設定を生成しました (include のたぐいは強制上書きしました)。
(1) 新サーバを用意します。 ホスト名は今まで使ったことのない新しいものをつけました。 この段階では、 "新サーバでインターネットからのメールを受け付けない" ようにしてください。
(2) 新サーバでの Postifx の設定をしてください。 Postfix は localhost と新ホスト名だけを mydestination として受けとるように設定します。 使ったことのあるドメインすべてをバーチャルドメインとして処理するためです (あとで fml8 が生成する virtual_maps の設定で Postfix がバーチャルドメインとしてメールを受信するようになります )。
(3) 旧サーバでの fml8 あてメールをすべて処理します。 旧サーバの Postfix でメールを新たに受信しないようにし、 新たにメールを受け付けないように設定しておいてください ( 例: smtpd プロセスを止めるか、 Postfix で inet_interfaces = localhost に設定するなど… もちろん smtpd プロセスを止めるほうがよいです。 )。
そして Postfix のキューを無くしてください(flush しつくしてください)。 残っているキューを調べML宛のものがないことを確認します (mailq と postcat、削除するなら postsuper も使ってください)。 ps で走っているプロセスがないか?も確認してください。
旧サーバで処理されるべきメール (fml へ入力する方向のメール)がすべてなくなった、 つまり、これ以上のMLの更新がなくなったことに自信ができたら、 次のステップへ進んでください。
(4) 旧サーバから新サーバへMLのデータすべてをコピーします (つまり /var/spool/ml 以下すべてのデータをコピーといったことです)。 時間をかけないために、もちろん事前にコピーがしてあり、 最後の差分だけをコピーするべきです (たとえば rsync を使って行なってください)。
(5) MLのパスを再配置します。
ベースディレクトリ/ドメイン名/ML名 例: /pub/ml/labs.example.org/ /pub/ml/test.example.org/info /pub/ml/test.example.org/test ...として、ドメイン名がはっきり分かるようにしました。
(6) ドメインごとにMLの設定を再生成します。
% su root # makefml newdomain ドメイン名 ベースディレクトリ/ドメイン名 # suspend % makefml --force newml ML名1 % makefml --force newml ML名2 ... 必要なもの全部 ...config.cf include ファイル群、MTA用の設定ファイルが生成されます。 デフォルト値と異なる設定のMLは config.cf を編集してください。
(7) fml8 が生成する Postfix の設定ファイルのパスを Postfix へ反映させます。 fml8 がドメインごとに生成したファイルを Postfix の alias_maps と virtual_maps へ設定を追加し、 動作確認をしてください。
(8) ドメインの数だけ (6)(7) を繰り返してください。
例: MLで利用するドメインは /vol/ml/ドメイン/ としました。 この下に各ドメインのML群が生成されます。 以下の例では bsg.example.org ffs.example.org nsrg.example.org の3ドメインがあります。
[/usr/pkg/etc/postfix/main.cf の例] alias_maps = hash:/etc/mail/aliases hash:/vol/ml/bsg.example.org/etc/mail/aliases hash:/vol/ml/ffs.example.org/etc/mail/aliases hash:/vol/ml/nsrg.example.org/etc/mail/aliases virtual_maps = hash:/usr/pkg/etc/postfix/virtual hash:/vol/ml/bsg.example.org/etc/postfix/virtual hash:/vol/ml/ffs.example.org/etc/postfix/virtual hash:/vol/ml/nsrg.example.org/etc/postfix/virtual
(9) ローカルでテストをして問題がないようなら、 新サーバでインターネットからのメールを受け付けるようにします (/etc/postfix/main.cf の inet_interfaces か /etc/postfix/master.cf を編集し、 念のため postfix reload ではなく postfix stop して postfix start)。
これで終りです。きれいになりましたね。
なお、WWW アーカイブの作りなおしなど必要なら、さらに作業が続きます。 本ドキュメントの該当する記述を参照して下さい。
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >