Dovecot 2.0.21 Install (rpm)


今までテストサーバのMUAにCourier-IMAPを使用していましたが、新たにDovecot2をインストールしてみた時のメモ。

  • Vine Linux 6.2
  • Postfix 2.10.2
  • MySQL 5.1.68

事前にMySQLとPostfixは設定済みとして…

まずはVine謹製rpmをインストールする。

$ sudo apt-get install dovecot dovecot-devel dovecot-mysql

で、それからSMTP認証をDovecotに依る認証に替えるので、以前入れたPostfixも入れ直す。

$ cd postfix-2.10.2
$ make tidy
$ make makefiles \
CCARGS="-DUSE_TLS -I/usr/include/openssl \
-DHAS_MYSQL -I/usr/include/mysql" \
AUXLIBS="-L/usr/lib64 -lssl -lcrypto \
-L/usr/lib64/mysql -lmysqlclient -lz -lm"

で、インストールする。

$ sudo make upgrade


まずはDovecotの設定をする。
Dovecot2で設定ファイルが細分化されたので、今後の為にDovecotの設定ファイルをlocal.confとして作成して集約する。
念のため、設定ファイルが読み込まれるようにチェック。

$ sudo vim /etc/dovecot/dovecot.conf
...
!include_try local.conf

local.confを作成。

$ sudo vim /etc/dovecot/local.conf

# debag様にログに記録させる
auth_debug_passwords = yes
auth_verbose = no
auth_debug = yes
# popだけで使用する
protocols = pop3
# ipv4のみで使用する
listen = *
disable_plaintext_auth = no
auth_mechanisms = plain login
mail_location = maildir:/path/to/%d/%n
first_valid_uid = 1000
first_valid_gid = 1000
mail_plugins = quota

ssl_cert = </path/to/certs/mail.pem
ssl_key = </path/to/certs/mail.pem
# imapは使用しない
#protocol imap {
#       imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
#       mail_plugins = $mail_plugins imap_quota
#}
protocol pop3 {
        pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
service pop3-login {
        inet_listener pop3s {
                port = 995
                ssl = yes
        }
}
passdb {
        driver = sql
        args = /etc/dovecot/dovecot-mysql.conf
}
userdb {
        driver = sql
        args = /etc/dovecot/dovecot-mysql.conf
}
service auth {
        unix_listener /var/spool/postfix/private/auth {
                group = postfix
                mode = 0666
                user = postfix
        }
}
plugin {
        quota = maildir:User quota
} 

そしてMySQLに問い合わせる設定ファイルを作成する。

$ sudo vim /etc/dovecot/dovecot-mysql.conf

driver = mysql
connect = host=hostname dbname=db_name user=db_user password=db_password
default_pass_scheme = plain
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT CONCAT('/path/to/mail_dir/', maildir) AS home, 1000 AS uid, 1000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1'

次にCyrus-SASLの認証をDovecotによる認証に替える。

$ sudo vim /etc/postfix/main.cf
...
# Dovecot type
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
...

PostfixとDovecotを起動する。

$ sudo service postfix start

postfixを起動中:				[  OK  ]
$ sudo service dovecot start

Dovecot Imapを起動中:				[  OK  ]

ログを確認する。

$ sudo cat /var/log/maillog
Nov 26 21:19:04 localhost dovecot: master: Dovecot v2.0.21 starting up (core dumps disabled)