qmail

年末年始にサーバー移行作業をしたので、そのメモ第1弾。
○インストールの概要
・Fedora Core 3
・qmail 1.03
当然daemontoolとtcpserverを使用する。これらを使わないとqmailじゃない感じ。
APOPを使用
・ezmlm-idx
データは前のサーバーから移行する
○入れたパッケージ
# rpm -ivh daemontools-0.76-112memphis.i386.rpm
# rpm -ivh ucspi-tcp-0.88-112memphis.i386.rpm
# yum install tree
# rpm -ivh functions-4-112memphis.noarch.rpm
# rpm -ivh runlevelconf-0.08-112memphis.noarch.rpm
# rpm -ivh dt-run-11.07-112memphis.noarch.rpm
# rpm -ivh qmail-1.03-112patch_14_15.i386.rpm
# rpm -ivh qmail-run-11.07-112memphis.noarch.rpm
# rpm -ivh checkpassword-0.90-112memphis.i386.rpm
checkpwはソースから入れた
○手順
・パッケージのインストール
qmail。いつの間にかRPMが用意されていた。しかしRPMとしての出来はいまいち。無いよりはマシ程度。
必要なパッケージをインストール。qmailだけリビルドの必要があり。

# rpmbuild –rebuild qmail-1.03-112patch_14_15.src.rpm
# rpm -ivh daemontools-0.76-112memphis.i386.rpm
# rpm -ivh ucspi-tcp-0.88-112memphis.i386.rpm
# yum install tree
# rpm -ivh functions-4-112memphis.noarch.rpm
# rpm -ivh runlevelconf-0.08-112memphis.noarch.rpm
# rpm -ivh dt-run-11.07-112memphis.noarch.rpm
Preparing… ########################################### [100%]
1:dt-run ########################################### [100%]
See INSTALL_rpm for what to put in /etc/inittab

ここにあるように、INSTALL_rpmは後で内容を見てみる。
次にsendmailの削除→qmailのインストール。–nodepsを付けるのはFAQ。

# rpm -e sendmail
エラー: Failed dependencies:
/usr/sbin/sendmail is needed by (installed) redhat-lsb-1.3-4.i386
smtpdaemon is needed by (installed) mdadm-1.6.0-2.i386
smtpdaemon is needed by (installed) mutt-1.4.1-10.i386
smtpdaemon is needed by (installed) fetchmail-6.2.5.5-1.fc3.i386
# rpm -e –nodeps sendmail
# rpm -ivh qmail-1.03-112patch_14_15.i386.rpm
Preparing… ########################################### [100%]
1:qmail ########################################### [100%]
Your fully qualified host name is xxx.yyy.kazu.tv.
Putting xxx.yyy.kazu.tv into control/me…
Putting yyy.kazu.tv into control/defaultdomain…
Putting kazu.tv into control/plusdomain…
Putting xxx.yyy.kazu.tv into control/locals…
Putting xxx.yyy.kazu.tv into control/rcpthosts…
Now qmail will refuse to accept SMTP messages except to xxx.yyy.kazu.tv.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
# rpm -ivh qmail-run-11.07-112memphis.noarch.rpm
Preparing… ########################################### [100%]
1:qmail-run ########################################### [100%]
Now you need to run, as a minimum,
/command/add-service.sh qmail qmail-smtpd
to set up the *.init commands and links in /service.

checkpasswordはAPOPには対応していないけど、動作確認用に入れた。

# rpm -ivh checkpassword-0.90-112memphis.i386.rpm

APOPを使うにはcheckpwのインストールが必要。

# make setup check

・qmailの設定
Maildirを使うようにする

# /var/service/qmail/defaultdelivery/rc
./Maildir/

新しいユーザーを作った時に、自動的にMaildirが出来るようにする。

# maildirmake /etc/skel/Maildir

普通のqmailの設定

# cat helohost
mail.kazu.tv
# cat locals
xxx.yyy.kazu.tv
localhost
kazu.tv
ns.kazu.tv
mail.kazu.tv
# cp locals rcpthosts
# cp helohost smtpgreeting

/service/qmail-smtpd/runのtcpserverのオプションを若干変更。

TCPSERVER=”tcpserver -v -c40 -H -R -UX -x$CDB 0 $PORT”

同様に/service/qmail-pop3d/runではcheckapoppwを使用するように変更(APOP対応)

CHKPASS=”/bin/checkapoppw”

smtpdで、内部から外部へメール送信可能にする。
/var/service/qmail-smtpd/tcprules

192.168.0.:allow,RELAYCLIENT=””
192.168.1.:allow,RELAYCLIENT=””
127.:allow,RELAYCLIENT=””
# cd /var/service/qmail-smtpd/
# tcprules tcprules.cdb tcprules.tmp < tcprules.cdb

あとはdaemontoolsを使用可能にして、qmailもそこから起動させる。
とりあえず/usr/share/doc/dt-run-11.07/INSTALL_rpmに従って/etc/inittabを編集。こんな感じになった↓。

id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
### stop dt-run
rK:016:wait:/var/service/dt-run/dt-runlevel.init stop
sK:016:wait:/var/service/dt-run/dt-svscan.init stop
### End stop dt-run
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
### start dt-run
sS:2345:wait:/var/service/dt-run/dt-svscan.init start
r2:2:wait:/var/service/dt-run/dt-runlevel.init start
r3:3:wait:/var/service/dt-run/dt-runlevel.init start
r4:4:wait:/var/service/dt-run/dt-runlevel.init start
r5:5:wait:/var/service/dt-run/dt-runlevel.init start
### End start dt-run
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 “Power Failure; System Shutting Down”
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c “Power Restored; Shutdown Cancelled”
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon

あとは、inittabを再読込させる。

# init q

で、daemontoolsに各サービスを登録する。

# /command/add-service.sh qmail qmail-pop3d qmail-smtpd
Creating /command/qmail.init …
Adding qmail to runlevels 2,3,5
Runlevel 2:
Running rlc-add…
Running rlc-doit; might take a while…
Runlevel 3:
Running rlc-add…
Running rlc-doit; might take a while…
Runlevel 5:
Running rlc-add…
Running rlc-doit; might take a while…
Creating the link /service/qmail
Creating /command/qmail-pop3d.init …
Adding qmail-pop3d to runlevels 3,5
Runlevel 3:
Running rlc-add…
Running rlc-doit; might take a while…
Runlevel 5:
Running rlc-add…
Running rlc-doit; might take a while…
Creating the link /service/qmail-pop3d
Creating /command/qmail-smtpd.init …
Adding qmail-smtpd to runlevels 3,5
Runlevel 3:
Running rlc-add…
Running rlc-doit; might take a while…
Runlevel 5:
Running rlc-add…
Running rlc-doit; might take a while…
Creating the link /service/qmail-smtpd

長くなったのでezmlm-idxは別ページにする。
○参考サイト
qmail.org
MioCity – qmailリファレンス
@IT – qmailをより使いこなすTips 第13回

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です