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 も使用できます。
2. 今後は cf も makefml も使わず config.ph を手で編集する。
cf ファイルは config.ph のマスターですが config.ph を直接編集し構いま
せん。むしろ望ましいです。しかし config.ph を手でいじって、そのあと
makefml config を使うとせっかくの設定が上書きされて消されてしまいます。
この場合 makefml は警告を出して一回止まりこのまま進んでいいかどうか尋
ねてきます。
9.2 cf ファイルと config.ph のフォーマット
詳細は doc/op.jp というファイルのパートIIIなどを見て下さい。
○ 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-1999 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.
#
# Copyright (C) 1993-1999 Ken'ichi Fukamachi
# All rights reserved.
# 1993-1996 fukachan@phys.titech.ac.jp
# 1996-1999 fukachan@sapporo.iij.ad.jp
#
# FML is free software; you can redistribute it and/or modify
# it under the terms of GNU General Public License.
# See the file COPYING for more details.