« transport V.S. relayhost | トップページ | 引っ越し その2のその後#1 »

2006年3月 2日 (木)

引っ越し その2

 今度の引っ越しは、メールサーバの引っ越し。現在運用中のサーバが、動作音が少し気になりだしたので、Vineを1台用意したで組み上げた自作機にFreeBSDをインストールしなおして新たに再構築を始めた。
 ただ、単に以前の設定をそのまま移植しても面白味に欠けるし、将来的にLinux環境への移行も視野に入れた上で、「どうせなら」ということで次のような目標を立ててみることにした。

  1. MTAにqmailを使う(メールボックス形式はMaildir)。
  2. SMTP AUTHを実装する。
  3. daemontools配下で各デーモンを管理する。
  4. POP/IMAP over SSLとSMTP over SSLを実装する。
  5. ウィルススキャナとスパムフィルタを実装する。

 なんでdaemontoolsを使おうと思ったのには僕がLinux特有のランレベルの概念をよく理解してないから、という側面が強いだけの話なので、特に意味はないんだけど。

 というわけで作業開始。まずdaemontoolsとqmailをそれぞれインストールする。SMTP AUTHを実装するので、今回はqmail-vidaをチョイスした。インストールにPortsを使うと、手でビルドするときに内部処理が不透明になりがちなんだけど、今回はそのへんの事情はおいておく。Portsツリーを最新の状態にして、それぞれのディレクトリでmake installを実行するだけで、イージーにインストールできてしまう。sysutils/daemontoolsにはknobがなかったけど、daemontoolsを使うこともあってmail/qmail-vidaには次のknobを定義してインストールした。ちなみに「RCDLINK」が設定されていると、起動時に「起動スクリプトがない」とおこられてウザいので、RCDLINKはキャンセル。

  • QMAILQUEUE_PATCH
  • LOCALTIME_PATCH
  • TCPSERVER_MAN

 portupgradeで自動インストールできる設定にするには、pkgtools.confに次のように書くといいかも。

'mail/qmail-vida' => [
    'BATCH=yes',
    'WITH_QMAILQUEUE_PATCH=yes',
    'WITH_LOCALTIME_PATCH=yes',
    'WITH_TCPSERVER_MAN=yes',
    'WITHOUT_RCDLINK=yes',
]

 qmail-vidaをインストールすると、一緒にucspi-tcpもqmailのインストールプリフィックスである/var/qmail以下にインストールされるんだけど、SSLも使いたいので、新たにインストールしてやる。これもPortsでイージーに。設定したknobはこんなもの。ちなみにインストールプリフィックスは/usr/localなので、qmail-vidaのそれとバッティングすることはないので、安心。

  • MAN
  • SSL

 ひとまず役者は揃ったので、まず正常にMTAとして動作させるための設定を始めた。daemontoolsで使う起動スクリプトrunの記述例は、Tips Collection - daemontools を参考に書いていった。ひとまずqmail-smtpdの起動スクリプトをのせておく。

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/qmail/bin
ALLOWPLAIN=" "
export PATH ALLOWPLAIN
RUNAS=qmaild
ACLS=/usr/local/etc/acl-cdb/qmail-default.cdb
IPADDR=0
PORT=smtp
FQDN=mail1.formula97.dip.jp
exec 2>&1
exec envuidgid ${RUNAS} tcpserver -vHRU -x ${ACLS} ${IPADDR} ${PORT} \
                qmail-smtpup ${FQDN} checkpassword qmail-smtpd

 とりあえずこの状態で、動作確認の意味で自分宛にメールを書いてみる。自分のメールアドレスやSubjectなんかを書いたテキストファイルを用意して、qmail-injectにリダイレクションで流し込むだけなので、特に難しいことはなく、きちんとメールが配送されていることが確認できた。
 一応うまく動いていることが確認できたので、今日はこの辺でやめる。

|

« transport V.S. relayhost | トップページ | 引っ越し その2のその後#1 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/164672/8910620

この記事へのトラックバック一覧です: 引っ越し その2:

« transport V.S. relayhost | トップページ | 引っ越し その2のその後#1 »