`

编译安装tpop3d(使用mysql验证mail用户)

阅读更多

wget http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.5.3.tar.gz

tar zxvf tpop3d-1.5.3.tar.gz

cd tpop3d-1.5.3

./configure --enable-mbox-maildir --enable-mbox-bsd --enable-tls --disable-auth-pam \
--enable-auth-mysql --with-mysql-include-dir=/usr/local/mysql/include \
--with-mysql-lib-dir=/usr/local/mysql/lib
(注:--enable-tls打开ssl支持,确认已安装openssl,如果不是安装在默认目录,再加上--with-openssl-root参数指定openssl所安装的目录)
make
make install

这时会出现:
configure: error: vmail-sql authentication enabled, but mysql_init doesn't seem to be available.
错误信息。

vi  configure,找到
eval "ac_cv_lib_$ac_lib_var=\"mysqlclient \"" ,更改为:
eval "ac_cv_lib_$ac_lib_var=\"mysqlclient -lz \""

然后:
./configure --enable-mbox-maildir --enable-mbox-bsd --enable-tls --disable-auth-pam \
--enable-auth-mysql --with-mysql-include-dir=/usr/local/mysql/include \
--with-mysql-lib-dir=/usr/local/mysql/lib

make
make install
这样就安装完成带Mysql验证的tpop3d,
修改/usr/local/etc/tpop3d.conf文件(如果没有,执行:cp tpop3d.conf.sample /usr/local/etc/tpop3d.conf):

#
# MySQL authentication options
#
# auth-mysql-enable: (yes | true)
# Enable MySQL authentication.
auth-mysql-enable: true

# auth-mysql-mail-group: (group-name | gid)
# The group name or gid under which access to the mailspool will take place.
# [default: group of user associated with virtual domain]
auth-mysql-mail-group: vmail

# auth-mysql-hostname: hostname [[hostname] hostname] ..
# Host on which to connect to MySQL. Tried in order until a working host is
# found. [default: localhost]
auth-mysql-hostname: localhost

# auth-mysql-database: database
# MySQL database to use for authentication.
auth-mysql-database: yourdatabase

# auth-mysql-username: username
# MySQL username used to access the database.
auth-mysql-username:  yourusername

# auth-mysql-password: password
# Password of MySQL user.
auth-mysql-password: yourpassword

# auth-mysql-pass-query: substitution string
# Query template to use for USER/PASS authentication. Must return mailpath,
# password, userid, mailspool type; uses substitution variables as described
# in the man page.
#auth-mysql-pass-query: SELECT mailpath, password, userid, spooltype FROM ...
auth-mysql-pass-query:  SELECT CONCAT('/var/mail/', maildir), \
                    CONCAT('{crypt}', password),      \
                    'vmail', 'bsd'                \
               FROM mailbox                          \
              WHERE username = CONCAT('$(local_part)', '@', '$(domain)')
由于没有使用vmail-sql中的数据库schema,则要将auth-mysql-pass-query配置参数修改成符合你本地数据库schema的查询条件。详细情况参见:
http://www.ex-parrot.com/~chris/tpop3d/tpop3d.conf.5.html 的A note on MySQLauthentication部分



想飞的鱼 2006-12-07 11:30 发表评论
分享到:
评论

相关推荐

    mysql自动编译安装

    8. **验证安装**:最后,重启系统并使用`service mysql start`启动MySQL,然后使用`mysql -u root -p`登录数据库,输入密码验证安装是否成功。 通过以上步骤,你就可以在Linux系统中成功编译并安装MySQL 5.6.36版本...

    mysql-5.7.18源码和connector C++源码在Linux在编译安装

    6. **测试连接**:使用`mysql -u root -p`命令登录MySQL服务器,验证安装是否成功。 **Connector/C++ 1.1.8编译安装** 1. **预处理**:同样需要安装必要的依赖库,如`libmysqlclient-dev`,`libodbc1`,`libiodbc-...

    debian编译安装mysql5.7.35.txt

    debian编译安装mysql5.7.35.txt 编译安装更稳定! 每一行复制执行即可完成安装!

    Mysql二进制和编译安装步骤

    ### MySQL的二进制与编译安装步骤详解 ...编译安装适合对自定义配置有较高需求的场景,而二进制安装则更加简单快捷,适合大多数用户的使用需求。根据实际情况选择合适的安装方式,可以有效提高MySQL数据库的部署效率。

    mysql8编译安装步骤

    mysql8编译安装步骤 详细记录了如何一步步从源码安装mysql8

    Qt编译MySQL驱动

    3. **编译和安装**:配置完成后,使用以下命令编译和安装Qt,包括MySQL驱动: ``` make -j4 make install ``` `-j4`表示使用4个线程进行编译,你可以根据你的CPU核心数调整这个值。 4. **链接MySQL驱动**:...

    mysql8.0.33的Linux编译安装文件

    MySQL 8.0.33 是一个流行的开源关系型数据库管理系统,在Linux环境下进行编译安装可以为用户带来更深入的定制性和性能优化。在Linux(如CentOS)系统上手动编译MySQL 8.0.33的过程涉及多个步骤,包括获取源代码、...

    mysql免编译安装

    在本文中,我们将详细探讨如何进行MySQL的免编译安装,尤其是针对MySQL 5.1版本,这一过程将遵循INSTALL-BINARY安装向导文件的指导。 免编译安装通常比源码编译安装更为简便快捷,因为它避免了编译源代码的复杂步骤...

    mysql源码安装编译

    MySQL源码安装编译是一个复杂的过程,涉及到许多技术细节,对于想要深入了解MySQL内部工作原理或者定制特定功能的用户来说,这是必要的步骤。本教程将基于网络上的多种资源和实践经验,为您提供一个详尽的MySQL源码...

    编译安装mysql1

    MySQL是一个广泛使用的开源关系型数据库管理系统,而源码编译安装允许用户根据需求定制安装过程。 首先,安装必要的依赖工具,这里是`cmake`。`cmake`是MySQL 5.5版本起用于编译配置的工具。你可以从官方网站下载...

    CentOS下mysql成功安装

    在编译安装完成后,需要添加一个名为mysql的用户和组,然后将安装目录的所有者改为mysql用户。 初始化数据库 初始化数据库需要使用mysql_install_db命令来创建数据库文件和表结构。 注册为服务 将MySQL注册为...

    RHEL6.2编译安装MySQL 5.6.16过程分享

    使用`cmake`命令来配置编译选项,例如设置MySQL的安装位置、数据文件存放目录、配置文件的位置以及启用存储引擎。在上述示例中,MySQL将被安装在 `/usr/local/mysql` 目录,数据文件存放在 `/usr/local/mysql/data`...

    mysql5.5编译安装linux.doc

    最后,使用`mysql -u root -p`命令连接到MySQL服务器,验证安装是否成功。 以上就是MySQL 5.5在Linux环境下编译安装的详细步骤,每个环节都需要仔细操作,确保每个依赖都正确安装,避免因遗漏或错误导致的编译失败...

    ubuntu交叉编译mysql的C语言程序到ARM开发板

    该过程需要安装必要的开发包、设置交叉编译工具链、修改 CMakeLists.txt 文件、编写测试程序 mysqltest.c、进行交叉编译和解决目标板运行时出现的错误。 _one. 安装必要的开发包_ 在交叉编译 MySQL 的 C 语言程序...

    编译安装mysql-5.7.36.md

    编译安装mysql-5.7.36.md

    linux下mysql 编译安装方法

    在Linux环境下手动编译安装MySQL数据库是一项重要的技能,尤其对于那些需要定制化配置或在特定环境中运行MySQL的用户而言。本文将详细介绍如何在Linux系统中编译安装MySQL 5.0.51a版本,并分享一些实际操作中的经验...

    linux下PC机和ARM开发板的QT下mysql驱动编译使用

    总的来说,编译和使用QT下的MySQL驱动涉及多个步骤,包括安装依赖库、配置QT源码、编译以及处理交叉编译问题。在不同平台上进行这些操作时,要根据平台特性进行适当的调整。在实际操作中,细心和耐心是非常重要的,...

    linux环境下MySQL源码编译安装

    linux环境下MySQL源码编译安装及初始化,使用cmake安装,如何添加配置文件,配置客户端,以及初始化。

Global site tag (gtag.js) - Google Analytics