&fmldevel; の概要 なお、fml4 と fml8 の相違点についての詳細は、 を参照して下さい。 &fmldevel; でできること &fml4; の再実装にあたっての山場は越えたと思います。 あとは、こまごま、いろいろです。 設定ファイル形式が新しくなりました。 今度は postfix 風の設定ファイル です。 makefml によるコマンド操作 は &fml4; と同様です: MLの作成/削除、 メンバーの登録/削除/変更(chaddr)、 リモート管理者の登録/削除、 ログを見る、 メンバーリストを見る、 他。 CUI の使い方の相違点については 』 を参照して下さい。 GUI (CGI) による操作: MLの作成/削除、 メンバーの登録/削除/変更(chaddr)、 リモート管理者の登録/削除、 ログを見る、 メンバーリストを見る。 設定ファイルの編集機能が未実装です。 配送、 ヘッダの書き換え、 フィルタ( 4.0 の Envelope Filter と Content Filter に相当するもの )。 コマンドメール(一般ユーザ) : メンバーの登録/削除/変更(chaddr)、 リモート管理者の登録/削除、 ログを見る、 コマンドメール(リモート管理者): メンバーの登録/削除/変更(chaddr)、 リモート管理者の登録/削除、 ログを見る、 エラーメールの自動解析 、エラーになるアドレスの自動削除。 IPv6 による配送 スレッド追跡システム(CUI と CGI を含む): 一度、作ったのですが、最初のバージョンは削除され、 2004/03 に総書き直しされました。 記事の HTML 化(デフォルトで HTML 版も作る): デフォルトで作っています。別途、 fmlhtmlify および makefml に HTML 化コマンドもあります。 MTA が起動するメインのプログラム: distribute command error 管理を支援するユーティリティ: fmladdr fmlailas fmlconf fmldoc makefml fml 2004 夏以降: 配送キュー管理システムにより再送処理。 事実上 MTA の役割をしている。 抽象化 IO 層 メンバーファイルをファイル、/etc/group, NIS, MySQL から取り出すことができます。 インストール作業の概略 インスール方法は GNU autoconf を使うデファクトスタンダード(configure そして make)なものとなっています。&fml4; にあまり似ていません。ですが、 OS 附属のパッケージシステムなどにはやさしくなっているといえるでしょう。 &fml8; のインストールにおける主な注意点(&fml4;との相違点)は、 「root での作業」、 「configure の使用」、 /usr/local/etc/fml/ のファイル編集です。 &fml8; の /usr/local/etc/fml/ 以下のファイル群は &fml4; の /usr/local/fml/.fml 以下のファイル群 および /usr/local/etc/fml/site_default_config.ph などに相当していますが、必ずしも一対一対応するわけではありません。 さて、いつものように Unix 上で 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 ディレクトリ以下に 4.4 BSD 風のサブディレクトリが作られます。 ディレクトリパスは configure のオプション で変更が可能です。 に makefml や fmldoc など fml で始まるユーティリティプログラム 群をインストールします。実は、これらは /usr/local/libexec/fml の下の実体を呼び出す単なる wrapper です。 ユーザ fml で elena MLを作る。 % su fml % makefml newml elena もしくは fml コマンド(後述)を使って % su fml % fml elena newml でも同じ意味です(注意: fml コマンドは &fml8; にしかありません)。 MTA から &fml8; の配送プログラムなどを起動するために、 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 root % makefml newdomain nuinui.net /some/where/nuinui.net % su fml % makefml newml elena@nuinui.net 二回目以降 % su fml % makefml newml elena@nuinui.net バーチャルドメイン(nuinui.net)のMLを作る場合、最初の一回目には、「そ のドメインを使う」ための宣言(おまじない?)が必要です。くわしくは を参照して下さい。 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_force.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 にやや近いですが、フォー マットが違うことに変わりはない)。 HOOK (perl script)を各場合は、 (perl script ファイルのように) =cut より後に書いて下さい。 適宜、必要な項目だけを追加して下さい。 指定しない場合はデフォルト値が使われます。 デフォルト値はインストールしたバージョンに依存しており、 /usr/local/etc/fml/defaults/バージョン番号/default_config.cf というファイル中で定義されています。 これは perl のライブラリが /usr/local/lib/perl/5.00503/ のように バージョン番号付のディレクトリに置かれるのと少し似ています。 また、ライブラリなどのインストール先も fml のバージョンごとに 別のディレクトリになっていることに注意して下さい。 この仕組み のおかげでアップグレードしても元に戻すのが簡単です。 これは &fmldevel; の特徴です。