* qmailをdaemontoolsで起動する [#m75d4359]

qmailは/var/qmailにインストールしてあることとする。qmailの起動だけでなく、ログ管理も行う。

** 前提 [#ed2679b0]
最終的には以下のような2つのrunスクリプトを作ることになる。
 /service/qmail/run
 /service/qmail/log/run

** 設定用のディレクトリを作る [#w788844e]
いったん/var/qmail以下に設定を作る。multilogによるログ管理を行わないならlogディレクトリは不要。stickybitの操作も不要。
 mkdir -p /var/qmail/service/qmail/
 mkdir -p /var/qmail/service/qmail/log
 chmod +t /var/qmail/service/qmail/
/service/qmailディレクトリにstickybitを立てることで、superviseコマンドは/service/qmail/runを実行後、/service/qmail/logに移動してそこのrunスクリプトも実行することになる。

** runスクリプトを作成する [#q035465c]
*** /var/qmail/service/qmali/run [#w177e56a]
qmailの起動スクリプト(/var/qmail/rc)をキックする。
 #!/bin/sh
 PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
 exec /var/qmail/rc

*** /var/qmail/service/qmail/log/run [#c5aa026d]
setuidgidでqmaillユーザ権限でログを作る。tはタイムスタンプ行頭につける。ログは勝手にロテートされる。細かく指定したい場合は、http://www.emaillab.org/djb/tools/daemontools/multilog.htmlを参考にする。
 #!/bin/sh
 exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

*** /var/qmail/rc [#e6bb1a89]
ログ管理はmultilogで行うのでsploggerの指定は省く。
 #!/bin/sh
 exec env - PATH="/var/qmail/bin:$PATH" \
 qmail-start ./Mailbox

** パーミッションの調整など [#c19b3d05]
 chmod a+x /var/qmail/service/qmail/run
 chmod a+x /var/qmail/service/qmail/log/run
 chmod a+x/var/qmail/rc
 mkdir /var/log/qmail
 chown qmaill:nofiles /var/log/qmail
 chmod 700 /var/log/qmail

** 監視対象に追加 [#a10c2446]
/service以下にシムリンクを張る。
 ln -s /var/qmail/service/qmail /service/qmail

** 起動を確認 [#i23ebe5f]
 svstat /service/qmail

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS