3 インストール


以下の例では /usr/local/fml に実行ファイル /var/spool/ml の下に各ML
の directory (例: elena MLは/var/spool/ml/elena)などを作ることにします。

3.1 どのユーザで走らせるか?

ML の運用を特権ユーザでやるべきではありません。一般ユーザ(例えばML専用
のアカウントやあなたのアカウント等)でインストールおよび運用をして下さ
い。ML 用の特別な一般アカウント (e.g. fml 等) を作りその架空ユーザになっ
てインストール・設定を行なうことでしょう。

「makefml install (FML 本体のインストール,後述) 自体は root で実行し、
他の人にはいじれないようにする」という運用ポリシーはありえます。しかし、
それ以外の操作、例えば makefml newml (MLの作成,後述)は一般ユーザで実行
して下さい。

3.2 OS の判定

makefml は自動的にOSを判定し必要なら調整を行ないます。もし使っているOS
が判定できなかったら -O オプションでタイプを強制できます。

	% makefml -O i386-unknown-OSTYPE install

OSによってはインストール情報が提供されていることもあります。チェッ
クしてみて下さい。
例:	Debian Linux	/usr/doc/fml/ の下

System V なマシンで"IPC はだめなので sendmail を exec するぜ"などの 
warning が出たら

	% makefml -O unknown-unknown-sysv install

を試してみる価値はあります(例: NEC EWS4800)。

3.3 運用ポリシー(特に管理者が複数人の場合について)

デフォールトでは fml は各MLの所有者にしかMLの記事などが見られないよう
な permission でMLを作成します。あなたがインストールしようと思っている
マシンでMLを走らせる人(オーナー、所有者)は

	自分だけ?
	自分以外の人もMLを走らせる?

最初にその運用ポリシーを決めておいて下さい。自分一人しか使わないのであ
れば次のセクションへ進んで下さい。ここではML群の管理グループがある場合
について解説します。

fml はインストールの最初で『どういうポリシーで運用するか?』を聞くため
に次のような質問をします。

   Personal Use or ML-Admin-Group-Shared or fmlserv you use? 
   Personal, Group, Fmlserv (personal/group/fmlserv) [personal] 

それぞれの項目の意味は次の通りです。いずれかを選択して下さい。
権限が適当に設定されます。

personal 	自分一人しか使わない(ML群のオーナーは自分だけ)場合。
		自分のアカウントないしML専用のアカウント fml などを使います。
		すべてのファイルやディレクトリはそのアカウントだけで読
		み書き可能です。fmlserv を使うならそのアカウントで走らせます。

group		 "特定多数"のオーナー達がいる場合でfmlservは"使わない"場合
		ある group に属する人達は自由にMLを作成できます。
		各MLはそのMLの所有者だけが読み書きできます。
		/var/spool/ml が group writable 以外は personal と変わ
		りません。

fmlserv  	"特定多数"のオーナー達がいる場合でfmlservも"使う"場合
		ある group に属する人達は自由にMLを作成できます。
		/var/spool/ml だけでなく一部のファイルは group の
		人なら誰でも読み書きできるようになります。
		これは fmlserv のために必要な設定です。
		ただ設定ファイルは各MLのオーナーだけが変更できます。

○ 2、3の事例

自分一人しかMLをいじらないのであれば単に自分が読み書きできれば十分
(personal タイプ)ですが、逆に複数の人が複数のMLを作る場合

	1. それぞれのアカウントで自由に作成することができる
	2. 常に fml というアカウントで必要な操作を行なう

という2つの運用ポリシーが考えられます。

1. 自分だけなら "personal" 

2. MLをリモートで管理する人などが複数いたりしても newml をしたり直接
ファイルをいじるなどの面倒を見るのがあなた一人ならやはり"personal"を選
択してください。

3. 複数の人がいてそれぞれのアカウントで自由にMLを作りたいという場合
は group です。その場合にさらに fmlserv も使うというのであれば fmlserv 
を選択して下さい。

○ グループIDについて

グループのデフォールトは fml です。例えば、 /etc/group に

	fml:*:32765:オーナー1,オーナー2
	(例えば、fml:*:32765:fukachan,hikari,elena のようにです)

のようにオーナー達のアカウント名を,で区切って書きます。
#この数字(32765)に深い意味はありません。

○ MTAに関する注意

現在のMTAでは security のために通常 group writable (グループに入ってい
れば書き込みができる権限)は認めないようになっています。group 設定を使
わないのが望ましいですが、どうしても必要なら group writable を認めるよ
うなMTAの設定変更が必要になります。例えば sendmail.cf をいじったり、
recompile が必要です。設定は各OSやMTAによって変わります。詳しくはMTA附
属のドキュメントを読んで下さい。例えば sendmail.cf なら
DontBlameSendmail などの呪文のあたりを参照するなどになります。

JPCERT の技術メモの中に中村素典先生による非常に良い sendmail 解説があ
るので困ったらここを読みましょう。

http://www.jpcert.or.jp/tech/
 

   O DontBlameSendmail=GroupWritableDirPathSafe
   O DontBlameSendmail=GroupWritableIncludeFileSafe

