Postfix + Dovecot + MySQL + Postfix Admin, часть 3 – установка и настройка Dovecot

Отредактируем файл конфигурации Dovecot – /usr/local/etc/dovecot/dovecot.conf:

cat  /usr/local/etc/dovecot/dovecot.conf | grep -v '^#' | sed '/^$/d' | more

# После отладки отключить дебаги!!!
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login cram-md5
auth_socket_path = /var/run/dovecot/auth-userdb
auth_verbose = yes
auth_verbose_passwords = yes
base_dir = /var/run/dovecot/

disable_plaintext_auth = no

listen = *
log_path = /var/log/dovecot.log
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c

login_trusted_networks = 127.0.0.0/8, 192.168.1.0/24

mail_debug = yes

mail_location = maildir:~/Maildir

protocols = imap pop3

namespace inbox {
 inbox = yes
 # list = yes
 location =
 mailbox Drafts {
 special_use = \Drafts
 }
 mailbox Junk {
 special_use = \Junk
 }
 mailbox Sent {
 special_use = \Sent
 }
 mailbox "Sent Messages" {
 special_use = \Sent
 }
 mailbox Trash {
 special_use = \Trash
 }
 prefix =
 separator = /
 subscriptions = yes
 type = private
}

passdb {
 args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
 driver = sql
}
userdb {
 args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
 driver = sql
}

####
service auth {
 unix_listener auth-userdb {
 group = postfix
 mode = 0666
 user = postfix
 }
 user = dovecot
}
service imap-login {
 inet_listener imap {
 port = 143
 }
}
service imap {
 process_limit = 1024
}
service pop3-login {
 inet_listener pop3 {
 port = 110
 }
}
service pop3 {
 process_limit = 1024
}
ssl = no

userdb {
 driver = passwd
}

verbose_proctitle = yes
verbose_ssl = yes
protocol lmtp {
 mail_plugins =
}
protocol imap {
 mail_max_userip_connections = 10
 mail_plugins =
}
protocol pop3 {
 mail_max_userip_connections = 10
 mail_plugins =
}
Редактируем файл конфигурации работы с MySQL – /usr/local/etc/dovecot/dovecot-sql.conf.extВАЖНО: параметр query может меняться в зависимости от версии сервера, в описываемом примере используется dovecot2:
# cat /usr/local/etc/dovecot/dovecot-sql.conf.ext | grep -v '^#' | sed '/^$/d' | more
# Database driver: mysql, pgsql, sqlite
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=mypassword

default_pass_scheme = MD5-CRYPT

# Запрос, возвращающий пароль
password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

# Запрос, возвращающий инфу о юзере и проверяющий квоту
user_query = SELECT CONCAT('/var/vmail/', `maildir`) AS \
 `home`, 65534 AS `uid`, 65534 AS `gid`, concat('dict:storage=', \
 CAST(ROUND(quota / 1024) AS CHAR), '::proxy::sqlquota') \
 AS quota, CONCAT('*:storage=', CAST(quota AS CHAR), 'B') AS quota_rule \
 FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

# Query to get a list of all usernames.
iterate_query = SELECT username AS user FROM mailbox
Добавляем пользователя dovecot в группу mail
cat /etc/group | grep mail
mail:*:6:postfix,dovecot
Далее
chown dovecot:mail /var/log/dovecot.log
chmod 0666 /var/log/dovecot.log
Продолжаем
chown -R nobody:nobody /var/vmail
chmod -R 0777 /var/vmail
Перезапускаем Dovecot:
# service dovecot onerestart

Проверяем

root@tmail:/var/log # telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user acc@domain.ltd
+OK
pass q1w2e3
+OK Logged in.
list
+OK 2 messages:
1 348
2 348
.
quit
+OK Logging out.
Connection closed by foreign host.

Добавляем Dovecot в запуск при загрузке системы в файл /etc/rc.conf:

dovecot_enable="YES"
На этом настройка почтового сервера завершена.

При проблемах – не забываем в первую очередь смотреть лог /var/log/maillog.

После настройки postfix нужно перестроить базу данных для файла почтовых алиасов /etc/aliases и /etc/aliases.db командой newaliases иначе почта может не ходить.

 

Часть 1 (PostfixAdmin)
Часть 2 (Postfix)
Apache24, MySQL56, PhP5
Apache24 + SSL и redirect http to https
Clamav
Spamassassin
Amavis-new + связь с Postfix
SSL сертификат для Postfix
SSL сертификат для Dovecot
Sieve + Dovecot
OpenDKIM + Postfix

 

 

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *