バーチャルドメインの取り扱いについて できるだけ fml 全体で統一的に扱えるようにするには virtual domain をどう扱うかは難しい問題です。 問題その1は、makefml などでバーチャルドメインであることを、どう表現す るか?です。そして問題その2は、場変(ホストを新しくする、ドメインを変 更する)場合にも簡単に設定変更ができるにはどうすればよいのか?というテー マです。 結論を先にいえば、「ユーザ@ドメイン」形式の文字列をML名に使えばデフォ ルトのドメインかバーチャルドメインかに関わらず「fml がよきにはからう」 ようになっています。ただ、ヒントは必要なので、etc/fml/virtual というファ イルに設定を書くことにしています。このファイルは main.cf の virtual_maps という変数で定義されているファイルです。 概要: &fmldevel; におけるバーチャルドメインの取り扱い 最初に一回 /etc/fml/virtual を手で編集 してください。これだけで OK です。あとは fml がよろしく頑張ります。た だし、いろいろな操作でML名を「ユーザ@ドメイン」形式で指定することに 注意して下さい。 デフォルトのドメインの場合には、@ドメインが不要となります。 つまり、この場合に限り &fml4; と同じ形式に戻るというわけです。 例えば、コマンドの操作はMLではなく、ML@ドメイン名を使うことになり ます。つまり makefml newml ML@virtualdomain makefml add ML@virtualdomain address makefml bye ML@virtualdomain address などといった具合いになります。 なお、CGI での操作ではドメイン名の指定は不要です。これは、config.cgi 生成時にドメインがスクリプト中に埋め込まれているためです。画面にもドメ イン名が出ているはずですし、そもそも URL にドメイン名が入っている http://lists/~fml/cgi-bin/fml/$domain/admin/config.cgi ので、どのドメインの操作をしているのかはわかっているはずです。 なお、CGI の URL にドメイン名が入っているのは、操作する人にとって分か りやすいようにという配慮であって、URL を元にドメイン名を決めているわけ ではありません。ML名やドメイン名は newml 時に作成される .cgi スクリ プトにハードコーディングされています。 ケーススタディ: ひっこし / 場変 はどうするの? (書きかけ_o_) ホストを新しくする? ドメインを変更する? 他には何かある? ドメインの変更は考えなくても良いか? ドメインの変更なんてそんなにあるか? 変更するならMLも作りなおすような気がする(嘘?)。 いずれにせよ、ドメインの移行はいっぱい直すところが あるので、そんなに簡単じゃない。 ホストを新しくするか? うむ、これは割とありそうだ。 解決しないといけない問題はディレクトリのパスが変わること。 /etc/fml/ の変更だけで解決できないか? いや、include ファイルがこんな風になっているが、 "| /some/where/libexec/distribute elena@fml.org" 書式変更が必要ではないのか? 4.0 から 8.0 へは? 一応、fml.pl は互換性のため fml.pl $DIR でも可で、 libexec/distribute libexec/command など新しいコマンドは ML名を引数にとるということにしてある。