
私は、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
追加情報:
auth-sql.conf は、以下のファイルから構成されます。
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」を試しましたが、常にエラーが発生します。
: := : ドキュメントの末尾に dovecot-sql.conf を追加します。
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 パッケージだけでなく追加モジュールもインストールする必要があります。この場合、postgresql のサポートには dovecot-pgsql パッケージも必要です。
/etc/dovecot/conf.d/auth-sql.conf.ext のドライバー行の正しい構文は次のとおりです。
driver = sql
そして、正しいドライバーが/etc/dovecot/conf.d/dovecot-sql.conf.extに指定されます。
driver = pgsql