[PREVIOUS CHAPTER] [NEXT CHAPTER]

3 Fmlserv - Listserv Style Interface -

    listservのように使いたいとか、サーバの中身を入れ換えるけどなんとなく
    見た目は何が変わったんだろう？？？というフェイクのため:-)

    3.1	Listserv (Or Majordomo) Style Interface (libexec/fmlserv.pl)

    ここでは Listserv (or Majordomo) compatible mode について述べます。つ
    まり FML コマンドを Listserv のようなインターフェイスで呼ぶための仕組
    みです。これは単なるインターフェイス変換プログラムに過ぎません。

    例えば今 Elena ML (elena@baycity.asia) と Freekick ML
    (freekick@baycity.asia)があるとすると、デフォールトでは
    elena-ctl@baycity.asia へコントロールコマンドを送り込む形でコマンドを
    実行できます。

       "get 1-10 mp"		というメールを
       Elena-ctl@baycity.asia	へ送る

    ことで最初の10個の記事を取り寄せることができます。これを同じことが

       "get elena 1-10 mp" 	というメールを
       fmlserv@baycity.asia		へ送る

    	"get Freekick 1-10 mp"
    	"get elena 1-10 mp".

    ことで実行できるようになります。こう書くと全然ありがたみがないですね;-)。
    違う点は単にコマンドのシンタックスが拡張されて『コマンド ＭＬ オプショ
    ン』の形になることです。コマンドそれぞれについてＭＬを指定するので

       "get Freekick 1-10 mp"
       "get elena 1-10 mp" 	というメールを
       fmlserv@baycity.asia		へ送る

    と、一通のメールで Freekick と Elena それぞれのＭＬの最初の10通の記事
    を取り寄せることができるようになります。

    オプションが後に来るとか、いろいろシンタックスが異なりますが、これはこ
    れで便利なような気がします。おそらく最大の問題(ずっと実装されなかった
    最大の理由は)security の問題でしょう(後述)。

    3.2	インストール

    一番楽なインストール方法は makefml を使ってインストールする方法です。
    詳細は INSTALL というファイルを見て下さい。

    	/usr/local/fml/makefml fmlserv

    でセットアップされます。

    fmlserv@baycity.asia を設定し通常のＭＬを２つ管理する設定を考えてみま
    す。ML は次のものを考えます。

    	elena@baycity.asia	(/var/spool/elena)
    	Freekick@baycity.asia	(/var/spool/Freekick)

    makefml install 時に fmlserv mode (personal / group / fmlserv の選択)
    を選択しているものとします。fmlserv の set up は makefml fmlserv を実
    行すると fmlserv というMLが作られます。概念的には fmlserv も配送などは
    しませんが、一種のMLです。そのため/var/spool に elena Freekick fmlserv
    というML群が作られます。他のMLと同様にfmlserv の下に作られた include
    ファイルを用いて/etc/aliases を setup しnewaliases します。

    "/var/spool/fmlserv/include" is as follows:

    	"|/usr/libexec/fml/libexec/fmlserv.pl /var/spool"

    のようになります。見かけは同じように見えますが引数の意味は少し違います。
    引数は通常の fml.pl の一つ上の directory を定義します。
    今 /var/spool/ を定義したので、その下の階層に

    	/var/spool/fmlserv
    	/var/spool/elena
    	/var/spool/Freekick
    	...

    のようにＭＬが並びます。つまり

    	/var/spool/elena/config.ph
    	/var/spool/elena/spool/
    	...

    	/var/spool/Freekick/config.ph
    	/var/spool/Freekick/spool/
    	...

    	/var/spool/fmlserv/config.ph
    	...

    のような感じになります。ここで /var/spool/fmlserv だけは特別な
    directory で、ここに fmlserv のログ ($FMLSERV_LOGFILE, default is
    "/var/spool/fmlserv/log") を取り、HELP ファイル
    (/var/spool/fmlserv/help)をここに置きます。/var/spool/fmlserv というパ
    スは $FMLSERV_DIR で設定を変更できます。

    3.3	使えるコマンド一覧

    ＊注意＊
    97/03/08 からデフォールトでは lists コマンドを使えないようにしました。

    というのは、このコマンドを使って、一覧を手に入れ、fake mail で
    自分じゃない人を登録してまわるとかいういたずらに多用されるためです。

    	$FMLSERV_PERMIT_LISTS_COMMAND  = 1; (default 0)

    で使えるようになります(default は 0 で使えない)
    ＃余談： もともと mailing-list, mailing-list-ctl を使い、
    ＃       公開しない限りアドレスは分からないのが標準スタイルなので
    ＃       この lists を使わせないというのは思想的には矛盾しないで
    ＃       むしろよろこばしいとおもいます。

    同様に which コマンドについても

    	$FMLSERV_PERMIT_WHICH_COMMAND  = 1; (default 0)

    で制御されます。

    ○ fml で使えるコマンドすべてが使えます。ただし、

    	コマンド ＭＬ オプション

       のようにＭＬ名がコマンドの次にはさまることに注意。

    ○ fmlserv 独自のコマンド

    	help		fmlserv のHELP
    	which		From: のアドレスがどのＭＬに属しているかを表示

            ●デフォールトでは使えないコマンド
    	lists		fmlserv のコントロール下にあるＭＬ一覧

    3.4	Variables

    	$MAP_DB

    is a cache for 'lists' command.

[PREVIOUS CHAPTER] [NEXT CHAPTER]