Dell Optiplex GXa Solaris 8  x86  6/00

戻る




メーリングリスト(FML4.0)whithバーチャルドメイン


バーチャルドメインの設定をしたので、ついでにインストール方法からの
全ての設定記録を残しておく。
※これは、2つのドメインが同じ名前のML(info@)を各々持つ場合の記録である。

作者のHPにも書いてあるが、殆どMTA(sendmailやqmailやpostfixなど)
の設定の方が大事。sendmail.cfのバーチャルドメイン設定記録はこちら。

fml側では、ドメイン1つ1つに対して、それぞれ違うfmlをインストール
して動きを分ける。


ドメイン例:
     ドメイン1
	ドメイン名 = [ domain1.com ]
	MXレコード = [ mail.domain1.com ]
	インストール先 = [ /usr/local/fml/ ]
	MLディレクトリ = [ /var/spool/ml/ ]

     ドメイン2
	ドメイン名 = [ domain2.tv ]
	MXレコード = [ mail.domain2.tv ]
	インストール先 = [ /usr/local/fml-domain2.tv/ ]
	MLディレクトリ = [ /var/spool/ml-domain2.tv/ ]



必要なソフトウェア:
	fml-4.0-stable-20020421.tar.gz
	ftp://ftp.fml.org/pub/fml/stable/ 



下準備

(注!!これ以前にPerl-5.xがインストールされている必要がある)

SuperUserになる。
	$ su
	password:

新たなグループ fml を追加しておく。
	# groupadd fml

新たなユーザー fml を追加しておく。
	# useradd -m -d /export/home/fml -g fml -s /bin/bash fml

fmlのパスワードを設定する。
	# passwd fml
	新しいパスワード: ********
	新しいパスワードの再入力: ********
	passwd (SYSTEM): fml の passwd は正しく変更されました。


このユーザーfmlで作業をする必要があるためshを与えてしまった。
外部からfmlでログインできてしまってはセキュリティ上好ましくないので、
SSHログインできないようにする。
(ユーザーfmlになる時は必ず一旦自分でログイン後、fmlにsuすることにする)
viで/etc/sshd_configを開く。
	# vi /etc/sshd_config

以下の一行を追加して保存する。
	DenyUsers  fml


予めdomain1.com用のfmlがインストールされるアプリケーションや設定項目が
入るディレクトリを作成しておく。(このdomain1.comはメインのドメインと
して、ディレクトリ名は、mlのみとする)
	# mkdir /usr/local/fml /var/spool/ml
	# chown fml /usr/local/fml /var/spool/ml
	# chgrp fml /usr/local/fml /var/spool/ml

予めdomain2.tv用のfmlがインストールされるアプリケーションや設定項目が
入るディレクトリを作成しておく。(このdomain2.tvは2つ目のドメインと
して、ディレクトリ名は、ml-domain2.tvとする)
	# mkdir /usr/local/fml-domain2.tv /var/spool/ml-domain2.tv
	# chown fml /usr/local/fml-domain2.tv /var/spool/ml-domain2.tv
	# chgrp fml /usr/local/fml-domain2.tv /var/spool/ml-domain2.tv
	

/var/soppl/ml  の階層ディレクトリのパーミッションを全て755にしておく。
	# cd /
	# chmod 755 var /var/spool /var/spool/ml /var/spool/ml-domwin2.tv

一般ユーザーに戻る。
	# exit
	$

作業ディレクトリを作成する。
	$ mkdir /opt/src/fml-4.0-stable-20020421

アーカイブをダウンロードする。
	$ wget ftp://ftp.fml.org/pub/fml/stable/fml-4.0-stable-20020421.zip

解凍展開する。
	$ unzip fml-4.0-stable-20020421.zip

展開されたディレクトリに移る。
	$ cd fml-4.0-stable-20020421

SuperUserになる。
	$ su
	password:



インストール(domain1.com用)
	# ./makefml install

