Вторая часть будет посвящена настройке IMAP/POP3 сервера Dovecot.
В этой записи я опишу настройку Dovecot 1.2. Сейчас уже вышел Dovecot 2.1, но на первый взгляд он отличается от первого только тем, что конфиг разбит на несколько файлов. В принципе если разобраться с настройками первого Довекота то и со вторым проблем быть не должно. Мне ,честно говоря, вникать в особенности настройки второго Довекота лень да и необходимости нет, первый и так отлично работает.
Итак, устанавливаем довекот, нам понадобятся два пакета сам dovecot12 и dovecot12-backend-mysql
выполняем команды в консоли:
zypper in dovecot12 zypper in dovecot12-backend-mysql
Переходим в папку «/etc/dovecot/» и видим собственно сам файл конфигурации довекота «dovecot.conf» и файлы примеров подключения баз данных и LDAP.
Прежде чем начать редактирование конфигов нам необходимо создать пользователя под которым довекот будет раскладывать почту по папкам и собственно саму папку для почты.
Создадим нового пользователя «vmail» и добавим его в группу «mail»
root# adduser vmail root# passwd vmail Changing password for user vmail New password:***** Retype new password:***** root# usermod -G mail vmail
создаем папку для хранения почтовых ящиков к примеру «/var/vmail/» и даем права на эту папку пользователю «vmail».
root# mkdir /var/vmail/ root# chown -R vmail:mail /var/vmail/
Пользователь и папка готовы, пройдемся по файлу конфигурации довекота, файл содержит много букв пожтому приведу основное необходимое для работы:
# Базовая директоия в которой довекот хранит необходимые ему в процессе работы файлы base_dir = /var/run/dovecot/ # # протоколы с которыми довекот будет работать protocols = imap pop3 listen = * # # Не отключать аутентификацию с помощью обычного текста без шифрования disable_plaintext_auth = no # shutdown_clients = yes # ## ## Logging ## syslog_facility = mail # SSL/TLS поддержка: yes, no, required. ssl = no # ## ## Login processes ## # Директория в которой в которую процесс аутентификации помещает сокеты login_dir = /var/run/dovecot/login # # Прользователь для логин процесса login_user = dovecot # # Сообщения приветствия клиентов login_greeting = Dovecot ready. # ## ## Mailbox locations and namespaces ## # Директория размещения и хранения почтовых ящиков # В пути можно использовать следующие переменные: # # %u - имя пользователя # %n - Часть имнени до знака @ в почтоаом адресе # %d - Чать имени после @ собственно имя домена. # %h - home directory # mail_location = maildir:/var/vmail/%u # # If you create any namespaces, you must also create a namespace # Нейм спейс для приватных папок inbox, sent и тд namespace private { separator = / prefix = inbox = yes } # неим спейс для папок доступных всем пользователям заходящим по IMAP namespace public { separator = / prefix = Public/ # This assumes that the user has write access to the directory: location = maildir:/var/vmail/public inbox = no } ## ## Mail processes ## # first_valid_uid = 1150 last_valid_uid = 1150 # ## ## IMAP specific settings ## protocol imap { login_executable = /usr/lib/dovecot/imap-login # Плагин автокреате автоматически создает папки Trash и Sent подробней о # том какие папки создавать описано в самом конце файла конфигурации mail_plugins = autocreate mail_plugin_dir = /usr/lib/dovecot/modules/imap } ## ## POP3 specific settings ## protocol pop3 { # Login executable location. login_executable = /usr/lib/dovecot/pop3-login mail_plugin_dir = /usr/lib/dovecot/modules/pop3 } ## ## LDA specific settings ## protocol lda { # Адрес для отправки сообщений об отказе от аутентификации postmaster_address = postmaster@учфьзду.com mail_plugin_dir = /usr/lib/dovecot/modules/lda # путь к UNIX сокету аутентификации auth_socket_path = /var/run/dovecot/auth-master } ## ## Authentication processes ## auth_executable = /usr/lib/dovecot/dovecot-auth # Писать в лог о причинах и отказах от аутентификации. auth_verbose = yes # auth default { # Доступные механизмы аутентификации: # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey mechanisms = plain login # passdb sql { # Путь к файлу-конфигурации доступа к SQL args = /etc/dovecot/dovecot-sql.conf } userdb sql { # Путь к файлу-конфигурации доступа к SQL args = /etc/dovecot/dovecot-sql.conf } # User to use for the process. user = vmail # socket listen { master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. path = /var/run/dovecot/auth-master mode = 0600 # Default user/group is the one who started dovecot-auth (root) user = vmail group = mail } client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/run/dovecot/auth-client mode = 0660 group = mail } } } # ## ## Plugin settings ## # Описываем папки которые необходимо автоматически создавать во всех аккаунтах plugin { autocreate = Trash autocreate2 = Sent #autocreate3 = ..etc.. autosubscribe = Trash autosubscribe2 = Sent #autosubscribe3 = ..etc.. }
Конфигурация довекота более имение готова, но нужно еще создать файл для связи с базой данных. Нас интересует «dovecot-sql-example.conf». Этот файл тоже содержит много букв, в принципе имея минимальные представления о построении SQL запросов разобратся не сложно. Здесь же приведу только строчки необходимые для работы где postfixdb имя баз данных постфикса, postfix — пользователь базы данных, dbpass — пароль к базе данных.
Создаем файл «dovecot-sql.conf» следующего содержания:
driver = mysql connect = host=localhost dbname=postfixdb user=postfix password=dbpass default_pass_scheme = plain user_query = SELECT concat('/var/vmail/', maildir) as home, concat('maildir:/var/vmail/', maildir) as mail, 1150 AS uid, 12 AS gid FROM mailbox WHERE local_p password_query = SELECT local_part as user, password FROM mailbox WHERE local_part = '%n' AND active = '1'
Конфигурирование закончено, пробуем запустить довекот и если все нормально, то уже можно подключатся с довекоту почтовым клиентом по IMAP или POP3 протоколу.
rcdovecot start chkconfig -l 35 dovecot
Теперь для нормального функционирования нашей системы осталось только установить и с конфигурировать MTA EXIM.