LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 825|回复: 4

vpopmail不会连接mysql?

[复制链接]
发表于 2004-9-21 16:35:34 | 显示全部楼层 |阅读模式
系统平台是redhat al3
vpopmail-5.4.0
qmail-1.03
MySQL-client-4.0.20-0
MySQL-devel-4.0.1-2
MySQL-server-4.0.20-0
MySQL-shared-4.0.1-2

本想用iGENUS作一个webmail系统的,可是vpopmail一直不用mysql数据库,很奇怪。

安装vpopmail的时候使用这些参数的:

./configure \
--enable-auth-module=mysql \
--enable-incdir=/usr/local/mysql/include \
--enable-libdir=/usr/local/mysql/lib \
--enable-mysql-logging \
--enable-mysql-limits \
--enable-valias \
--enable-logging=v

vmysql.h已经添加了mysql的账号和密码;

装上去之后,添加域的时候vpopmail还是再domain目录里面加东西,而不在数据库中进行操作,qmail工作一切正常,一点错都不报……
这是为什么呢?请高手帮忙看看!谢谢了!
发表于 2004-9-21 17:29:59 | 显示全部楼层
安装vpopmail

root: ~ $ mkdir /home/vpopmail
root: ~ $ mkdir /home/vpopmail/etc

添加用户和组

root: ~ $ groupadd vchkpw
root: ~ $ useradd -g vchkpw vpopmail

添加mysql的vpopmail用户,用于操作vpopmail数据库

AS3默认安装后,mysql缺少mysql-server-3.23.58-4.i386.rpm,装上去!然后测试是否可以正常使用

root: ~ $ cp /usr/lib/mysql/* /usr/lib/
root: ~ $ cp /usr/include/mysql/* /usr/include/
root: ~ $ service mysqld start
root: ~ $ mysql -p

mysql>create database vpopmail; \\ 进入mysql命令行

mysql>grant all on vpopmail.* to vpopmail@localhost identified by "snoopyxp";

编译安装vpopmail

root: ~ $ tar zxvf vpopmail-5.2.1.tar.gz
root: ~ $ cd vpopmail-5.2.1
root: ~ $ vi vmysql.h

#define MYSQL_UPDATE_SERVER "localhost" \\ mysql服务器名
#define MYSQL_UPDATE_USER "vpopmail" \\ 用户名
#define MYSQL_UPDATE_PASSWD "snoopyx" \\ 改成你设置的密码

#define MYSQL_READ_SERVER "localhost" \\ mysql服务器名
#define MYSQL_READ_USER "vpopmail" \\ 用户名
#define MYSQL_READ_PASSWD "snoopyx" \\ 改成你设置的密码

创建tcp.smtp文件(或者使用/etc/tcp.smtp)

root: ~ $ vi /home/vpopmail/etc/tcp.smtp

127.0.0.1:allow,RELAYCLIENT=""
:allow

root: ~ $ cd /home/vpopmail/etc
root: ~ $ tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

进行编译

root: ~ $ ./configure --prefix=/home/vpopmail \\ 指定安装路径
--enable-mysql=y \\ 是否应用Mysql数据库
--enable-incdir=/usr/include/mysql \\ Mysql数据库include文件所在目录
--enable-libdir=/usr/lib/mysql \\ Mysql数据库lib文件所在目录
--enable-default-domain=snoopy.gov \\ 定义虚拟域名
--enable-passwd=n \\ 是否使用系统密码验证方式
--enable-defaultquota=10485760 \\ 定义缺省邮箱大小,10485760为10MB,20971520为20MB,52428800为50MB
--enable-tcprules-prog=/usr/local/bin/tcprules \\ 指定tcprules目录
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \\ 指定tcprules应用规则文件
--enable-vpopuser=vpopmail \\ vpopmail的用户
--enable-vpopgroup=vchkpw \\ vpopmail的组
--enable-ip-alias-domains=n \\ 在虚拟域中允许通过反向IP地址查找虚拟域名
--enable-sqwebmail-pass=y \\ sqwebmail密码验证支持
--enable-hardquota=10000000 \\ 限制磁盘限额为10M就需要使用下面这个配置参数,若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制
root: ~ $ make
root: ~ $ make install-strip

创建虚拟域

root: ~ $ cd /home/vpopmail/bin
root: ~ $ ./vadddomain 域名 (密码)
\\ 在mysql数据库vpopmail中自动生成vpopmail表单,生成的密码是postmaster@域名帐户的密码,以后登陆qmailadmin就是使用postmaster登陆的

root: ~ $ ./vadduser 用户名 密码
\\ 会自动往表vpopmail中添加用户数据,用户添加到默认的域里面。如果要添加到其他的虚拟域,用户名要带域名,如pink@snoopy.gov)
如果不成功的话,则必须先删除创建的域,./vdeldomain 域名 不要使用手工操作mysql删除域和用户帐号(除非你特别熟悉),否则会引起系统帐户的紊乱
发表于 2004-9-21 18:18:45 | 显示全部楼层
发表于 2004-9-21 20:38:53 | 显示全部楼层
另外可以参考http://www.qmailrocks.org
 楼主| 发表于 2004-9-22 10:19:50 | 显示全部楼层
谢谢斑竹,不过,你说的这些,我都做了~
我安装的是MySQL-server-4.0.20-0;
vmysql.h也修改了;
用的是/etc/tcp.smtp文件;
mysql里面有vpopmail用户和对应的权限;
vpopmail工作的cdb模式下一切正常;
就是无法工作在mysql模式下;
刚才用vcovert转换数据,结果报done,可是数据库中还是没有任何数据:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表