qmail-smtpdをdaemontoolsに登録する
qmail-smtpdをdaemontoolsに登録する
0.改訂履歴
- 2006.08.13 新規作成
- 2006.10.04 multilogの保存期間について追記
1.はじめに
このドキュメントでは,qmail-smtpdをdaemontoolsのsvscan配下に設置して稼働管理を行うまでの手順を説明する. この作業を行うには,qmail,tcpserverががインストールされている必要がある.
なお,使用しているOSは,RedHat Linux ES3.0である.
2.設定
- サービスディレクトリのリンク元になるディレクトリを確認する.
[root@neptune root]# cd /var/qmail/supervise/
[root@neptune supervise]# ls
qmail
[root@neptune supervise]#
|
[root@neptune supervise]# mkdir -p smtpd/log/main
[root@neptune supervise]# chmod +t smtpd
[root@neptune supervise]#
|
[root@neptune supervise]# cd smtpd
[root@neptune smtpd]# chown -R qmails:qmail log
[root@neptune smtpd]# cd ..
[root@neptune supervise]#
|
コピペ用
cd /var/qmail/supervise/
mkdir -p smtpd/log/main
chmod +t smtpd
cd smtpd
chown -R qmails:qmail log
cd ..
|
[root@neptune supervise]# cat smtpd/run
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" ¥
/usr/local/bin/tcpserver -v -x ¥
/etc/tcpserver/smtpd_rules.cdb -R -H -lo -u 712 -g 710 0 smtp ¥
/var/qmail/bin/qmail-smtpd 2>&1
[root@neptune supervise]#
|
- 今回稼働させるサーバでは,qmaildユーザのUIDが710,nofilesグループのGIDが710なので,サーバによってそれぞれ合わせて変更する.
- 次に,ログ用のシェルを作成したモノを確認する.
[root@neptune supervise]# cat smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmails /usr/local/bin/multilog t s1000000 n200 /var/ser
vice/smtpd/log/main
[root@neptune supervise]#
|
- multilogでは,sオプションではログの最大バイトサイズ,nオプションは保存世代数を記録している.
- プロセスが稼働しているか確認する.
- 作成したシェルに実効権限を設定する.
[root@neptune supervise]# chmod ogu+x /var/qmail/supervise/smtpd/run
[root@neptune supervise]# chmod ogu+x /var/qmail/supervise/smtpd/log/run
[root@neptune supervise]#
|
コピペ用
chmod ogu+x /var/qmail/supervise/smtpd/run
chmod ogu+x /var/qmail/supervise/smtpd/log/run
|
- 既にqmail-smtpdのプロセスが稼働していたら,killする.
[root@neptune supervise]# ps -ef | grep smtp
root 30376 30157 0 18:59 pts/2 00:00:00 grep smtp
[root@neptune supervise]#
|
[root@neptune supervise]# cd /var/service/
[root@neptune service]#
|
- svscanにsmtpdを起動させるために,シンボリックリンクを作成する.
[root@uranos3 service]# ls -la
total 8
drwxr-xr-x 2 root root 4096 Aug 13 17:18 .
drwxr-xr-x 26 root root 4096 Mar 3 16:59 ..
lrwxrwxrwx 1 root root 26 Aug 13 17:18 pop3d -> /var/qmail/supervise/pop3d
lrwxrwxrwx 1 root root 26 Mar 3 17:12 qmail -> /var/qmail/supervise/qmail
[root@uranos3 service]# ln -s /var/qmail/supervise/smtpd /var/service/smtpd
[root@uranos3 service]# ls -la
total 8
drwxr-xr-x 2 root root 4096 Aug 13 17:27 .
drwxr-xr-x 26 root root 4096 Mar 3 16:59 ..
lrwxrwxrwx 1 root root 26 Aug 13 17:18 pop3d -> /var/qmail/supervise/pop3d
lrwxrwxrwx 1 root root 26 Mar 3 17:12 qmail -> /var/qmail/supervise/qmail
lrwxrwxrwx 1 root root 26 Aug 13 17:27 smtpd -> /var/qmail/supervise/smtpd
[root@uranos3 service]#
|
[root@neptune service]# /usr/local/bin/svstat /var/service/smtpd /var/service/smtpd/log
/var/service/smtpd: up (pid 9743) 104 seconds
[root@neptune service]#
|
- daemontoolsによって起動されていることが確認できた.
- いつ見ても秒数が少ない場合は,起動&異常終了を繰り返していると思われるので,起動スクリプトやディレクトリアクセス権限などを確認する.