Инструменты пользователя

Инструменты сайта


dovecot

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

dovecot [2018/08/08 04:44] (текущий)
Строка 1: Строка 1:
 +====== Dovecot ======
  
 +~~Title: Настройка сервера Dovecot и Postfix ~~
 +{{htmlmetatags>​
 +metatag-description=(Настройка Dovecot с MysQL. Генерация SSL сертификатов для Dovecot. Рабочие примеры настройки сервера Dovecot.)
 +}}
 +
 +{{ ::​dovecot_postfix.jpg?​nolink&​600 |}}
 +
 +Homepage: [[http://​dovecot.org|Dovecot]]
 +
 +Ниже настройка **Dovecot** версии 2.0.19 работающей с [[MTA]] Postfix.
 +  * [[ssl#​quick_dovecot_ssl_sertifikat|Quick Dovecot SSL сертификат]]
 +**Dovecot** - свободный [[IMAP]] - и [[POP3]] -сервер,​ разрабатываемый в расчёте на безопасность,​ гибкость настройки и быстродействие.
 +<​file>​
 +# aptitude install dovecot-core dovecot-imapd
 +</​file>​
 +  * Утилита **doveconf** служит для настройки Dovecot, запущенная без параметров выводит все настройки,​ если использовать ключ **-n** (или ) будут выведены только измененные нами настройки.
 +  * Утилита [[http://​wiki2.dovecot.org/​Tools/​Doveadm|doveadm]]
 +  * Перезапуск<​file>​
 +# service dovecot restart
 +</​file>​
 +===== dovecot.conf =====
 +<file bash dovecot.conf>​
 +# Enable installed protocols
 +#protocols = imap
 +!include_try /​usr/​share/​dovecot/​protocols.d/​*.protocol
 +
 +listen = *
 +base_dir = /​var/​run/​dovecot/​
 +instance_name = dovecot
 +login_greeting = Dovecot ready.
 +shutdown_clients = yes
 +doveadm_socket_path = doveadm-server
 +
 +!include conf.d/​*.conf
 +
 +</​file>​
 +===== 10-logging.conf=====
 +  * [[http://​wiki2.dovecot.org/​Logging|Dovecot Logging]]
 +Настройка лог файлов Dovecot производится в файле conf.d/​10-logging.conf. По умолчанию используется [[syslog]]. Выведем сообщения в отдельный файл и настроим ротацию ([[logrotate]]) лог- файлов<​file bash conf.d/​10-logging.conf>​
 +#log_path = syslog
 +log_path = /​var/​log/​dovecot.log
 +debug_log_path = /​var/​log/​dovecot-debug.log
 +
 +## Logging verbosity and debugging.
 +auth_verbose = yes
 +auth_verbose_passwords = no 
 +auth_debug = yes
 +auth_debug_passwords = yes
 +mail_debug = yes
 +verbose_ssl = yes
 +
 +</​file><​file bash /​etc/​logrotate.d/​dovecot>​
 +/​var/​log/​dovecot*.log {
 +  rotate 8 
 +  missingok
 +  notifempty
 +  delaycompress
 +  sharedscripts
 +  postrotate
 +    doveadm log reopen
 +  endscript
 +}
 +</​file>​
 +===== 10-auth.conf =====
 +<file bash conf.d/​10-auth.conf>​
 +# выставлять no только для тестов SMTP AUTH без использования TLS, в остальных случаях yes
 +disable_plaintext_auth = yes
 +auth_mechanisms = plain login
 +#​auth_mechanisms = plain login cram-md5 digest-md5
 +
 +!include auth-passwdfile.conf.ext
 +</​file>​
 +
 +===== 10-mail.conf =====
 +<file bash conf.d/​10-mail.conf>​
 +#   %u - username
 +#   %n - user part in user@domain,​ same as %u if there'​s no domain
 +#   %d - domain part in user@domain,​ empty if there'​s no domain
 +#   %h - home directory
 +#
 +mail_location = maildir:/​home/​vmail/​%d/​%n
 +mail_uid = 107
 +mail_gid = 115
 +first_valid_uid = 107
 +last_valid_uid = 109
 +</​file>​
 +===== 10-master.conf =====
 +<file bash conf.d/​10-master.conf>​
 +#​default_process_limit = 100
 +#​default_client_limit = 1000
 +#​default_vsz_limit = 256M
 +#​default_login_user = dovenull
 +#​default_internal_user = dovecot
 +
 +service imap-login {
 +  inet_listener imap {
 +    #port = 143
 +  }
 +  inet_listener imaps {
 +    #port = 993
 +    #ssl = yes
 +  }
 +}
 +
 +service auth {
 +  # Postfix smtp-auth
 +  unix_listener /​var/​spool/​postfix/​private/​auth {
 +    mode = 0666
 +  }
 +
 +  # Auth process is run as this user.
 +   user = postfix
 +   group = postfix
 +}
 +</​file>​
 +===== auth-passwdfile.conf.ext =====
 +  * [[http://​wiki2.dovecot.org/​AuthDatabase/​PasswdFile|Passwd-file]]
 +  * [[http://​wiki2.dovecot.org/​Authentication/​PasswordSchemes|Password Schemes]]
 +Настроем файл auth-passwdfile.conf.ext,​ в котором укажем,​ что имена и пароли пользователей,​ требующих [[smtp#​komanda_auth|SMTP AUTH]], должны храниться в файле /​etc/​dovecot/​users.
 +
 +Записи в файле /​etc/​dovecot/​users должны храниться в формате<​file>​
 +user:​password:​uid:​gid:​(gecos):​home:​(shell):​extra_fields
 +</​file>​Поле user в виде user@domain,​ а поле password шифроваться при помощи SHA256-CRYPT
 +
 +<file bash conf.d/​auth-passwdfile.conf.ext>​
 +passdb {
 +  driver = passwd-file
 +  args = scheme=SHA256-CRYPT username_format=%u /​etc/​dovecot/​users
 +}
 +
 +userdb {
 +  driver = passwd-file
 +  args = username_format=%u /​etc/​dovecot/​users
 +}
 +</​file>​
 +Создадим хеш для поля password используя тестового пользователя user1@example.com с паролем 12345:<​file>​
 +# doveadm pw -s SHA256-CRYPT -u user1@example.com -p 12345
 +{SHA256-CRYPT}$5$/​y05qudkNwZipDS8$qur95mpxvQM6jneu5BnWeX8pzocdUMWCDkZn0mEca9C
 +</​file>​Добавим полную запись в /​etc/​dovecot/​users:<​file>​
 +user1@example.com:​{SHA256-CRYPT}$5$/​y05qudkNwZipDS8$qur95mpxvQM6jneu5BnWeX8pzocdUMWCDkZn0mEca9C:​postfix:​postfix
 +</​file>​Протестируем полученную запись для SMTP и IMAP при помощи утилиты **doveadm**<​file>​
 +# doveadm auth -x service=smtp -x rip=192.0.2.143 user1@example.com 12345
 +passdb: user1@example.com auth succeeded
 +extra fields:
 +  user=user1@example.com
 +</​file>​
 +==== Скрипт создания пользователя ====
 +
 +Bash скрипт для добавления нового пользователя в Dovecot SASL<​file bash users_pw.sh>​
 +#!/bin/bash
 +
 +FUSERS='/​etc/​dovecot/​users'​
 +
 +echo -n '​Please enter username: '
 +read
 +USER1=$REPLY
 +HP2=`/​usr/​bin/​doveadm pw -s SHA256-CRYPT -u $USER1`
 +USERADD="​$USER1:​$HP2::​postfix:​postfix"​
 +echo $USERADD >> $FUSERS
 +echo -n $USERADD
 +echo -e "​\n\nDONE\n"​
 +</​file>​
 +====== Dovecot и MySQL ======
 +
 +===== 10-auth.conf =====
 +<file bash conf.d/​10-auth.conf>​
 +# выставлять no только для тестов SMTP AUTH без использования TLS, в остальных случаях yes
 +disable_plaintext_auth = yes
 +auth_mechanisms = plain login
 +#​auth_mechanisms = plain login cram-md5 digest-md5
 +
 +!include auth-sql.conf.ext
 +</​file>​
 +
 +===== dovecot-sql.conf.ext =====
 +<file bash dovecot-sql.conf.ext>​
 +driver = mysql
 +connect = host=127.0.0.1 dbname=postfixadmin user=postfix password=yourpassword
 +default_pass_scheme = MD5-CRYPT
 +
 +user_query = SELECT '/​var/​vmail/​%d/​%u'​ as home,'​maildir:/​var/​vmail/​%d/​%u'​as mail, 1001 AS uid, 
 +1001 AS gid FROM mailbox WHERE username = '​%u'​ AND active = '​1'​
 +
 +password_query = SELECT username as user, password, '/​var/​vmail/​%d/​%u'​ AS userdb_home, ​
 +'​maildir:/​var/​vmail/​%d/​%u'​ as userdb_mail,​ 1001 as userdb_uid, 1001 as userdb_gid FROM mailbox ​
 +WHERE username = '​%u'​ AND active = '​1'​
 +</​file>​
 +====== Ссылки ======
 +  * [[http://​wiki2.dovecot.org/​HowTo/​PostfixAndDovecotSASL|HowTo Postfix and Dovecot 2 SASL]] + Using SASL with Postfix submission port
 +  * [[http://​bozza.ru/​art-170.html|Настройка Dovecot]]
 +  * [[http://​yakim.org.ua/​articles/​servers/​131-postfix-dovecot2-ldap.html|Установка почтового сервера на основе Postfix и Dovecot 2.xx]]
загрузка...
dovecot.txt · Последние изменения: 2018/08/08 04:44 (внешнее изменение)