【Linux】dovecotのインストールと設定とldap連携

Postfix(SMTP)とdovecot(POP3)でメールサーバーを構築したときのメモ。

環境はCentos5.3

dovecotの読みは「ダブコット」らしい。

インストールはyum経由でさくっと終わる

# yum install dovecot

メールの保存先は各ユーザーのhomeディレクトリ。

# vi /etc/dovecot.conf

mail_location = maildir:~/Maildir

Postfixと連携する場合はメールをhomeディレクトリに配送するように設定する。でも、この設定を反映させるのは最後に書いてあるautodirの設定が終わってからの方がいい。ldapの設定はこちらの記事を参照。

# vi /etc/postfix/main.cf

home_mailbox = Maildir/

dovecotを起動して自動起動も設定
# /etc/rc.d/init.d/dovecot start
# chkconfig dovecot on

動作確認はWindowsのコマンドプロンプトで

C:> telnet hoge.jp 110

+OK Dovecot ready

と出力されたら正常に起動している。接続できない場合はファイヤーウォールの設定を確認。こちらの記事を参考に。

POPのコマンドはこちらの記事を参考に。

さらにサーバーがLDAPと連携している場合、メールを受信したときにhomeにユーザーディレクトリが作成されてないことがある。

これを解決するAutodirというソフトがあるのでインストールしてみた。

コンパイルに必要なソフトをインストール
# yum install libcap-devel libtool-ltdl-devel

コンパイルとインストール
# tar xzvf autodir-0.99.9.tar.gz
# cd autodir-0.99.9
# ./configure
# make
# make install

/usr/lib/autodirにライブラリがインストールされる。

設定ファイルと起動スクリプトはここのサイトから借用。リンク先がない場合はautodirのrpmの中に入っているみたい。

起動スクリプトに実行権限を付けて起動する。自動起動も設定
# chmod 755 /etc/rc.d/init.d/autohome
# /etc/rc.d/init.d/autohome start
# chkconfig --add autohome
# chkconfig autohome on

これでLDAPにユーザーを追加したときの手間が一つ減った。

でも、再起動するとhomeディレクトリ以下が消えた。これで大丈夫なのか・・・?一応様子見。

・・・追記。

いろいろやってみたけどautohomeのデーモンが途中で終了したりして安定しないので、ここからrpmをダウンロードしてインストール。

これは安定して稼働中。

<2009/09/07 追記>
dovecotが突然停止する現象に遭遇。ログを見てみると、

dovecot: Time just moved backwards by 13 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards

リンク先を読んでみるとntpdateを実行していると予期せぬエラーが起きるから停止するらしい。

確かにこのマシンはvmwareのゲストOSとして起動していて、時刻が狂うのをなんとかするためにcronでntpdateを実行していた。前の記事も参考に。

もしかしてntpdateするのは邪道?

しょうがないのでvmware-toolsをインストールしてcronでntpdateは止めた。

・・・で大丈夫かなと思ったけど、vmware-toolsでもdovecotが自動で止まるのでntpdで時刻同期することにした。

設定方法は前の記事を参考に。