|
安装和基本配置: cd QMail-1.03 make setup check ./config-fast playease.com cd ~alias touch .QMail-postmaster .QMail-mailer-daemon .QMail-root chmod 644 ~alias/.QMail* echo "127.0.0.1:allow,RELAYCLIENT=""" > /etc/tcp.SMTP 下面这一条setuid: chmod 4755 /bin/checkpassword cp /var/QMail/boot/home /var/QMail/rc 修改/var/QMail/rc把./Mailbox 改成./Maildir/ 使用Maildir; 启动QMail: csh -cf "/var/QMail/rc &" 然后启动SMTP服务 使用第一种补丁: tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP /var/QMail/bin/QMail-SMTPd playease.com /bin/checkpassword /bin/true /bin/md5checkpw /bin/true & 使用第二种补丁: 把playease.com去掉。 这样,基于系统用户的SMTP验证就完成了~ 然后我们开始做基于vpopmail的: groupadd vchkpw useradd -g vchkpw -d /vmail vpopmail 我把vpopmail的安装目录设在/vmail中。 su vpopmail mkdir ~vpopmail/etc echo "127.0.01.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.SMTP ./configure --help ./configure --enable-default-domain=playease.com make make install-strip cd ~vpopmail/bin ./vadddomain playease.com ./vadduser dawn@playease.com
这样就添加了一个用户 chmod 6755 /vmail/bin/vchkpw 这样是setuid 以下是启动SMTP服务: 使用第一种补丁: tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP /var/QMail/bin/QMail-SMTPd playease.com /vmail/bin/vchkpw /bin/true /bin/md5checkpw /bin/true & 使用第二种补丁: 把playease.com去掉。 启动pop3服务:
tcpserver -H -R 0 pop-3 /var/QMail/bin/QMail-popup playease.com /vmail/bin/vchkpw /var/QMail/bin/QMail-pop3d Maildir & 使用mysql等其它模块验证时不影响。 至此大功告成。 三、 要注意的问题: 1. 在上面的实践中我用playease.com做为例子域名,用dawn作为例子用户名,替换成你自己的域名就可以了。 2. 第二个要注意的是基于vpopmail多域名的情况我没有测试,请大家自己测试,理论上应该没有问题。 3. 我的系统设置了搜索路径所以我直接用tcpserver,一盘的系统需要使用/usr/local/bin/tcpserver的方式来写 4. 我的vpopmail安装在/vmail中,大家要注意写vchkpw的路径。 5. 我这儿的507、502分别是QMaild的uid和gid,你要换成你自己的。 6. 以上操作在redhat7.1下检验通过。
|