	fml 4.0 へのアップグレード・インストールの際の注意

				深町 賢一

I think "principle of least surprise" is most important in upgrade.

------------------------------------------------------------
1	fml 3.0 から fml 4.0 へのアップグレードの際の注意点
1.1	fml 4.0 works with perl 5 only 
1.2	fml CGI インタフェイス
1.3	データベースアクセス
1.4	PGP 関連の機能の変更点
1.5	ローディング

2	PGP まわり ( fml-current (3.0I) 2000/08/12 以降 )
2.1	ディレクトリの階層構造について
2.2	makefml の使い方 （互換性について)
2.3	省略しない makefml の使い方 （admin コマンドの認証鍵の操作）
2.4	省略しない makefml の使い方 （ ML の暗号化の鍵の操作）

3	3.0 以前から 4.0 へのアップグレード
------------------------------------------------------------


1	fml 3.0 から fml 4.0 へのアップグレードの際の注意点

4.0 の主な新機能とアップグレードの際の注意についてまとめます。

3.0 と 4.0 は機能の追加はあっても、内部構造の変更はほとんどありません。
そのため PGP 関連を除き操作性は 3.0 との相違はわずかといえます。

1.1	fml 4.0 works with perl 5 only 

もっとも大事な点は perl 5 でしか動かないことです。
3.0.1 までは perl 4 でも動きました。perl 5 に入れ換えて下さい。
ちなみに、各 OS のデフォールトの perl はどうなっているか？
のリストは以下の URL にあります。
	http://www.fml.org/fml/devel/OS_and_Perl.txt

1.2	fml CGI インタフェイス

詳しくは
	http://www.fml.org/fml/Japanese/GUI/

4.0 で追加された操作インタフェイスです。アップグレードに際し特別な注意
点はありません。

CGI はオプションです。無理に使う必要はありません。

4.0 以前に作った ML を fml CGI インタフェイスでも操作可能かどうかは従
来から makefml メニューで操作していたか否か次第です。しかし config.ph 
を生編集していたのなら、CGI からのメニュー操作はできません。config.ph 
を生編集していたのなら、CGI からのメニュー操作はmakefml config と操作
がぶつかることと理由は同じです。

なお、オーナさえ一致させればメンバーの登録/削除等は問題なく使えるはず
です。

1.3	データベースアクセス

従来のコードへの追加という位置付けになります。
アップグレードに際し特別な注意点はありません。

リレーショナルデータベース
	http://www.fml.org/fml/Japanese/RDBMS/

LDAP
	http://www.fml.org/fml/Japanese/LDAP/

1.4	PGP 関連の機能の変更点

fml 4.0 ではPGP キーをおくディレクトリと makefml のコマンドの拡張があ
ります。

3.0 までは例えば elena ML の PGP 認証( admin コマンド)および
 ML の暗号化のキーは、ともに /var/spool/ml/elena/etc/pgp/ におかれてい
ました。これでは２つの機能「admin コマンドの PGP 認証」「 ML の暗号化」
を同時に使いたい場合に、キーが混在せざるを得ません。また makefml pgp 
もこの混在したファイルを操作しなくてはなりません。

◯ fml を今迄通り使いたい場合

	1. /var/spool/ml/etc/fml/site_force.ph に

		$DIST_ENCRYPT_KEYRING_DIR = $PGP_PATH;
		$ADMIN_AUTH_KEYRING_DIR   = $PGP_PATH;

	   と書くと、3.0H までと同じ(つまり混ざった状態)になります。
	   片方しか使わないなら別に問題はないのですが…

	2. もっと後向きな or 危ない解決方法として

		% cd /var/spool/ml/elena/etc
		% ln -s pgp dist-encrypt
		% ln -s pgp admin-auth

	    でも 3.0H までと同じことになります。

◯ makefml を今迄通り使いたい場合

	makefml pgp elena

		は

	makefml admin-auth.pgp2 elena

	と同じ意味になっています。つまり 
	PGP version 2 で admin コマンドメールの PGP 認証
	のために PGP2 の鍵を操作することになります。

1.5	ローディング

あまり目に見えない差ですが、将来の拡張性のために、設定ファイルを読み込
む順番が少し異なります。

注: 
あえて 4.0 風にする必要はありません。従来の config.ph ファイル
をそのまま使い続けて構いません。