インストール中にいろいろなことを聞かれるが、以下のようにすべてちゃんと答える。

===================================================================
---Loading the configuration file /usr/local/fml/.fml/system
Personal, Group, Fmlserv (personal/group/fmlserv) [personal] Enter
DOMAIN NAME			[ns1] domain1.com
FQDN				[ns1] mail.domain1.com
EXEC FILES DIRECTORY		[/usr/local/fml] Enter
TOP LEVEL ML DIRECTORY	[/var/spool/ml] Enter
Language (Japanese or English) [English] Japanese
TimeZone (TZ: e.g. +0900, -0300) [+0900] Enter
---Install the Fml system to /usr/local/fml. (y/n) [n] y
===================================================================



インストール(domain2.tv用)
	# ./makefml -U install

===================================================================
---Loading the configuration file /usr/local/fml/.fml/system
Personal, Group, Fmlserv (personal/group/fmlserv) [personal] Enter
DOMAIN NAME			[ns1] domain2.tv
FQDN				[ns1] mail.domain2.tv
EXEC FILES DIRECTORY		[/usr/local/fml] /usr/local/fml-domain2.tv
TOP LEVEL ML DIRECTORY	[/var/spool/ml] /var/spool/ml-domain2.tv
Language (Japanese or English) [English] Japanese
TimeZone (TZ: e.g. +0900, -0300) [+0900] Enter
---Install the Fml system to /usr/local/fml-domain2.tv. (y/n) [n] y
===================================================================


fmlとしてログインする。
	# su fml



新規メーリングリストの作成 1 ( info@domain1.com ) 
参考: http://www.sapporo.iij.ad.jp/staff/fukachan/href/fml/Japanese/basic_setup/config-post-from-anyone.html

この例では、誰でも投稿可能な代表メーリングリスト info@domain1.com
というメーリングリストを作成する。
	$ /usr/local/fml/makefml newml info

info@domain1.com のステータスを設定する。
	$ /usr/local/fml/makefml config info

FML Configuration Interface が起動するので、各項目を調整する。
まず、メーリングリストのメンバー以外からも投稿可能にする。

===================================================================
1 のPOLICY OF ACCESSを選択する。

WHO CAN POST AND USE COMMANDS が開くので、  1 のPERMIT_POST_FROMを選択する。

2 anyone を選択し、 0 ENDで抜け、さらに 0 ENDで抜ける。

3 のSETTINGS AROUND COMMANDS を選択する。

1 のCONTROL_ADDRESSを選択する。

4 のNOT USE選択し、0 ENDで抜け、さらに 0 ENDで抜ける。

5 のHEADER CONFIGURATIONSを選択する。

1 のSUBJECT_TAG_TYPEを選択する。

3 のSubject: [Elena:00100]を選択し、0 ENDで抜ける。

2 のSUBJECT_TAG_FIGUREを選択する。

4 の4 e.g. [elena 0001]を選択し、0 ENDで抜け、さらに0 ENDで抜け、またさらに0 ENDで抜け
ると、設定が書き込まれる。
===================================================================

/var/spool/ml/info に移動する。
	$ cd /var/spool/ml/info

とりあえずこのメーリングリストに自分自身を追加してみる。
	$ /usr/local/fml/makefml adduser info you@domain1.com

aliases をmoreで参照し、内容をコピーする。
	$ more aliases

===================================================================
info: :include:/var/spool/ml/info/include
info-ctl: :include:/var/spool/ml/info/include-ctl -< この行は後で削除する。
info-request: info-admin
info-admin: fml
owner-info: fml
owner-info-ctl: fml
===================================================================

/etc/mail に移動する。
	$ cd /etc/mail

SuperUserに戻る。
	$ exit

aliases をviで開く。
	# vi aliases

ユーザーfml宛のメールは自分に配信されるように記述。
さらに、最下行にコピーした内容を貼り付け、info-ctl:の行だけ削除し、保存する。
===================================================================
##### fml Administrator #####
fml: you

#### info@domain1.com ####
info: :include:/var/spool/ml/info/include
info-request: info-admin
info-admin: fml
owner-info: fml
owner-info-ctl: fml
===================================================================

newaliasesをかけ、有効にする。
	# newaliases
	/etc/mail/aliases: 37 aliases, longest 45 bytes, 1078 bytes total

/etc/mail/virtusertable.txtをviで開く。
	# vi /etc/mail/virtusertable.txt

ユーザーテーブルに以下の内容を記述して保存する。
	##### fml Administrator #####
	fml@domain1.com   fml
	##### domain1.com ML #####
	info@domain1.com	info
	info-admin@domain1.com	info-admin

変更したvirtusertable.txtを元にデータベースファイルを更新する。
	# makemap hash virtusertable.db < virtusertable.txt



新規メーリングリストの作成 2 ( info@domain2.tv ) 

fmlとしてログインする。
	# su fml

この例では、誰でも投稿可能な代表メーリングリスト info@domain2.tv
というメーリングリストを作成する。
	$ /usr/local/fml-domain2.tv/makefml newml info

info@domain2.tv のステータスを設定する。
	$ /usr/local/fml-domain2.tv/makefml config info

FML Configuration Interface が起動するので、各項目を調整する。
まず、メーリングリストのメンバー以外からも投稿可能にする。

===================================================================
1 のPOLICY OF ACCESSを選択する。

WHO CAN POST AND USE COMMANDS が開くので、  1 のPERMIT_POST_FROMを選択する。

2 anyone を選択し、 0 ENDで抜け、さらに 0 ENDで抜ける。

3 のSETTINGS AROUND COMMANDS を選択する。

1 のCONTROL_ADDRESSを選択する。

4 のNOT USE選択し、0 ENDで抜け、さらに 0 ENDで抜ける。

5 のHEADER CONFIGURATIONSを選択する。

1 のSUBJECT_TAG_TYPEを選択する。

3 のSubject: [Elena:00100]を選択し、0 ENDで抜ける。

2 のSUBJECT_TAG_FIGUREを選択する。

4 の4 e.g. [elena 0001]を選択し、0 ENDで抜け、さらに0 ENDで抜け、またさらに0 ENDで抜け
ると、設定が書き込まれる。
===================================================================

/var/spool/ml-domain2.tv/info に移動する。
	$ cd /var/spool/ml-domain2.tv/info/

とりあえずこのメーリングリストに自分自身を追加してみる。
	$ /usr/local/fml-domain2.tv/makefml adduser info you@domain1.com

aliases をmoreで参照し、先頭行のみをコピーする。
	$ more aliases

===================================================================
info: :include:/var/spool/ml-domain2.tv/info/include
===================================================================

/etc/mail に移動する。
	$ cd /etc/mail

SuperUserに戻る。
	$ exit

aliases をviで開く。
	# vi aliases

最下行にコピーした内容を貼り付け、infoをinfo-domain2.tvに
書き換えて保存する。
===================================================================
#### info@domain2.tv ####
info-domain2.tv: :include:/var/spool/ml-domain2.tv/info/include
===================================================================

newaliasesをかけ、有効にする。
	# newaliases
	/etc/mail/aliases: 37 aliases, longest 45 bytes, 1078 bytes total

/etc/mail/virtusertable.txtをviで開く。
	# vi /etc/mail/virtusertable.txt

ユーザーテーブルに以下の内容を記述して保存する。
	##### fml Administrator #####
	fml@domain2.tv	fml
	##### domain2.tv ML #####
	info@domain2.tv	info-domain2.tv
	info-admin@domain2.tv	info-admin

変更したvirtusertable.txtを元にデータベースファイルを更新する。
	# makemap hash virtusertable.db < virtusertable.txt
	# exit