`

编译安装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部分

分享到:
评论

相关推荐

    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 编译安装更稳定! 每一行复制执行即可完成安装!

    linux下mysql5.5编译安装笔记(完整安装教程)

    这个编译安装过程适用于其他MySQL 5.5.x版本,因为从5.5开始,MySQL引入了CMake作为构建系统,为用户提供了更自由的定制编译选项。尽管随着版本更新,某些细节可能有所变化,但基本流程保持一致。

    Mysql二进制和编译安装步骤

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

    Mysql 5.6 源码编译安装

    ### MySQL 5.6 源码编译安装详解 #### 一、前言 本文旨在详细介绍如何在Linux环境下从源码编译安装MySQL 5.6版本的过程。相较于二进制包安装,源码编译安装能更好地适应不同的硬件环境,并且可以定制化编译参数来...

    mysql8编译安装步骤

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

    linux下mysql源码编译安装

    linux下源码编译安装mysql-5.6.25版本

    Qt编译MySQL驱动

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

    Qt Mysql linux驱动编译.docx

    在开发基于Qt的应用程序并尝试连接到MySQL...总之,解决"QMYSQL driver not loaded"错误的关键在于编译和安装Qt的MySQL驱动库。遵循上述步骤,你应该能够成功连接到MySQL数据库,从而在Linux环境中执行你的Qt应用。

    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源码...

    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环境下编译安装的详细步骤,每个环节都需要仔细操作,确保每个依赖都正确安装,避免因遗漏或错误导致的编译失败...

Global site tag (gtag.js) - Google Analytics