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