OS:RedHat 7.2、7.1(FreeBSD、Solaris平台下还未测试)
所须软件:
qmail-1.03.tar.gz
qmail-smtpd-auth-0.30.tar.gz
ucspi-tcp-0.88.tar.gz
checkpassword-0.90.tar.gz
daemontools-0.70.tar.gz
vpopmail-4.9.10.tar.gz
ezmlm-0.53.tar.gz
autorespond-1.0.0.tar.gz
qmailadmin-0.45.tar.gz
sqwebmail-2.1.1.tar.gz
vqsignup-0.5.tar.gz
1 #mkdir /var/qmail
2 设定组、用户权限
#/usr/sbin/groupadd nofiles
#/usr/sbin/useradd –g nofiles –d /var/qmail/alias alias
#/usr/sbin/useradd –g nofiles –d /var/qmail qmaild
#/usr/sbin/useradd –g nofiles –d /var/qmail qmaill
#/usr/sbin/useradd –g nofiles –d /var/qmail qmailp
#/usr/sbin/groupadd qmail
#/usr/sbin/useradd –g qmail –d /var/qmail qmailq
#/usr/sbin/useradd –g qmail –d /var/qmail qmailr
#/usr/sbin/useradd –g qmail –d /var/qmail qmails
3 安装Qmail-1.03(带smtp认证)
#tar zxvf qmail-1.03.tar.gz
#tar zxvf qmail-smtpd-auth-0.30.tar.gz
#cd qmail-smtp-auth-0.30
#cp base64.c base64.h README.auth ../qmail-1.03/
#patch -d ../qmail-1.03 < auth.patch
#cd qmail-1.03
#make setup check
#./config-fast mail.domain.com
4 建立系统别名
#cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
#chmod 644 ~alias/.qmail*
5
#cp /var/qmail/boot/home /var/qmail/rc
#chmod 755 /var/qmail/rc
#vi /var/qmail/rc
修改其中./Mailbox为./Maildir,修改后的如下:
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Maildir by default.
exec env - PATH="/var/qmail/bin:$PATH"
qmail-start ./Maildir splogger qmail
建立样本:
#mkdir /etc/skel
#/var/qmail/bin/maildirmake /etc/skel/Maildir
#echo ./Maildir/ > ~/.qmail
6 安装 ucspi-tcp-0.88
#tar zxvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#make
#make setup check
7 安装checkpassword-0.90和cmd5checkpw-0.22.tar.gz
#tar zxvf checkpassword-0.90.tar.gz
#cd checkpassword-0.90
#make
#make setup check
#chmod 4755 /bin/checkpassword
#tar zxvf cmd5checkpw-0.22.tar.gz
#mkdir /usr/man
#mkdir /usr/man/man8
#cd cmd5checkpw-0.22
#make
#make install
如果不对/etc/passwd中的用户开放mail,就不需要安装checkpassword,只要安装vpopmail就可以了。
8 安装 daemontools-0.70
#tar zxvf daemontools-0.70.tar.gz
#cd daemontools-0.70
(注:在RedHat 7.1、7.2下需要修改tai64nlocal.c
# vi tai64nlocal.c
将#include
更改为:#include )
#make
#make setup check
#mkdir /var/run/qmail
9 安装 vpopmail-4.9.10
#/usr/sbin/groupadd vchkpw
#/usr/sbin/useradd –g vchkpw vpopmail
#mkdir ~vpopmail/etc
#echo “:allow” > ~vpopmail/etc/tcp.smtp
#tar zxvf vpopmail-4.9.10.tar.gz
#cd vpopmail-4.9.10
#./configure --enable-logging=v
--enable-roaming-users=y
--enable-sqwebmail-pass=n
--enable-passwd=n
--enable-default-domain=mail.domain.com
#make
#make install-strip
#chmod 6755 /home/vpopmail/bin/vchkpw
#crontab –e
40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
添加域名:
#cd /home/vpopmail/bin
#./vadddomain domain.com password
10 qmailadmin Web方式管理Qmail
10.1 安装ezmlm-0.53
#tar zxvf ezmlm-0.53.tar.gz
#cd ezmlm-0.53
#make
#make man
#make setup
10.2 安装autorespond-1.0.0
#tar zxvf autorespond-1.0.0.tar.gz
#cd autorespond-1.0.0
#gcc –Wall –o autorespond autorespond.c
#cp autorespond /usr/local/bin/autorespond
10.3 安装qmailadmin-0.45
在安装之前先确认:
·你是否已经安装了vpopmail,并使用vchkpw
·Web服务器的cgi目录位置
·ezmlm所在目录
·autorespond所在目录
确认以上的工作已完成,可以开始安装qmailadmin
10.4 安装
#tar zxvf qmailadmin-0.45.tar.gz
#cd qmailadmin-0.45
#./configure
#make
#make install-strip
测试:在浏览器中打开http://mail.domain.com/cgi-bin/qmailadmin就可以看到管理 界面了。
用户:postmaster
域:domain.com
口令:password
11 Webmail程序-sqwebmail的安装
#tar zxvf sqwebmail-2.1.1.tar.gz
#cd sqwebmail-2.1.1
#./configure --with-cachedir
--without-gzip
--enable-mimecharset=gb2312
--without-authmysql
--with-authvchkpw
--without-authdaemon
--without-authpam
--with-authuserdb
--enable-webpass=y
--with-authpwd
--with-authshadow
#make configure-check
#make
#make check
#make install-strip
#make install-configure
测试:在浏览器中打开:http://mail.domain.com/cgi-bin/sqwebmail就可以看到 webmail的登陆界面了。
12 vqsingup的安装
#tar zxvf vqsignup-0.5.tar.gz
#cd vqsignup-0.5
#./configure
#make
#make install
12.1 安装配置vqsignup
·拷贝vqsignup.cgi到apache的cgi-bin目录
·修改vqsignup.cgi的用户、组及访问权限,进入cgi-bin目录
#chown vpopmail.vchkpw vqsingup.cgi
#chmod ug+s vqsignup.cgi
·拷贝vqsignup.conf到cgi-bin目录下,确保其可以被所有用户可读
#chmod ugo+r vqsignup.conf
·拷贝vqsignup_html到cgi-bin目录,并确保该文件是所有用户可读
·拷贝vqsignup.html到DocumentRoot目录,确保其是所有用户可读
·编辑cgi-bin目录下的vqsignup.conf文件
修改”add_domain”一行,包含你希望支持的虚拟域
修改”result_*”行,指定vqsignup_text/*.html的完全路径
·进入vqsignup_text目录,编辑每个文件,使其只包含你所希望支持的虚拟域,若希望界面美观,则编辑html文件
·编辑DocumentRoot目录下的vqsignup.html文件,使其只包含你所希望支持的虚拟域,若希望界面美观,则编辑html文件
测试:在浏览器中打开http://mail.domain.com/vqsignup.html,来测试注册账号。
激活qmail SMTP , POP3 daemon 系统服务
首先建立SMTP转信规则
建立/etc/tcp.smtp 内容为
:allow
这样设置代表接受任何client端所发出的转送信件
若要拒绝某些IP所发出的Relay,则改/etc/tcp.smtp如下:
1.2.3.4:low,RELAYCLIENT=””
127.:allow,RELAYCLIENT=””
这样,除了1.2.3.4和127.*之外的所有IP地址都将被拒绝转送信件。
接下来将tcp.smtp转换成cdb格式
#/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
注意:如果对tcp.smtp有任何修改,都必须通过tcprules转换成cdb才会生效,另外,如果tcp.smtp为空,则表示拒绝所有的转送,因为预设的规则为deny。至此,转送规则已经建立,稍候将用此规则来启动qmail-smtpd。
将SMTP和POP3 daemon激活
首先去掉inetd.conf(xinetd.conf)中有关smtp和pop3的注释
然后编辑/etc/services,修改后如下:
smtp 25/tcp mail
pop3 110/tcp pop-3
pop3 110/udp pop-3
启动Qmail:
# csh -cf "/var/qmail/rc &"
启动SMTP服务:
#/usr/local/bin/tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.smtp.cdb -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd h4ck.org /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true &
·这里的-u 502中的501是qmaild的UID,-g 518中的518是nofiles的GID,/var/qmail/bin/splogger那一行会将log写入/etc/log/maillog
启动POP3服务:
#/usr/local/bin/tcpserver -H -R 0 pop-3 /var/qmail/bin/qmail-popup h4ck.org /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &