C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

courier-imap-ssl から dovecot へ (archlinux にて)

これまで courier-imap-ssl を長いこと使い続けて来ましたが、 dovecot にしてみました。そのメモ。

courier-imapは停止。

rc.d stop imapd
rc.d stop courier-imap

pacmanでdovecotを導入。

pacman -S dovecot
vim /etc/dovecot/dovecot.conf
protocols = imap
mail_location = maildir:~/Maildir
valid_chroot_dirs = /home
disable_plaintext_auth = no
auth_mechanisms = plain login

ssl_cert = </etc/dovecot/ssl.pem
ssl_key  = </etc/dovecot/ssl.pem

passdb {
  driver = pam
}

userdb {
  driver = passwd
}

※これだけで完全に外部に公開したサーバー動かすとセキュリティ的に微妙なので環境に応じて適切に設定追加なりファイアーウォールのカスタマイズなりはしましょう。

SSL用の.pemはcourierで使っていたものを流用。

ln -s /etc/courier/imapd.pem /etc/dovecot/ssl.pem

PAMにdovecotの設定を追加

vim /etc/pam.d/dovecot
auth    include system-auth
account include system-auth

稼動。

rc.d start dovecot


<追記>

ちなみに、dovecot.confのブレースはインチキ。hoge { fuga = hage } みたいに1行にまとめるとパースエラーで動作しない。しかし設定ミスや旧バージョンの設定方法への警告の場合は表示上1行で出されるので注意。1行にまとめて書いたらダメ。

それと、ssl_cert/keyの右辺の謎の < は必要。付けなくてもパースエラーにはならないしサーバーは動いてしまうが意図した動作はしない。気持ち悪い。