などが必要です。オプションについては上記ドキュメントなどを参照してくだ
さい。

3.4 インストーラ(makefml)を走らせる

パッケージ(fml.*.tar.gzとか…)をひろげると fml-x.y.. という名前のディ
レクトリができてfmlが壱セット入ってます。このディレクトリに移動して、

	perl makefml install

というコマンドを実行して下さい。そのマシンの上に FML システムをインス
トールします。

補足1: perlのpathの書換えをします。これは通常自動探索ですが、もし特定
のもの(例 /usr/local/bin/perl5)にしたいなら次のように環境変数を指定し
て下さい

   % env _PATH_PERL=/usr/local/bin/perl5 perl makefml install

補足2: インストール時はロックをします。ロックなしでインストールなら

	perl makefml -U install


この時に以下のような項目を聞いて来ます。

   Personal Use or ML-Admin-Group-Shared or fmlserv you use? 
   Personal, Group, Fmlserv (personal/group/fmlserv) [personal ]

   DOMAIN NAME               [fml.org] 
   FQDN                      [beth.fml.org] 
   EXEC FILES DIRECTORY      [/usr/local/fml] 
   TOP LEVEL ML DIRECTORY    [/var/spool/ml] 

   Language (Japanese or English) [Japanese] 

   TimeZone (TZ: e.g. +0900, -0300) [+0900] 

それぞれ次のような意味です。適当に入れて下さい。単にEnter?(CR) を押す
と [] の中の値が自動的に設定されます。

   Personal Use or ML-Admin-Group-Shared or fmlserv you use? 
   Personal, Group, Fmlserv (personal/group/fmlserv) [personal] 

(詳細は前節参照)

   *** ここで、group もしくは fmlserv を定義した場合には group ID
   *** の入力を促されます。
   *** あらかじめ決めておいた group を入れて下さい(前節参照)

    Please define the group (in /etc/group) ML Operators use
    Group of Mailing List Operators (fml or GID ([\w\d]+)) [fml] 


   DOMAIN NAME               [fml.org] 

	ドメイン名。
	メーリングリストのアドレスの @ から後ろで使う部分
	いろいろなアドレスはデフォールトではこの値を使っています。
	もしアドレスにマシン名まで含めたものを使いたいならここで
	fake ですが FQDN を入れてしまって構いません。
	virtual domain の場合も同様にここで virtual domain 名を入れます。

   FQDN                      [beth.fml.org] 

	Fully Qualified Domain Name(マシンのインターネット上での完全名)


   EXEC FILES DIRECTORY      [/usr/local/fml] 

	実行ファイル等の FML system をインストールする場所。
	例えば、この値の場合 

		/usr/local/fml/fml.pl  (main executable file)
		/usr/local/fml/doc/    (document directory)

	等の場所にインストールされる。

   TOP LEVEL ML DIRECTORY    [/var/spool/ml] 

	ML(複数)はこの階層の"下"に作られる。例えば

	   Elena MLを作る場合は /var/spool/ml/elena 
	   Mirei MLを作る場合は /var/spool/ml/mirei

	といった具合に複数のMLがこの場所の下に作られていく。
	ここは各MLごとの設定ファイルや記事を保存する場所です。

   LANGUAGE                  [Japanese] 
	"makefml newml" (後述)の際にML用に作られるドキュメントの言語
	設定。インストールするマシンが .jp の場合[]の中つまりデフォー
	ルトは日本語になります。"Japanese" か "English" が選べます。

	「マシンは jp ドメインではないが日本人向けMLなので
	  help を日本語にするために Japanese としておく場合」
	などの使いわけを想定しています。

   TimeZone (TZ: e.g. +0900, -0300) [+0900] 

	文字どおり TIME ZONE (一応頑張ります)。 ちなみに日本は +0900 です

3.5 /usr や /var を直接いじれない場合(例えばプロバイダ…)

例えばprovider や大学の一般ユーザで

   /home の下だけならいじってよい。   
   /etc/aliases 等はマシンの管理者にいじってもらう

というケースがありえます。その場合は

	/home/fukachan/fml に実行ファイル
	/home/fukachan/ml  にML群の階層

を作るといった形になるでしょう。

3.6 設定の保存

    Config Saved in [/usr/local/fml/.fml] 

設定した directory 等の情報はこの場所に格納されます。次回以降 newml
(後述)する時などはいつもこの値が使われます。
#つまり上で選んだ EXEC FILES DIRECTORYで指定した場所の下の .fml です



[PREVIOUS CHAPTER] [NEXT CHAPTER]
Copyright (C) 1993-1999 Ken'ichi Fukamachi
All rights of this page is reserved.

# This Document(html format) is automatically geneareted by fwix.pl. 
# fwix (Formatter of WIX Language) is fml document formatter system
# designed to generate plaintext, html, texinfo and nroff from one file.
#
# Copyright (C) 1993-1999 Ken'ichi Fukamachi
#          All rights reserved. 
#               1993-1996 fukachan@phys.titech.ac.jp
#               1996-1999 fukachan@sapporo.iij.ad.jp
# 
# FML is free software; you can redistribute it and/or modify
# it under the terms of GNU General Public License.
# See the file COPYING for more details.