&fmldevel; の概要
&fmldevel; でできること
&fml4; の再実装にあたっての山場はすでに越えたと思います。
でも、こまごまとしたものはいろいろと残っていますが…
設定ファイル形式が新しくなりました。
postfix スタイルの設定ファイルです。
makefml によるコマンド操作:
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
管理を支援するユーティリティ:
fmlconf
fmldoc
fmlhtmlify
fmlsch
fmlthread
fmlspool
makefml
抽象化 IO 層
メンバーファイルをファイル、/etc/group, NIS, MySQL
から取り出すことができます。
インストール作業の概略
&fmldevel; は &fml4; 相当のものを完全に一から書き直すプロジェクトです。
使い方の見かけは &fml4; に"似せて"います。
インストールにおける主な注意点は
root での作業、
configure の使用、
そして /usr/local/etc/fml/ 以下のファイル、
特に /usr/local/etc/fml/main.cf というグローバルな設定ファイルの編集です。
さて、いつものように elena MLの作成過程を例にとりましょう。
インストールのおおまかな流れは次のようになります。
ソースをダウンロードして、展開して下さい。
ユーザ 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 のオプション
で変更が可能です。
に
fmldoc fmlconf fmlthread makefml fmlhtmlify fmlsch
などをインストールします。
実は、
これらは
/usr/local/libexec/fml の下の実体を呼び出す単なる
wrapper です。
ユーザ fml で elena MLを作る。
% su fml
% makefml newml elena
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 に相当するものです。
フォーマットは、config.cf (後述)と同様で、
指定できる変数も config.cf と同じです。
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; の特徴です。