我正在尝试将 Courier 连接到 RHEL6 上的 MySQL。我使用 RPM 而不是存储库安装了 Courier(我认为这是我的问题的根源)。无论如何,以下是我安装的软件包:
$ rpm -qa | grep courier
courier-imap-4.10.0.20120202-7.3.i686
courier-authlib-userdb-0.63.1.20111230-4.4.i686
courier-authlib-mysql-0.63.1.20111230-4.4.i686
courier-authlib-pipe-0.63.1.20111230-4.4.i686
courier-authlib-0.63.1.20111230-4.4.i686
由于我在 Ubuntu 机器上安装相同软件有一些经验,因此我转向以下配置文件来设置我的 MySQL 凭据:
/etc/courier/authdaemonrc
/etc/courier/authmysqlrc
但在我看来,/etc/init.d/courier-authlib
脚本没有使用这些配置。证明我的说法的证据是/var/log/maillog
:
Jun 1 14:09:56 mail imapd: Connection, ip=[::ffff:127.0.0.1]
Jun 1 14:09:56 mail authdaemond: failed to connect to mysql server (server=mysql.example.com, userid=admin): Unknown MySQL server host 'mysql.example.com' (1)
Jun 1 14:09:56 mail imapd: LOGIN FAILED, [email protected], ip=[::ffff:127.0.0.1]
Jun 1 14:09:56 mail imapd: authentication error: Input/output error
在这种情况下,我已将 MySQL 地址设置为localhost
!有人知道如何设置/查找此守护进程的配置文件吗?
答案1
我假设你的 rpm 类似这个. 此 rpm 将提取几个文件,其中包括配置文件的示例。
Content of RPM :
/etc/authlib
/etc/authlib/authdaemonrc.dist
/etc/authlib/authldaprc.dist
/etc/authlib/authmysqlrc.dist
/etc/authlib/authpgsqlrc.dist
/etc/rc.d/init.d/courier-authlib
/usr/lib/courier-authlib
/usr/lib/courier-authlib/libauthcustom.la
/usr/lib/courier-authlib/libauthcustom.so
/usr/lib/courier-authlib/libauthcustom.so.0
/usr/lib/courier-authlib/libauthpam.la
/usr/lib/courier-authlib/libauthpam.so
/usr/lib/courier-authlib/libauthpam.so.0
/usr/lib/courier-authlib/libcourierauth.la
....
因此,您可以将配置文件放置authdaemonrc
在authmysqlrc
目录中/etc/authlib
。
边注
当你通过 rpm 安装并且不熟悉它时,你可以先使用命令提取 rpm (来源)
rpm2cpio courier-authlib-0.63.1.20111230-4.4.i686.rpm | cpio -idmv`
这将帮助你确定你的配置文件应该放在哪里。你可以使用其他方法类似上述的网站确定该 rpm 中的文件