&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; の特徴です。