[PREVIOUS CHAPTER]
[NEXT CHAPTER]
9 設定ファイルの編集について
各 ML のHOMEディレクトリには cf と config.ph という2つのファイルがあ
ります。config.ph がその ML の動作を制御するもっとも大事なファイルです。
cf というファイルは主にメニュープログラムが処理しやすくするために存在
します。
一般に初心者はメニューで設定を行い cf や config.ph を直接いじらない。
慣れてきたら config.ph を直接EDITする人が多いようです。config.ph を直
接EDITするようになったら cf ファイルは消しても構いません。
9.1 設定ファイル(cf と config.ph)についての注意
fml.pl がメーリングリスト本体です。このプログラムにメールを入れるとメー
リングリストとして作動します。fml のほとんどすべてのプログラムの動作は
config.ph という設定ファイルの内容で挙動が変わります。
makefml config (=> Chapter 7.0)は cf というファイルを
編集するメニュー形式のインターフェイスです。makefml はこの cf というファ
イルから config.ph を毎回作っています。例: elena MLの場合
/var/spool/ml/elena/cf -> /var/spool/ml/elena/config.ph
メニューの画面で設定できない(より進んだ/凝った)設定をする場合
大きくわけて二通りの運用方針があります。
1. 常に cf ファイルを編集し、その cf から config.ph を作る。
MLのHOMEで make config.ph というコマンドをうつと
cf -> config.ph はつくられます。
makefml config も使用できます。
* 2000/05/09 以降の fml-current には同じことをする
% makefml update-config.ph ML
というコマンドが用意されています。でもこれなら
MLのHOME以外からの実行も、 make がないOSでもOKです。
2. 今後は cf も makefml も使わず config.ph を手で編集する。
cf ファイルは config.ph のマスターですが config.ph を直接編集しても
構いません。むしろ望ましいです。しかし config.ph を手でいじって、
そのあと makefml config を使うとせっかくの設定が上書きされて消されて
しまいます。この場合 makefml は警告を出して一回止まりこのまま進んで
いいかどうか尋ねてきます。
9.2 cf ファイルと config.ph のフォーマット
○ config.ph
書き方は perl の構文そのものです。
○ cf ファイル
『変数名 値』をスペースかタブで区切って書く UNIX 伝統のスタイルです。
行の # 以降はコメントです。cf で定義されていないものはデフォルト値が
使われます。つまり cf にはデフォルトと異なる差分だけを保守するのに便
利です。
#/usr/local/fml/cf/MANIFEST に変数の一覧とデフォルト値があります。
cf の『変数名 変数の値』行は config.ph の『$変数名 = "変数の値";』行に
変換されます。つまり『変数名は perl の変数名から $ をとったもの』です。
例: cf で
MAIL_LIST elena@$DOMAINNAME
PERMIT_POST_FROM members_only
REJECT_POST_HANDLER reject
は config.ph の
$MAIL_LIST = "elena\@$DOMAINNAME";
$PERMIT_POST_FROM = "members_only";
$REJECT_POST_HANDLER = "reject";
に変換されます。cf に現れない変数は config.ph にデフォルト値を持って
生成されます。config.phに設定される変数一覧は cf/MANIFEST にあります。
デフォルト及び変数一覧はこのcf/MANIFEST(例: /usr/local/fml/cf/MANIFEST)
というファイルを読んで下さい。
cf ファイルではLOCAL_CONFIG というキーワードから後は生の perl 構文が書
けます。ローカルハックはこの部分に記述しておくと便利。この部分は cf ->
config.ph を再生成した時に config.ph の最後につけ足されます。
9.3 makefml config-template; configの大元のファイルをメニューで編集
newml 時に $DIR/cf は $EXEC_DIR/etc/makefml/cf というファイルから生成
されています。同じような設定の ML を複数作るのであればあらかじめ
$EXEC_DIR/etc/makefml/cf というファイルを編集しておいた方が後々楽がで
きます。もちろん手動で設定変更しても構いません(ロックも不必要)。
makefml config-template
は特定の ML ではなくこのファイル($EXEC_DIR/etc/makefml/cf) に対して
"makefml config" 同様のメニュー編集機能を提供します。_ML_ などのテンプ
レートで使われている生の記号が出てきますが、その辺は触らないようにして
下さい。例えば自動登録をデフォルトにしてしまうなどに用いることができ
ます。
9.4 template (生成されるファイルの元) の直接編集
テンプレートを直接編集する場合です。cf だけでなく help ファイルなどの
テンプレートの編集にも使えます。
cf はメニューでのテンプレート変更ができますが、もっと複雑な変更がした
い場合は直接編集する必要があります。テンプレートにあらかじめ必要な設定
を仕込んでおけば ML 作成時に必要な作業を減らすことができます。このファ
イルを直接いじってもよいし、
makefml edit-template cf
で cf の template をいじってもよいです。あまり違いはありませんが
makefml 経由だとファイルがどこにあるか?を探す手間がないだけです。
makefml はエディタを起動し cf ファイルの template をいじれるようにしま
す。この時環境変数 EDITOR の Editor が使用されます。同様に
makefml edit-template help.jp (Japanese help file template)
makefml edit-template help.en (English help file template)
とすると作成される help ファイル(日本語)の template を edit することが
できます。
[PREVIOUS CHAPTER]
[NEXT CHAPTER]
Copyright (C) 1993-2001 Ken'ichi Fukamachi
All rights of this page is reserved.
# This Document(html format) is automatically geneareted by fwix.pl.
# fwix (Formatter of WIX Language) is fml document formatter system
# designed to generate plaintext, html, texinfo and nroff from one file.