qmail運用(8)daemontoolsでqmail-pop3dの起動、監視設定 | サーバーエンジニアのスキルアップ日記

サーバーエンジニアのスキルアップ日記

サーバエンジニアがレンタルサーバーを使って試行錯誤しながら各種サービスを動作させ、スキルアップする日々を語ります。

VPSレンタルサーバー(CentOS6.2)に自ドメイン用のメールサーバーを

構築し、運用しています。




daemontoolsを使用して、起動、監視、ログの設定を行っています。

qmail-pop3dの起動、監視設定を行います。




下記サイトを参考にして行いました。

daemontoolsによるロギングとプロセス監視




●ディレクトリ、ファイル構成

 

/service daemontoolsのsvscan監視ディレクトリ

/service/pop3d   サブディレクトリ。このディレクトリ単位にsuperviceプロセス実行

/service/pop3d/run     qmail-pop3dプロセスの起動スクリプト   

/service/pop3d/log/run 上記スクリプトにパイプで渡されるログの起動スクリプト




●ディレクトリ作成




まず、/var/qmail/services配下に作成し、後で/service/pop3dに

シンボリックリンクします。




# mkdir /var/qmail/services/pop3d

# mkdir /var/qmail/services/pop3d/log

# chmod +t /var/qmail/services/pop3d




●qmail-pop3dの起動スクリプト




# vi /var/qmail/services/pop3d/run


(ファイルの中身)

#!/bin/sh

PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin

exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サーバのFQDN] \

/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1




●qmail-pop3dのログの起動スクリプト




# vi /var/qmail/services/pop3d/log/run


(ファイルの中身)

#!/bin/sh

exec /usr/local/bin/setuidgid qmailp /usr/local/bin/multilog t /var/log/pop3d




ログを記録するプログラムが、/usr/local/bin/multilog

ログの作成は"qmailp"ユーザーが行うようにし、

タイムスタンプの指定をするためのオプション、t

ログの出力先ディレクトリが、/var/log/pop3d

としています。




●起動スクリプトに権限設定




# chmod +x /var/qmail/services/pop3d/run

# chmod +x /var/qmail/services/pop3d/log/run




●ログのディレクトリ作成




# mkdir /var/log/pop3d

# chown qmailp:nofiles /var/log/pop3d

# chmod 700 /var/log/pop3d




●/serviceにシンボリックリンクを作成




# ln -s /var/qmail/services/pop3d /service/pop3d




作成すると、svscanが/serviceディレクトリを5秒置きに監視していますので

superviceプロセスが自動で起動し、qmail-pop3dのプロセスを監視します。




●プロセスの起動確認




# ps -ef | grep pop3d

root 6012 7030 0 22:58 ? 00:00:00 supervise pop3d

qmailp 6014 6013 0 22:58 ? 00:00:00 /usr/local/bin/multilog t /var/log/pop3d

root 6015 6012 0 22:58 ? 00:00:00 tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup pop.example.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir




●daemontoolsを使用した起動スクリプト




(起動処理の部分)

if svok /service/pop3d ; then

svc -u /service/pop3d

fi


(停止処理の部分)

svc -d /service/pop3d




(状態確認の部分)

svstat /service/pop3d



qmailで作るメールサーバ徹底攻略 (DJB Tools)/与儀 丈二

¥2,940
Amazon.co.jp