qmail & daemontools

[ Nob's Home | qmail ]

daemontoolsを利用して
qmail,qmail-smtpd,qmail-pop3dの起動を行うようにします。
svscanは /var/service以下を監視するように起動しています。
qmail関係の起動scriptは /var/qmail/service にまとめます。
logは qmaill(gid=nofiles) で取ります。

qmailの起動

# mkdir /var/qmail/service/qmail
# chmod 1755 /var/qmail/service/qmail
# vi /var/qmail/service/qmail/run
#!/bin/sh
#
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir
#
# chmod 755 /var/qmail/service/qmail/run
# mkdir /var/qmail/service/qmail/log
# vi /var/qmail/service/qmail/log/run
#!/bin/sh
#
exec \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t ./main   # /var/qmail/service/qmail/log/main にlogを作成します
#
# mkdir /var/qmail/service/qmail/log/main
# chown  qmaill.nofiles /var/qmail/service/qmail/log/main
# chmod 755 /var/qmail/service/qmail/log/run
# ln -s /var/qmail/service/qmail /var/service
とlinkを張ると、qmailが起動されlogがとられ始めます。
もし /var/log/qmail にlogを置きたい場合には、
multilog t ./main
multilog t /var/log/qmail
として
# mkdir /var/log/qmail
# chown qmaill.nofiles /var/log/qmail
とします。
動作の確認は svstat で行ないます。
# svstat /service/qmail /service/qmail/log
/service/qmail: up (pid 39919) 80032 seconds
/service/qmail/log: up (pid 39981) 80001 seconds
などと表示されれば問題なく起動しています。
pid がどんどん変化しているときは起動に失敗しています。

run scriptを変更したときは、

# svc -t /service/qmail
です。

qmail-pop3dの起動

/var/qmail/service/pop3d/run が違うだけです。
# mkdir /var/qmail/service/pop3d
# chmod 1755 /var/qmail/service/pop3d
# vi /var/qmail/service/pop3d/run
#!/bin/sh
#
#
exec \
/usr/local/bin/tcpserver -RH -c 40 -u 0 -g 0 \
                         0 \
                         pop3 \
                         /var/qmail/bin/qmail-popup \
                                    makioka.y-min.or.jp \
                                    /bin/checkpassword \
                                                /usr/local/bin/pbs4q /var/qmail/bin/qmail-pop3d Maildir
# chmod 755 /var/qmail/service/pop3d/run
# mkdir /var/qmail/service/pop3d/log
# vi /var/qmail/service/pop3d/log/run
#!/bin/sh
#
exec \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t ./main
#
# mkdir /var/qmail/service/pop3d/log/main
# chown qmaill.nofiles /var/qmail/service/pop3d/log/main
# chmod 755 /var/qmail/service/pop3d/log/run
# ln -s /var/qmail/service/pop3d /var/service

qmail-smtpdの起動

これも /var/qmail/service/smtpd/run が違うだけです。
# mkdir /var/qmail/service/smtpd
# chmod 1755 /var/qmail/service/smtpd
# vi /var/qmail/service/smtpd/run
#!/bin/sh
#
exec \
/usr/local/bin/softlimit -m 10000000 \
        /usr/local/bin/tcpserver -HR -u 7791 -g 2108 -x /etc/tcp.smtp.cdb \
                     0 smtp \
                     /usr/local/bin/pbs4q \
                     /var/qmail/bin/qmail-smtpd 2>&1 
# chmod 755 /var/qmail/service/smtpd/run
# mkdir /var/qmail/service/smtpd/log
# vi /var/qmail/service/smtpd/log/run
#!/bin/sh
#
exec \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t ./main
#
# mkdir /var/qmail/service/smtpd/log/main
# chown qmaill.nofiles /var/qmail/service/smtpd/log/main
# chmod 755 /var/qmail/service/smtpd/log/run
# ln -s /var/qmail/service/smtpd /var/service

[ Nob's Home | qmail ]
nob@makioka.y-min.or.jp