[CentOS6] Postfixによるメールサーバ構築 その4 (Dovecotの設定)

Dovecotのインストールと設定を行います。

yum install dovecot dovecot-mysql
yum install cyrus-sasl-plain cyrus-sasl-md5
cd /etc/dovecot/
vi dovecot.conf
----------------------------------------------------
dict {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
mail_plugins = quota
----------------------------------------------------
vi dovecot-dict-sql.conf
----------------------------------------------------
connect = dbname=postfix user=postfix host=/var/lib/mysql/mysql.sock password=skpMrLvw9fiX
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
----------------------------------------------------
cd /etc/dovecot/conf.d
vi 20-imap.conf
----------------------------------------------------
mail_plugins = $mail_plugins imap_quota
----------------------------------------------------
vi 90-quota.conf
----------------------------------------------------
plugin {
#quota_rule = *:storage=1G
#quota_rule2 = Trash:storage=+100M
quota = dict:user::proxy::quotadict
quota_rule = *:storage=10M:messages=1000
quota_rule2 = Trash:storage=+100M
}
plugin {
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
}
----------------------------------------------------
vi 10-auth.conf
----------------------------------
#disable_plaintext_auth = yes
disable_plaintext_auth = no
#auth_mechanisms = plain
auth_mechanisms = plain login cram-md5
#!include auth-system.conf.ext
!include auth-sql.conf.ext
----------------------------------
vi 10-logging.conf
--------------------------------------------
#auth_verbose = no
auth_verbose = yes
--------------------------------------------
vi 10-mail.conf
--------------------------------------------
#mail_location =
mail_location = maildir:/mail/%d/%u
#first_valid_gid = 1
#last_valid_gid = 0
first_valid_uid = 10000
first_valid_gid = 10000
--------------------------------------------
vi 10-master.conf
--------------------------------------------
service lmtp {
unix_listener lmtp {
#mode = 0666
}
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
unix_listener dict {
#mode = 0600
#user =
#group =
mode = 0600
user = vuser
group = vuser
}
--------------------------------------------
vi /etc/dovecot/dovecot-sql.conf.ext
--------------------------------------------
driver = mysql
default_pass_scheme = CRAM-MD5
connect = dbname=postfix user=postfix host=/var/lib/mysql/mysql.sock password=skpMrLvw9fiX
password_query = SELECT password, 10000 AS userdb_uid, 10000 AS userdb_gid, CONCAT('*:bytes=', CAST(mailbox.quota AS CHAR)) AS userdb_quota_rule FROM mailbox, domain WHERE username = '%u' AND mailbox.domain = domain.domain AND mailbox.active = '1' AND domain.active = '1'
user_query = SELECT concat('/mail/', maildir) AS home, 10000 AS uid, 10000 AS gid, CONCAT('*:bytes=', CAST(mailbox.quota AS CHAR)) AS quota_rule FROM mailbox, domain WHERE username = '%u' AND mailbox.domain = domain.domain AND mailbox.active = '1' AND domain.active = '1'
iterate_query = SELECT username FROM mailbox
--------------------------------------------

Postfixによるメールサーバ構築 その4 (Dovecotのインストールと設定)

Postfixによるメールサーバ構築 (Postfix+MySQL+Dovecot+postfixadmin)

Dovecotのインストール

yum -y install dovecot
chkconfig dovecot on
chkconfig --list dovecot

Dovecotの設定

cp /etc/dovecot.conf /etc/dovecot.conf.org
vi /etc/dovecot.conf
-------------------------------------------------------------------------------
#protocols = imap imaps pop3 pop3s
protocols = pop3 imap
mail_location = maildir:/mail/%d/%u
first_valid_uid = 10000
first_valid_gid = 10000
#passdb pam {
#}
passdb sql {
args = /etc/dovecot-mysql.conf
}
#userdb passwd {
#}
userdb sql {
args = /etc/dovecot-mysql.conf
}
#mechanisms = plain
mechanisms = plain login digest-md5 cram-md5
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
-------------------------------------------------------------------------------
x86_64の場合は下記を設定しないと動作しませんので、上記の設定に追加してください。i386の場合は大丈夫です。
-------------------------------------------------------------------------------
login_process_size = 64
-------------------------------------------------------------------------------
cat < /etc/dovecot-mysql.conf
driver = mysql
default_pass_scheme = PLAIN
connect = dbname=postfix user=postfix host=/var/lib/mysql/mysql.sock password=Lr9WNUJK
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT concat('/mail/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'
EOF

認証のライブラリをインストール

yum -y install cyrus-sasl-plain cyrus-sasl-md5

saslauthdは利用しないので念のため停止しておきます。停止時にFAILEDなどがでても大丈夫です。

/etc/rc.d/init.d/saslauthd stop
chkconfig saslauthd off

Postfix Dovecotの起動

PostfixとDovecotの起動を行って設定完了です。/var/log/maillogにエラーなどがでていないか確認してください。

/etc/init.d/dovecot start
/etc/init.d/postfix start

Postfixによるメールサーバ構築 (Postfix+MySQL+Dovecot+postfixadmin) 【最初の記事】