`

编译安装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 发表评论
分享到:
评论

相关推荐

    使用cmake编译安装mysql

    本篇文章将深入探讨如何使用CMake编译并安装MySQL 5.6版本。 首先,CMake是一个用于管理构建过程的工具,它允许开发者编写一次构建脚本,然后在多个操作系统和编译器上生成本地构建系统。CMake并不直接进行编译,...

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

    mysql5.6编译安装

    创建`mysql`用户和用户组(如果不存在),然后使用`chown`命令将MySQL的安装目录和数据目录的所有权分配给`mysql:mysql`。 7. **初始化MySQL数据库**: 进入MySQL的安装目录,运行`scripts/mysql_install_db`脚本...

    debian编译安装mysql5.7.35.txt

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

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

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

    linux下编译安装mysql,apache,php文档

    - 验证MySQL服务是否成功启动,可以使用以下命令之一: - `ps –ef | grep mysql` - `netstat –nat`,检查3306端口是否开放。 - 安装MySQL客户端:`rpm –ivh MySQL-client-5.14.9-l.glibc23.i386.rpm`。 - ...

    Mysql二进制和编译安装步骤

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

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

    linux环境下的mysql编译安装的过程,只要按照我的方法进行,就不会出错,前提示你的linux可以安装yum源,否则无法编译安装

    mysql源码安装编译

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

    CentOS下mysql成功安装

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

Global site tag (gtag.js) - Google Analytics