	INSTALL guide ( on Windows NT 4.0 )
	--- fml mailing list server package ---

				Ken'ichi Fukamachi

このファイルは Unix 版との相違点について記述しています。インストールの
大枠は INSTALL を見て下さい。

------------------------------------------------------------
1	必要なソフトウエア
1.1	必要なソフトウエア
1.2	NT 用の fml ?
1.3	メールサーバごとのメモ
1.4	ケーススタディ: テスト環境

2	fml NT バージョンのしくみ
2.1	2 種類の NT 用 fml
2.2	MetaInfo Sendmail の場合 (prog mailer タイプ)
2.3	fml POP バージョンの場合

3	インストール手順
3.1	インストーラ (ntinstall.cmd)
3.2	POPサーバ と SMTPサーバの設定。 UNIX 版との違い
3.3	まとめ送りについて

4	UNIX 版との相違点について
4.1	POP版での make fml newml (MLの作成)
4.2	POP版での make fml pop_passwd ML名  (POPパスワードの変更)
4.3	mget とまとめ送りのファイル形式のデフォルト

5	ML の運用
5.1	ML の運用
5.2	デバッグ
5.3	ntfml.pl オプション
5.4	MLを削除する

6	トラブルシューティング
6.1	指定したインストール先にちゃんと作られなかった
6.2	config.ph の file size が 0

Appendix A	useful links
------------------------------------------------------------


1	必要なソフトウエア

1.1	必要なソフトウエア

   perl 5 (の NT version)
	うまく動くバージョンを見つけられれば吉です。
	5.6.0 では今一つうまくいかなかったという報告もあり、また
	5.6.0 ではなく 522 なら動いたという事例もあります。
	5.6.0 がうまく動かない場合は build 522 を試してみて下さい。

	http://www.activestate.com/download/ActivePerl/APi522e.exe
	http://www.activestate.com/Products/ActivePerl/Download.html

   メールサーバ
	２つのタイプがあります(後述)。
	プログラムが使えるか否かを確認して下さい。
	それによってタイプが異なります。

1.2	NT 用の fml ?

fml に NT 用のものが特にあるわけではなく、標準ディストリビューションの
中に NT 用は含まれています。

1.3	メールサーバごとのメモ

NT 用のメールサーバは大抵配送システム兼POPサーバです。そのため、fml
POP バージョンはどんなメールサーバでもうごくでしょう。

一方、メールサーバからプログラムを動かすことができた( つまりプログラム 
fml を動かすことができた )と確認できたものは以下の通りです。確かこれ以
外にもあったような気もしなくもないんですが、「これで動いてるぞ」という
のがあったら教えて下さい。

* Sendmail for NT

2.5 (MetaInfo Sendmail 2.5 (?))

3.0 (Sendmail - Products - NT Routing)
	http://www2.sendmail.com/products/routing/nt/

* IMail Server Gold
References: fml -support: 7947 7954 7967 

	OS          Windows NT4.0
	Mail Server IMail Server Gold 4.1J
	Perl        ActivePerl 522
	fml         fml 3.0.1

	開発元: IPSWITCH
		日本語版はクボタグラフィックス<http://wwwcsoft.kgt.co.jp/>

   [解説]

   プログラムエイリアスという機能は「そのアドレスにメールが届いたらプ
   ログラムを起動する」そうでこれを使うと fml を起動できます。aliases 
   ファイルの編集は必要なくなります。

   elena  ML ならプログラムエイリアスに(GUIで選んで)

     C:\\ fml \ml\elena\include.cmd <

   と書けばいいそうです。こうすると

     C:\\ fml \ml\elena\include.cmd < 一時ファイル(STDIN相当)

   という形で fml (include.cmd が呼びます)を起動するらしいです。
   ＃ 4.0J ユーザーズガイドの P.64 にちょっとだけかいてありますね

1.4	ケーススタディ: テスト環境

参考: 	テスト環境

テストには activestate.com の ntperl を使っています。それ以外の NT 用 
で動くのかどうかは未確認です。動いたらぜひ教えて下さい

NT 版のテストは

	i486 architecture
	NT 4.0 service pack 1
	Pw32i307.exe
	ataman rlogind
	MetaInfo Sendmail 2.x 

で行なったものです。

2	fml NT バージョンのしくみ

マルチプラットホーム環境を前提としている fml システムにとって NT ports 
は一つのバリエーションにしか過ぎません。
そのため、Unix 版とほとんど同じコードが NT 上でも動きます。

『ファイルの取り寄せ(get mget コマンド) やまとめ送りで tar や 
gzip を使う』などの Unix のコマンドに依存したコードは動きません。
＃ GNU binutils 入れると動くのかな?(試してない)

普通の get コマンドや MIME/Multipart 形式での mget などは Unix のコマ
ンドに依存していないので問題はありません。そのためファイル取り寄せのデ
フォールトは MIME/Multipart にするなどのデフォルトの変更が加えられて
います。

