
Ich versuche, Dovecot + Postfix + PostfixAdmin mit PostgreSQL-Unterstützung zu konfigurieren. Ich habe Postfix erfolgreich so konfiguriert, dass E-Mails an Aliase für meine Domäne gesendet werden, und jetzt möchte ich die tatsächliche Postfachunterstützung auf meinem Server konfigurieren. Ich bin den Konfigurationsoptionen für die Datenbankunterstützung im Dovecot 2-Wiki gefolgt (http://wiki.dovecot.org/AuthDatabase/SQL), startet Dovecot ohne Fehler, aber beim ersten Verbindungsversuch per IMAP beschwert sich Dovecot im Maillog:
auth: Fatal: Unknown database driver 'pgsql'
Ich bin sicher, dass Dovecot Postgres-Unterstützung hat, hier ist die Ausgabe für 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
Weitere Informationen:
/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
}
Im Treiberabschnitt habe ich Folgendes ausprobiert: ‚pgsql‘, ‚postgresql‘ und ‚sql‘, ich erhalte immer den Fehler.
/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'
Irgendeine Idee, was ich übersehen habe? Danke.
Antwort1
Unter CentOS 6 müssen nicht nur das Dovecot-Paket, sondern auch die zusätzlichen Module installiert werden. In diesem Fall wird für die PostgreSQL-Unterstützung auch das Paket dovecot-pgsql benötigt.
Die richtige Syntax für die Treiberzeile in /etc/dovecot/conf.d/auth-sql.conf.ext lautet:
driver = sql
und dann wird der richtige Treiber in /etc/dovecot/conf.d/dovecot-sql.conf.ext angegeben.
driver = pgsql