&fmldevel; の概要
&fmldevel; でできること
&fml4; の再実装にあたっての山場はすでに越えたと思います。
でも、こまごまとしたものはいろいろと残っていますが…
設定ファイル形式が新しくなりました。
今度は postfix 風の設定ファイルです。
makefml によるコマンド操作は &fml4; と同様です:
MLの作成/削除、
メンバーの登録/削除/変更(chaddr)、
リモート管理者の登録/削除、
ログを見る、
メンバーリストを見る、
他。
CGI による操作:
MLの作成/削除、
メンバーの登録/削除/変更(chaddr)、
リモート管理者の登録/削除、
ログを見る、
メンバーリストを見る。
配送、
ヘッダの書き換え、
フィルタ( 4.0 の Envelope Filter と Content Filter に相当するもの )。
コマンドメール(一般ユーザ):
メンバーの登録/削除/変更(chaddr)、
リモート管理者の登録/削除、
ログを見る、
コマンドメール(リモート管理者):
メンバーの登録/削除/変更(chaddr)、
リモート管理者の登録/削除、
ログを見る、
エラーメールの自動解析
IPv6 による配送
スレッド追跡システム(CUI と CGI を含む):
(fmlthread fmlthread.cgi)
記事の HTML 化(デフォルトで HTML 版も作る):
fmlhtmlify および makefml に HTML 化コマンドがあります。
MTA が起動するメインのプログラム:
fml.pl distribute command error
管理を支援するユーティリティ:
fmladdr
fmlailas
fmlconf
fmldoc
fmlhtmlify
fmlsch
makefml
fml
抽象化 IO 層
メンバーファイルをファイル、/etc/group, NIS, MySQL
から取り出すことができます。
インストール作業の概略
インスール方法は GNU autoconf を使うデファクトスタンダードなものとなっ
ています。&fml4; にあまり似ていません。ですが、OS 附属のパッケージシス
テムなどにはやさしくなっているといえるでしょう。
インストールにおける主な注意点/&fml4;との相違点は、
「root での作業」、
「configure の使用」、
そして /usr/local/etc/fml/ 以下のファイル、
特に
/usr/local/etc/fml/main.cf
および
/usr/local/etc/fml/site_default_config.ph
というグローバルな設定ファイルの編集などです。
さて、いつものように elena ML(elena@fml.org)の作成過程を例にとりましょ
う。インストールのおおまかな流れは次のようになります。
ソースをダウンロードして、展開して下さい。
ユーザ root でインストールをします。
ユーザ root になったら、
まずはユーザ fml とグループ fml を作成します。
その後、
configure
および make install を実行して下さい。
% su root
# groupadd fml
# useradd -m -g fml fml
# ./configure
# make install
(デフォルトでは)インストーラは /usr/local/bin
デフォルトでは /usr/local ディレクトリ以下に
適宜サブディレクトリが作られます。
configure のオプション
で変更が可能です。
に makefml や fmldoc など fml で始まるユーティリティプログラム
群をインストールします。実は、これらは
/usr/local/libexec/fml の下の実体を呼び出す単なる wrapper です。
ユーザ fml で elena MLを作る。
% su fml
% makefml newml elena
もしくは fml コマンド(後述)を使って
% su fml
% fml elena newml
でも OK になりました。
MTA から fml を起動するために
MTA の設定をしてください。
ML の動作テストをしてください。
ML のカスタマイズをする。
&fml4; と異なり root でインストールすることに注意して下さい。
MLを作る
makefml を使ってMLを作成します。
デフォルトのドメイン(例: fml.org)の場合、
makefml の使い方は &fml4; の時と同様です。
elena@fml.org MLを作るには
% su fml
% makefml newml elena
とします。
詳しくは
を参照してください。
一方、バーチャルドメイン(nuinui.net)の場合は、
MLのアドレスを全部指定して下さい。
たとえば elena@nuinui.net を作る場合は、次のように実行します。
% su fml
% makefml newml elena@nuinui.net
MLのメンバーを登録する
デフォルトのドメイン(例: fml.org)の場合は、
% su fml
% makefml subscribe elena rudo@nuinui.net
で構いません。
一方、バーチャルドメイン(nuinui.net)の場合は、
MLのアドレスを全部指定して下さい。
% su fml
% makefml subscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp
MLのメンバーから削除する
デフォルトのドメイン(例: fml.org)の場合は、
% su fml
% makefml unsubscribe elena rudo@nuinui.net
で構いません。
一方、バーチャルドメイン(nuinui.net)の場合は、
アドレスを全部指定して下さい。
% su fml
% makefml unsubscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp
MLの設定のカスタマイズ
まだ makefml config は使えません。ごめんなさい。
ファイルを手で編集して下さい。
そのホスト共通の設定
/usr/local/etc/fml/site_default_config.cf
はこのホストで動く fml すべてに影響を与えます。
これは &fml4; の site_init.ph に相当するものです。
site_default_config.cf のフォーマットは、config.cf (後述)と同様で、
指定できる変数も config.cf と同じです。
全変数のリストは default_config.ph (後述)を見て下さい。
elena MLの設定
elena MLの設定のカスタマイズは
/var/spool/ml/elena/config.cf
を編集して下さい。
フォーマットは postfix の設定ファイルと同様です(&fml4; の config.ph よ
りは cf にやや近いですが、フォーマットが違うことに変わりはない)。
適宜、必要な項目だけを追加して下さい。
指定しない場合はデフォルト値が使われます。
デフォルト値はインストールしたバージョンに依存しており、
/usr/local/etc/fml/defaults/バージョン番号/default_config.cf
というファイル中で定義されています。
これは perl のライブラリが /usr/local/lib/perl/5.00503/ のように
バージョン番号付のディレクトリに置かれるのと似ています。
また、ライブラリなどのインストール先も fml のバージョンごとに
別のディレクトリになっていることに注意して下さい。
この仕組み
のおかげでアップグレードしても元に戻すのが簡単です。
これは &fmldevel; の特徴です。