注意: なお最初に言っておきたいと思いますが、NT自体そしてNT上での
sendmail, bind, perl自体についてはよく知らないので聞かれても困ります。
各売り物/share wareなどについては直接販売元に聞いて下さい。

2.1	2 種類の NT 用 fml

NT4 の上での MTA の多くはSMTPとPOPしかできません。売り物には MTA から 
program を起動する(以下 prog mailer とよぶ)ことができるものもあります。
どれなら prog mailer が動いてどれだとできないというリストはありません。
MetaInfo で成功したことがあるという事例があるだけです。

そのため fml for NT4 にはMTA と ntperl の２つの種類があります。それは

	1.	UNIX と同様に動かすもの (prog mailer タイプ) 
	2.	POP3 をつかうもの	(pop タイプ)

の2種類です。タイプ1は現在のところ事実上 MetaInfo Sendmail 用でUNIX と
同様の設定になります。一方タイプ2は(後述しますが)、 fml がPOPでメールを
POPサーバから持ってきてそれを自分で処理しています。

2.2	MetaInfo Sendmail の場合 (prog mailer タイプ)

MetaInfo Sendmail では prog mailer で動くので UNIX Version と基本的に
同じになります。POP版のように ntfml.cmd をずっと走らせるなどは必要あり
ません(後述)。

現在のインストーラー(2.1A#6以降)では MetaInfo Sendmail なのかそれ以外
かを聞いてきます。MetaInfo を選んだら、そのまま INSTALL ドキュメントの
通りに進んで、aliases をシステムの aliases に cut & paste して 
sendmail -bi などとし newaliases をかけます。詳しくはマニュアルを参照
して下さい。

make fml が最初に prog mailer か POP mailer かを聞くので、作られる見本
ファイルも異なります。例えば aliases や include.cmd は MetaInfo 用の見
本です。インストール後にMTAを変更する場合などは気を付けて下さい。

aliasesは include.cmd include-ctl.cmd をプログラムとして呼び出すように
設定されています。include.cmd の中では wrapper.pl が起動されそれが 
 fml .pl を呼び出します。wrapper.pl は一時間たっても fml .pl が動いている
なら強制的に終了させます。これだけで配送とコマンドシステムは動きます。

まとめ送りは 各 ML にできる msend.cmd というプログラムを定期的に動か
す必要があります（ぼくは設定の仕方知りませんが…まっとうなOSには普通そ
ういうプログラムがあるとおもう)。後は INSTALL を読んでPATHとかは適当に
解釈して下さい。

NT 版では MTA に配送をまかせようとしてMTAに拒否されたらそこで配送は失
敗します(スプールや番号のインクリメントはされます。配送だけは失敗)。こ
の際 UNIX 版では sendmail を起動して送り込みますが NT 版ではうまくいか
ないようです(過去にやった限りでは)。

2.3	fml POP バージョンの場合

NT の多くのMTAでは sendmail が受けとってもその後にプログラムを起動して
くれません。そのため ML の名前の POP アカウントを作ります。 fml はPOP 
でPOPサーバから ML 宛のメールを引きだし fml へ渡すという裏技(苦肉の技)
でメーリングリストを動かすことになります。これは元々は UNIX でPOPしか
させてくれないような場合になんとか ML を実行するために考出された方法が
転用されています(作ったのは1995年ごろの話)。このPOP版は次のような感じ
で動いています。

    * prog mailer 版
    * prog mailer version
    
    	メール → sendmail → fml .pl を起動
    
    ＊ POP 版
    
    	メール → sendmail → スプール
    
    				↑↓ POP3
    
    				pop fml .pl 
    				  とってきたメール → fml .pl を起動
    
    * マスタープログラムである ntfml.pl の動作
    
    ntfml.pl (ずっとはしっている)の無限ループ {
    
    	pop fml .pl を3分に1回起動
    
    		elena ML の場合
    		(ユーザ名 elena のメールボックスを除く)
    
    			→	POPサーバ 
    			←
    
    	○もしメールがあれば		○なければそのまま終わり
    	pop fml .pl
    		↓
    		fml .pl を起動
    
        }

のようになります。つまりMLの実体はメールサーバのユーザ名そのものにな
ります。それをメールソフトのようにPOPで読んできて無理やりMLを実行して
しまうという仕組みです。

3	インストール手順

3.1	インストーラ (ntinstall.cmd)

パッケージを広げると ntinstall.cmd というのがあります。それを起動して
下さい。ソースの修正と、perl make fml install が自動的にすすんでいきま
す。いくつかの項目について尋ねられるので答えて下さい。とりあえずデフォー
ルトでも構いません。

インストールの大筋や尋ねられる項目、make fml の使い方については INSTALL 
というマニュアルを読んで下さい。インストールの最後が少し違います(次節)
が、基本的にはUNIX 版と同じに進めて下さい。

たぶんウィンドウシステムは 

1. MSDOS prompt の上で makefml.cmd とタイプする
2. makefml.cmd のアイコンを直接叩いて起動する

