dovecot passwd-file の設定

認証用に MySQL などを使うケースが多いようですが、dovecot のみでお手軽に済ませたかったので passwd-file でセットアップしました。
OS は CentOS 4.7
postfix も dovecot も rpm 版です。

  1. 予め postfix で virtual domain の設定を行っておきました。
  2. postfix の設定で dovecot と関係があったのは以下。

    virtual_mailbox_maps
    ディレクトリ構造が dovecot の設定で必要になります。

    foo@example.com example/foo/Maildir/

    virtual_uid_maps, virtual_gid_maps

    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
  3. /etc/dovecot.conf
  4. 必要なのは pop3 のみだったので imap はセットアップしませんでした。
    以下は設定した部分のみ。

    protocols = pop3
    #imap_listen = [::]
    #pop3_listen = [::]
    pop3_listen = *
    default_mail_env = maildir:/var/mail/vhosts/%d/%n/Maildir
    #auth_userdb = passwd
    auth_userdb = static uid=5000 gid=5000 home=/var/mail/vhosts/%d/%n
    #auth_passdb = pam
    auth_passdb = passwd-file /etc/dovecot.passwd
  5. passwd-file 作成
  6. PLAIN-MD5パスワードで作成します。
    以下は foo@example.com という pop3 ユーザで、

    パスワードが password の場合の例です。

    $ perl -MDigest::MD5 -e 'printf "{PLAIN-MD5}%sn", Digest::MD5::md5_
    hex("password")'
    {PLAIN-MD5}5f4dcc3b5aa765d61d8327deb882cf99

    /etc/dovecot.passwd を作成します。

    # vi /etc/dovecot.passwd
    foo@example.com:{PLAIN-MD5}5f4dcc3b5aa765d61d8327deb882cf99:5000:5000:::::/var/mail/vhosts/%d/%n
  7. dovecot 起動
  8. # chkconfig dovecot on
    # service dovecot start