[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".
ことで実行できるようになります。こう書くと全然ありがたみがないですね;-)。
違う点は単にコマンドのシンタックスが拡張されて『コマンド ML オプショ
ン』の形になることです。コマンドそれぞれについてMLを指定するので
"get Freekick 1-10 mp"
"get elena 1-10 mp" というメールを
fmlserv@baycity.asia へ送る
と、一通のメールで Freekick と Elena それぞれのMLの最初の10通の記事
を取り寄せることができるようになります。
オプションが後に来るとか、いろいろシンタックスが異なりますが、これはこ
れで便利なような気がします。おそらく最大の問題(ずっと実装されなかった
最大の理由は)security の問題でしょう(後述)。
3.2 インストール
一番楽なインストール方法は makefml を使ってインストールする方法です。
詳細は INSTALL というファイルを見て下さい。
/usr/local/fml/makefml fmlserv
でセットアップされます。
fmlserv@baycity.asia を設定し通常のMLを2つ管理する設定を考えてみま
す。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
...
のようにMLが並びます。つまり
/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 で使えるコマンドすべてが使えます。ただし、
コマンド ML オプション
のようにML名がコマンドの次にはさまることに注意。
○ fmlserv 独自のコマンド
help fmlserv のHELP
which From: のアドレスがどのMLに属しているかを表示
●デフォールトでは使えないコマンド
lists fmlserv のコントロール下にあるML一覧
3.4 Variables
$MAP_DB
is a cache for 'lists' command.
[PREVIOUS CHAPTER]
[NEXT CHAPTER]