编译安装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,SQL,Access,HTML)