メンテナンス・トラブルシュート - メールサーバ - imapd-ssl が起動しない

 クラウディア
1. 概要
2. 調査
3. 起動

1. 概要

 いつからだったかな、「pop」から「imap」へ切り替えています。  一応、両方のインタフェースは備えているのですが、わたし自身は、「imap」の方を使用しています。  で、その起動スクリプトが

/usr/local/etc/rc.d/courier-imap-imapd-ssl
 なのですが、あるとき、システム再起動後にふと見ると・・・。

$ service courier-imap-imapd-ssl status
courier_imap_imapd_ssl is not running.
 あれ、動いていない・・・。  起動してやれと。

$ service courier-imap-imapd-ssl start
Starting courier_imap_imapd_ssl.
usage: dirname string [...]
usage: mkdir [-pv] [-m mode] directory_name ...
Unknown option '-pid='
 えぇぇ!?

2. 調査

 詳細は割愛しますが、起動スクリプトを読むと

/usr/local/libexec/courier-imap/imapd-ssl.rc
 ちゅうのを呼んでいることがわかります。  「ssl」版でないものが、下記のファイル名で用意されています。

/usr/local/libexec/courier-imap/imapd.rc
 実は、こちらの方は起動できるんですな・・・。  2つを読み比べたり、中の値を見比べてわかりました。

/usr/local/libexec/courier-imap/imapd.rc
 で「pid」ファイルとして「$PIDFILE」ちゅうのを定義しております。  下記の前後で、定義が有効になりまして

TLS_CACHEFILE=""
. /usr/local/etc/courier-imap/imapd-ssl
. /usr/local/etc/courier-imap/imapd

case $1 in
 「/var/run/imapd.pid」という値が定義されております。  「ssl」の方で、同じような定義があって「$SSLPIDFILE」というシンボルが使われておるのですが。  同じ処理を通った後、「$SSLPIDFILE」の値が設定されておらんのだな・・・。  でまぁ

vi /usr/local/etc/courier-imap/imapd-ssl

# DEFAULT SETTING from /usr/local/etc/courier-imap/imapd-ssl.dist:
#
#SSLPIDFILE=/var/run/imapd-ssl.pid
#
 を(/usr/local/etc/courier-imap/imapd)を真似て、下記へ書き換えました。

# DEFAULT SETTING from /usr/local/etc/courier-imap/imapd-ssl.dist:
#
#SSLPIDFILE=/var/run/imapd-ssl.pid
#

SSLPIDFILE=/var/run/imapd-ssl.pid

3. 起動

 前項後

service qmail-smtpd-ssl start
 で、無事起動でけました。

$ service qmail-smtpd-ssl status
courier_imap_imapd_ssl is running as pid 86739.
 とりあえず、落ち着きましたわ。
ハイスピードプラン