2009年7月14日火曜日

Cyrus IMAP サーバ OTP エラー対策

Cyrus のエラーを解決するのをあきらめて,UW-IMAP を使ってたりするわけだけど,やっぱり Cyrus IMAP 使いたいよねってことで,エラーに改めて取り組むことに.林檎生活100: Cyrus IMAP Server エラーで書いたエラーとは違うけど,次のようなエラーの対策について.
Jul 14 06:36:32 lucifer imap[752]: OTP unavailable because can't read/write key
database /etc/opiekeys: Permission denied

OTP は,One Time Password のことで,それが有効になっているからこのエラーが出るらしい.なので,imapd.conf(FreeBSD なら /usr/local/etc/imapd.conf になる.)の次の行を有効にすることで,ひとまずは出なくなる.普通に使っているなら,この行はきちんと設定されているような気がするけど.
sasl_mech_list: cram-md5 digest-md5

さて,残りのエラーが問題なんだよなぁ…….

追記(2009年7月14日):
コメントで頂いた解決策について.security/cyrus-sasl2 をインストールする際に,config を OTP=off にすることでこのエラーはでなくなる.たしかに,OTP を使わないのであれば,OTP=off でのインストールという方がクールだね.

参考文献:
雨と樹海とFreeBSDと: Postfixのインストール

4 件のコメント:

obache さんのコメント...

OTP を使うつもりが無いなら、そもそも security/cyrus-sasl2 を OTP=off でインストールしておくのが良いかも。
(参考文献、cyrus-sasl2 については間違いだらけなので、参考にしないほうが良い)

cyrus-imapd のエラーの件は、2.1 から 2.2 になるときに、いくつかのdbのデフォルトで使うフォーマットが変わったことが影響しているのでしょう。付属ドキュメント install-upgrade を参考にして、フォーマットの変換を行う(ports/mail/cyrus-imapd22 には切り替えるノブが用意されてないから)か、設定で以前のフォーマットを使うようにする(ports/mail/cyrus-imapd23 だとimapd.confで指定できる)する必要があります。

つっちぃ(TSUCHIDA Takuya) さんのコメント...

> obache さん
コメントありがとうございます.

なるほど.OTP を使わないのであれば,最初から OTP=off で security/cyrus-sasl2 をインストールすればいいんですね.

cyrus-imapd のエラーの件ですが,クリーンインストールで mail/cyrus-imapd23 をインストールしてもエラーが出力されます.その場合でも,DB のフォーマットは関係あるのでしょうか?

実験環境は,VMware Fusion 上で FreeBSD 7.1-RELEASE をインストールし,ネットワーク設定を行う.mail/cyrus-imapd23 をインストールし,pkg-message に従って初期設定スクリプトを実行し,/etc/rc.conf に cyrus_imapd_enabled="YES" を追記して,/usr/local/etc/rc.d/imapd start で起動してみています.

obache さんのコメント...

そういえば、昔見たことがあるような気も。使ってる bdb のバージョンが古い?

何の DB だったか忘れましたが、空だと出てて、メールが配送されて db が作られたら消えるんだったかな?あやふや。

つっちぃ(TSUCHIDA Takuya) さんのコメント...

> obache さん
コメントありがとうございます.おかげで解決しました.

メールボックスを作成し,適当なメールを1通配送した状態で確認したところ,エラーメッセージが出なくなりました.

使っている DB は,Berkeley DB 4.1 ですね.

ありがとうございました.