研究室(ok.sfc.keio.ac.jp)のファイルサーバーが壊れて、メーリングリストサーバーの設定ファイルとかも全部そこにあったので、まずMLサーバー(mx.ok.sfc.keio.ac.jp)を作った。
これで、ML名(at)ok.sfc.keio.ac.jp でMLが使えるようになった。
そのインストールと設定、MLの運用メモ。
OSはDebian Linux 3.1(sarge)です。
普通のPOP3やIMAPのメールサーバーとしては運用していません。MLのみ。
ちなみに一番苦労したのは、mxレコードの浸透がsfc.keio.ac.jpに対して超遅くて、設定が合ってるのに間違ってると思って何度も変えてしまった事。結局ふてくされて12時間放置したら動いてた、という一種の小人現象が起こった。SFCはネットワーク的には隣なのにDNSも浸透遅いからな…
GmailのSMTPサーバはmxレコードの更新が速くて良い。隣よりアメリカの方が速いってのがアレだ。
■postfix, fml4.0.3をaptでインストールする
$ apt-get install postfix
$ apt-get install fml fml-doc
■postfixの設定
この辺を参考に設定する
http://b.hatena.ne.jp/shokai/postfix/
http://b.hatena.ne.jp/shokai/fml/
/etc/postfix/main.cf を編集
myhostname = mx.ok.sfc.keio.ac.jp
mydomain = ok.sfc.keio.ac.jp
mydestination = ok.sfc.keio.ac.jp, localhost.localdomain, localhost.localdomain, localhost
allow_mail_to_commands = alias,forward,include
Postfixは変な不正中継に使わる設定になってないかチェックする。
■MLのreplyTo(返信先)を直す
/etc/fml/system を編集
$DOMAIN = ‘ok.sfc.keio.ac.jp’;
■件名にプレフィックスを付ける
全部のMLが共通で変更される。
テンプレート設定スクリプトを起動する。
$ makefml config-template
5→1
で3を選ぶ。
(0→Enter)×何回も連打、で抜ける。
ML毎に変えたい場合は、/var/spool/ml/ml名/config.ph が設定ファイルなので
$SUBJECT_TAG_TYPE = “[:]”;
の部分を編集する
■新しいMLの作り方(test-mlの場合)
fml用のユーザになってから、作る
$ su – list
$ makefml newml test-ml
rootにもどって、エイリアス追加&反映
$ su root
$ cat /var/spool/ml/test-ml/aliases >> /etc/aliases
$ newaliases
■MLのメンバーの追加/削除(test-mlの場合)
makefmlコマンドから追加しても良いが、別の設定ファイルを作った方が管理しやすい。
/var/spool/ml/test-ml/ に
actives membersという2つのテキストファイルを作る。
その両方に
hoge@sfc.keio.ac.jp
okyude@sfc.keio.ac.jp
とメールアドレスを改行区切りで書く。
ファイルの最後は改行だけの行が無いとダメ。
■MLの設定(test-mlの場合)
fml用ユーザになる
$ su – list
設定スクリプトを起動
$ makefml config test-ml
設定した後は、(0→Enter)×何回も繰り返しで、configスクリプトからちゃんと抜けないと設定反映されないので注意
■MLを削除する(test-mlの場合)
$ su – list
$ makefml destructml test-ml
/etc/aliases を編集
これを探して全部削除する。10行ぐらいあるけど全部消す。
—ここから—
test-ml: :include:/var/spool/ml/test-ml/include
test-ml-ctl: :include:/var/spool/ml/test-ml/include-ctl
test-ml-request: test-ml-admin
test-ml-admin: list
owner-test-ml: list
owner-test-ml-ctl: list# Mail Error Analyzer Daemon
# If you use mead.pl, comment out test-ml-admin: line and UNCOMMNET OUT here.
#test-ml-admin: list, :include:/var/spool/ml/test-ml/include-mead
—ここまで削除する—
/var/spool/ml/ に test-mlディレクトリが
@test-ml にリネームされているので、それも削除する
$ rm -rf @test-ml