バーチャルドメインの取り扱いについて
できるだけ 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名を引数にとるということにしてある。