
Я пытаюсь настроить Dovecot + Postfix + PostfixAdmin с поддержкой postgresql. Я успешно настроил postfix для отправки писем на псевдонимы моего домена, и теперь я хочу настроить фактическую поддержку почтовых ящиков на моем сервере. Я следовал параметрам конфигурации для поддержки базы данных на dovecot 2 wiki (http://wiki.dovecot.org/AuthDatabase/SQL), dovecot запускается без ошибок, но при первой попытке подключения по IMAP, dovecot жалуется на maillog:
auth: Fatal: Unknown database driver 'pgsql'
Я уверен, что dovecot поддерживает postgres, вот вывод dovecot --build-options:
Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192
Mail storages: cydir dbox maildir mbox mdbox raw shared
SQL driver plugins: mysql postgresql sqlite
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap(plugin) nss passwd prefetch passwd-file sql
Дополнительная информация:
/etc/dovecot/conf.d/auth-sql.conf.ext
passdb {
driver = pgsql
# Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
}
Для раздела драйверов я пробовал: «pgsql», «postgresql» и «sql», но всегда получаю ошибку.
/etc/dovecot/conf.d/dovecot-sql.conf.ext
connect = host=localhost dbname=postfix user=postfix password=secret
default_pass_scheme = CRYPT
password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
user_query = SELECT '/home/'||home AS home, uid, gid FROM users WHERE userid = '%u'
Есть идеи, что я упускаю? Спасибо.
решение1
На CentOS 6 необходимо установить не только пакет dovecot, но и дополнительные модули, в этом случае пакет dovecot-pgsql также необходим для поддержки postgresql.
Правильный синтаксис для строки драйвера в /etc/dovecot/conf.d/auth-sql.conf.ext:
driver = sql
и затем нужный драйвер указывается в /etc/dovecot/conf.d/dovecot-sql.conf.ext
driver = pgsql