時で挙動が違います。2 の時にはいきなりウィンドウが消えるかも知れません
が、エラーとか画面でいっていないならそれは正常な終了です。

よくわからない M$ テクノロジーとか見栄えをどうにかするソフトウエアなど
は何も使ってないのでちょっとその辺変ですが、お金かけてないのでその辺は
適当に処理して下さい(== 気にしないで下さい;-)。

3.2	POPサーバ と SMTPサーバの設定。 UNIX 版との違い

POP3 タイプのインストールの際には Unix Version の /etc/aliases の設定
の代わりに POPの設定を尋ねられます。ここでいっている

	POPサーバ
	SMTPサーバ

はメールソフトなんかの設定にでてくる用語と同じです。

	POPサーバ		POPで取りにいく先
	SMTPサーバ		配送に使うマシン(SMTPで投げる)

デフォルトは自分自身ですが、適当に変えて構いません。

3.3	まとめ送りについて

* POP  版

そもそも ntfml.pl が cron のようなものなので、まとめ送りはデフォール
トで動いています。まとめ送りのために改めてCRONをあげる必要はありませ
ん。

* prog mailer  版

定期的に msend.cmd を実行するようにOSに設定を仕込む必要があります。

4	UNIX 版との相違点について

4.1	POP版での make fml newml (MLの作成)

 ML 作成時にPOPパスワードを入力が要求されます。例えば elena ML を作る
と

	elena
	elena-ctl
	elena-admin	管理者

が必要です。これらのアカウントをPOPサーバにつくっておいて下さい。
そしてそれと同じPOPパスワードを newml の際に入力して下さい。

elena-ctl のように9文字のものは作れないかも知れません。そうなると 
elenactl にするとか、elena で配送もコマンドも受け付けるように設定する
必要があるかも知れません(INSTALL をみてね)。

いずれにしろ最初の時は elena-ctl が仮定されています。ダミーでいいので
パスワードは入れておいて下さい。(ここどうするのがいいのかよくわからない)。
注意: elena, elena-ctl, elena-admin の権限は最低限のものにして下さい。
      この仮想ユーザたちはメールが読めればいいだけです。

4.2	POP版での make fml pop_passwd ML名  (POPパスワードの変更)

	make fml pop_passwd ML名

e.g.
	make fml pop_passwd elena

のように起動するとPOPパスワードが設定できます。

4.3	mget とまとめ送りのファイル形式のデフォルト

UNIX では圧縮項率を考慮して tar.gz 形式がデフォルトですが、NT では 
tar も gzip も標準ではないため、MIME/Multipart がデフォルトになるよ
うにしています。

5	ML の運用

5.1	ML の運用

* prog mailer 版

メールが来た時だけ起動して働きます。ほおって置いて構いません。

* POP 版

ntfml.cmd は常には知っていなければなりません。これの起動/コントロール
が必要です。このプロセスを殺してはいけません。マシンが止まるまで走り続
ける必要があります。マシンが落ちてリブートした時も走らせる必要がありま
す。

NTのサービスとして登録するプログラムを佐々木さん(
ssk@dmail.plala.or.jp )が作成してくださいました。
登録やコントロールパネルから操作する方法については

	Author: ssk@dmail.plala.or.jp
	http://www6.plala.or.jp/k-ssk/download.html

を参照して下さい。

	http://www.activeplus.com/

なんかもあるようですが…よくわかりません。先日なんか日本語訳するぜと
activeplus.com からメールが来たので日本進出するのかもしれません:)

5.2	デバッグ

ntfml.cmd -d としてデバッグオプションつきで起動させると画面にデバッグ
情報が山ほど出ます。うまくいかない時は試してみると良いでしょう。

5.3	ntfml.pl オプション

	-d		デバッグ
	-o debug_option	デバッグのオプション

	-u 秒数		ループの時間

5.4	MLを削除する

* POP version

ntfmlは毎回 directory を scan しています。そのためMLのホームごと全体
を消してしまえば直に存在する ML として認識されなくなります。またMLに対
応するPOPアカウントを消去しておいて下さい。MLがなくなれば自動的にまと
めおくりについてもされなくなります。

* MetaInfo version

これは普通の fml と同様です。aliases から該当するエントリを削除して
newaliasesをかけて下さい。MLのホームは消さなくても構いません( fml .plな
どが起動されることはないので)。まとめ送りについて別途設定があればそ
れも落とします。

6	トラブルシューティング

6.1	指定したインストール先にちゃんと作られなかった

インストール先のdirectoryをあらかじめ作っておくとうまくいったりします??

6.2	config.ph の file size が 0

修正ずみ (98/07/15)

Appendix A	useful links

統合アーカイバプロジェクト
	http://www.csdinc.co.jp/archiver/

DOSからアーカイブファイル等を利用するために必要なツール及びドキュメント
	ftp://ring.etl.go.jp/pub/pack/00tools/

$Id: INSTALL_on_NT4.wix,v 1.33.2.1 2001/07/01 03:37:34 fukachan Exp $
