バーチャルドメインの取り扱いについて 2003/11: バーチャルドメインの取り扱い方を拡張しました。 virtual_maps は obsolete となりました。が、互換性のため利用可能となっ ています。今後は virtual_maps の代わりに ml_home_prefix_maps を使うこ とになります。また、ml_home_prefix_maps を操作する newdomain と rmdomain コマンドが創設されました。 モティーフ &fml8; 全体で統一的に扱えるようにしたい。 また、できるだけ &fml4; の素直な拡張であってほしい。 さらに、引越しなどが出来るだけ楽であると嬉しい。 そこで、「ユーザ@ドメイン」形式の文字列をML名に使うことにします。こ れでデフォルトのドメインかバーチャルドメインかを &fml8; が解釈すること が可能です。 また、引越しやディレクトリ名の変更を楽に行なうコマンドを用意する予定で す。 概要: &fmldevel; におけるバーチャルドメインの取り扱い あるドメインを使いはじめる時は、最初に newdomain コマンドを実行して下さい。 このコマンドは ml_home_prefix_maps (正確には primary_ml_home_prefix_map)を適宜、編集してくれます。 この後は &fml4; と同様に makefml (or fml) コマンドを使ってください。た だし、makefml (or 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も作りなおすような気がする(嘘?)。 いずれにせよ、ドメインの移行はいっぱい直すところが あるので、そんなに簡単じゃない。 ホストを新しくするか? うむ、これは割とありそうだ。 解決しないといけない問題はディレクトリのパスが変わること。 /usr/local/etc/fml/ の変更だけで解決できないか? いや、include ファイルがこんな風になっているが、 "| /some/where/libexec/distribute elena@fml.org" 書式変更が必要ではないのか? 4.0 から 8.0 へは? mergeml コマンドがある。 一応、fml.pl は互換性のため fml.pl $DIR も可で、 libexec/distribute libexec/command など新しいコマンドは ML名を引数にとるということにしてある。