2	PGP まわり ( fml-current (3.0I) 2000/08/12 以降 )

2.1	ディレクトリの階層構造について

 fml 3.0 までは $DIR/etc/pgp だけでした。
 例: /var/spool/ml/elena/etc/pgp/

 fml 4.0 では PGP の鍵の置き場所が意味的に４つに分かれました。

	$DIST_AUTH_KEYRING_DIR     = "$DIR/etc/dist-auth";
	$DIST_ENCRYPT_KEYRING_DIR  = "$DIR/etc/dist-encrypt";
	$ADMIN_AUTH_KEYRING_DIR    = "$DIR/etc/admin-auth";
	$ADMIN_ENCRYPT_KEYRING_DIR = "$DIR/etc/admin-encrypt";

 実際に意味があるのは次の2つだけです。

   * 投稿記事の暗号化の際に用いる PGP の鍵の置き場所
	$DIST_ENCRYPT_KEYRING_DIR	
	例: /var/spool/ml/elena/etc/dist-encrypt/

   * admin コマンドメールの PGP 認証の際に用いる PGP の鍵の置き場所
	$ADMIN_AUTH_KEYRING_DIR
	例: /var/spool/ml/elena/etc/admin-auth/

 NOTE: 他の2つの変数は使ってないけど将来のために予約します。

2.2	makefml の使い方 （互換性について)

 fml 4.0 では

	makefml	モード.pgpコマンド名

になります。またモードのデフォルト値は環境変数 
MAKEFML_PGP_DEFAULT_MODEで指定できます。

例:	真面目に書くとこのように書きます。

	% makefml admin-auth.pgp2 elena [pgpのオプションがつづく…]

しかし認証にしか使わないのであれば
環境変数で admin-auth と指定しておくと便利です。

	% setenv MAKEFML_PGP_DEFAULT_MODE admin-auth
	% makefml pgp elena

上の例と同じ動きをします。
この場合 makefml pgp elena は	makefml admin-auth.pgp2 elena と
再解釈されています。

注意: MAKEFML_PGP_DEFAULT_MODE を明示的に指定しない場合のデフォー
ルトモードはadmin-auth になっています。そのため

	% makefml pgp elena

は
	% makefml admin-auth.pgp elena

と同じです。

2.3	省略しない makefml の使い方 （admin コマンドの認証鍵の操作）

fml 3.0 では makefml pgp により admin コマンドの認証鍵を操作しました。
fml 4.0 では

	makefml	モード.pgpコマンド

形になります。つまり次のような組合せがあります。
歴史的に pgp は pgp2 を意味します。

	makefml admin-auth.pgp
	makefml admin-auth.pgp2
	makefml admin-auth.pgp5
	makefml admin-auth.pgpk
	makefml admin-auth.pgps
	makefml admin-auth.pgpe
	makefml admin-auth.pgpv
	makefml admin-auth.gpg

 あまりに長いので admin-auth を aa で代用できます :-) 
 例:

	makefml aa.pgp2
	makefml aa.pgp5
	makefml aa.gpg

2.4	省略しない makefml の使い方 （ ML の暗号化の鍵の操作）

fml 3.0 では makefml pgp により ML の暗号化のため鍵を操作しました。
fml 4.0 では

	makefml	モード.pgpコマンド

形になります。つまり次のような組合せがあります。
歴史的に pgp は pgp2 を意味します。

	makefml dist-encrypt.pgp
	makefml dist-encrypt.pgp2
	makefml dist-encrypt.pgp5
	makefml dist-encrypt.pgpk
	makefml dist-encrypt.pgps
	makefml dist-encrypt.pgpe
	makefml dist-encrypt.pgpv
	makefml dist-encrypt.gpg

 de で代用できます。例:

	makefml de.pgp2
	makefml de.pgp5
	makefml de.gpg

3	3.0 以前から 4.0 へのアップグレード

上述のように4.0 へのアップグレードは PGP 関連以外に特別な注意点はあり
ません。3.0 以前から 4.0 へのアップグレードは、むしろ 3.0 以前と 3.0 
との自動登録の差がむしろ問題でしょう。

3.0 へのアップグレードについては、こちらを参照して下さい。
	../UPGRADE-3.0/

$FML: UPGRADE.wix,v 1.10.2.1 2001/07/01 03:37:37 fukachan Exp $

