<!--
   $FML: chapter.sgml,v 1.7 2002/02/04 00:03:57 fukachan Exp $
-->

<chapter id="overview"> 
	<title>
	&fmldevel; の概要
	</title>

<important>

<para>
&fmldevel; は &fml4; 相当のものを完全に一から書き直すプロジェクトです。
使い方の見かけは &fml4; に"似せて"います。
主な注意点は 
root での作業、 configure の使用、
そして /etc/fml/ 以下のファイル、
特に /etc/fml/main.cf というグローバルな設定ファイルです。
</para>

</important>

<sect1>
	<title>
	インストール作業の概略 
	</title>

<para>
以下で、特に触れていない概念(例: ＭＬとは？)については &fml4; と同様です。
くわしくは &fml4; の資料(
	<ulink url="http://www.fml.org/fml/">
	http://www.fml.org/fml/
	</ulink>
	や
	&fmlbible;
)を適宜、参照して下さい。
</para>

<para>
さて、いつものように elena ＭＬの作成過程を例にとりましょう。
インストールのおおまかな流れは次のようになります。
</para>


<orderedlist>
   <listitem>
	<para>
	<link linkend="download">
	ソースをダウンロードして、展開して下さい。
	</link>
	</para>
   </listitem>

   <listitem>
	<para>
	<link linkend="install">
	ユーザ root でインストールをする。
	まず、ユーザ fml とグループ fml を作成し、
	<link linkend="install.configure">
	configure
	</link>
	および make を実行して下さい。
	</link>
<screen>
% su root
# groupadd fml
# useradd -m -g fml fml
# ./configure
# make install
</screen>
	</para>

	<para>
	(デフォルトでは)インストーラは /usr/local/bin 
		<footnote>
		<para>
		デフォルトでは /usr/local ディレクトリ以下に
		適宜サブディレクトリが作られます。
		<link linkend="install.configure">
		configure のオプション 
		</link>
		で変更が可能です。
		</para>
		</footnote>
	に 
	fmldoc fmlconf fmlthread makefml fmlhtmlify fmlsch
	などをインストールします。
	実は、
	これらは
	/usr/local/libexec/fml の下の実体を呼び出す単なる
	wrapper です。
	</para>
   </listitem>


   <listitem>
	<para>
	<link linkend="guide.newml">
	ユーザ fml で elena ＭＬを作る。 
	</link>
<screen>
% su fml
% makefml newml elena
</screen>
	</para>
   </listitem>


   <listitem>
	<para>
	MTA から fml を起動するために
	/etc/mail/aliases の設定などをしてください。
	</para>
   </listitem>


   <listitem>
	<para>
	ＭＬ の動作テストをしてください。
	</para>
   </listitem>


   <listitem>
	<para>
	<link linkend="guide.config.cf">
	ＭＬ のカスタマイズをする。 
	</link>
	</para>
   </listitem>

</orderedlist>

<warning>
<para>
&fml4; と異なり root でインストールすることに注意して下さい。
</para>
</warning>

</sect1>


<!-- ============================================================= -->
<sect1 id="guide.newml">

   <title> ＭＬを作る </title>

<para>
方法は &fml4; と同様です。 
現状では 
config.cf (設定ファイル) と
fml を起動するために MTA が呼び出すファイルである
include 
および
include-ctl をインストールしてくれます。 
<screen>
% su fml
% makefml newml elena
% ls /var/spool/ml/elena
config.cf include include-ctl
</screen>
カスタマイズは config.cf をエディタで編集して下さい。
とりあえず config.cf の先頭の ml_domain と ml_name が
正しいかどうかを確認して下さい。
<screen>
config.cf の例

# ドメイン名 (参照: 以下のアドレスを見よ $ml_domain がこの値に展開される)
ml_domain           = fml.org

# ML の名前
ml_name		    = elena		

# 管理者のアドレス
maintainer	    = $ml_name-admin@$ml_domain

# 投稿用のアドレス
address_for_post    = $ml_name@$ml_domain

# コマンド用のアドレス
address_for_command = $ml_name-ctl@$ml_domain
</screen>
</para>

<para>
include include-ctl aliases の書き方は &fml4; と同様です。
include ファイルの PATH がちょっと違いますが、
aliases の設定の仕方は一緒です。
</para>

<para>
/var/spool/ml/elena/include ファイルは
<screen>
"| /usr/local/libexec/fml/fml.pl /var/spool/ml/elena"
</screen>

/var/spool/ml/elena/include-ctl ファイルは
<screen>
"| /usr/local/libexec/fml/fml.pl /var/spool/ml/elena --ctladdr"
</screen>
</para>


<para>
aliases への追加は次のようにして下さい。
<screen>
elena: :include:/var/spool/ml/elena/include
elena-ctl: :include:/var/spool/ml/elena/include-ctl
elena-admin: fml
owner-elena: fml
owner-elena-ctl: fml
</screen>
aliases はまだ makefml が生成していません
( &fmldevel; は virtual domain を前提にした扱いなので、
ディレクトリ構成などをもうちょっと考えたいので、まだ自動生成されていません。
もうちょっと待って〜)。
</para>


<para>
aliases のエントリは
$ml_home_prefix/etc/mail/aliases
に追加されます。
<screen>
### BEGIN-elena@fml.org-ML-aliases ###

# address for post
elena: :include:/var/spool/ml/elena/include
owner-elena: fukachan

# address for command
elena-ctl: :include:/var/spool/ml/elena/include-ctl
owner-elena-ctl: fukachan

# maintainer
elena-request: elena-admin
elena-admin: fukachan

### END-elena@fml.org-ML-aliases ###
</screen>
バーチャルドメインの場合、
$ml_home_prefix の部分は  
$virtual_maps にしたがって自動的に変化します。
</para>

<!--

        案１
        /etc/fml/ドメイン名/aliases

        案２ (prefix は virtual_maps でドメインごとに定義されているの
                で一意に定まる)
        /var/spool/ml/etc/mail/aliases

-->


</sect1>


<sect1 id="guide.config.cf">
	<title>
	カスタマイズをする
	</title>

<para>
elena ＭＬの設定のカスタマイズは /var/spool/ml/elena/config.cf を編集
して下さい。
フォーマットは postfix の設定ファイルと同様というとわかりやすいでしょう。
(&fml4; の config.ph よりは cf にやや近いですが)
</para>

<para>
適宜必要な項目だけを追加して下さい。
指定しない場合はデフォルト値が使われます。
デフォルト値はインストールしたバージョンに依存しており、
<screen>
/etc/fml/defaults/バージョン番号/default_config.cf
</screen>
というファイル中で定義されています。
これは perl のライブラリが /usr/local/lib/perl/5.00503/ のように
バージョン番号付のディレクトリに置かれるのと似ています。
</para>

<para>
また、ライブラリなどのインストール先も fml のバージョンごとに
別のディレクトリになっていることに注意して下さい。
この仕組みのおかげでアップグレードしても元に戻すのが簡単です。
これは &fml5; の特徴です。
</para>

</sect1>

</chapter>
