一、安装环境
安装平台:RedHatLinux
安装的机器:mail.mydomain.com
软件包:
qmail-1.03qmail基本系统
ucspi-tcp-0.88tcpsever等服务程序
daemontools-0.70监视工具
checkpassword-0.81pop3验证用户的程序
ezmlm-0.53邮件列表管理
vpopmail-4.9.6-1虚拟域用户pop3支持
qmailadmin-0.35虚拟域web管理
autorespond-1.0.0自动回复程序
sqwebmail-1.2.0webmail
vqsignup-0.4web方式用户注册
软件来源:
http://www.qmail.org
http://www.inter7.com/qmail
注意:每个包安装前务必先仔细阅读INSTALL和FAQ,很多问题在FAQ都有解决方法。
二、安装步骤
1、安装qmail
1)创建qmail安装目录
#mkdir/var/qmail
2)添加qmail必需的用户和组
#groupaddnofiles
#useradd-gnofiles-d/var/qmail/aliasalias
#useradd-gnofiles-d/var/qmailqmaild
#useradd-gnofiles-d/var/qmailqmaill
#useradd-gnofiles-d/var/qmailqmailp
#groupaddqmail
#useradd-gqmail-d/var/qmailqmailq
#useradd-gqmail-d/var/qmailqmailr
#useradd-gqmail-d/var/qmailqmails
3)解压、解包和编译
(假设这些包都下载到/var/tmp目录下)
#cd/var/tmp
#tarxzvfqmail-1.03.tar.gz
#cdqmail-1.03
进入qmail目录后,仔细阅读一下README和INSTALL文件.然后开始编译qmail
#makesetupcheck
4)配置
#./config
5)建立系统别名
#(cd~alias;touch.qmail-postmaster.qmail-mailer-daemon.qmail-root)
#chmod644~alias/.qmail*
可以在这些别名文件中指定管理用户来接受这些系统邮件,如
#echo'admin'~alias/.qmail*
6)建立启动文件和用户的maildir
#cp/var/qmail/boot/home/var/qmail/rc
#chmod755/var/qmail/rc
编辑/var/qmail/rc
修改其中./Mailbox成为./Maildir以支持maildir的pop收信方式,如下:
#!/bin/sh
#Usingsploggertosendthelogthroughsyslog.
#Usingqmail-localtodelivermessagesto~/Maildirbydefault.
execenv-PATH="/var/qmail/bin:$PATH"
qmail-start./Maildirsploggerqmail
其中sploggerqmail指令是用来将日志文件记录在/中。
建立maildir的方法:
$/var/qmail/bin/maildirmake/etc/skel/Maildir
$echo./Maildir/~/.qmail
注意Maildir必须为该使用者所有,可以chown变更,并以chmod700Maildir设定权限。
2、安装ucspi-tcp-0.88
#tarzxvfucspi-tcp-0.88.tar.gz
#cducspi-tcp-0.88
#make
#makesetupcheck
执行文件将被安装在/usr/local/bin中。
3、安装checkpassword
#tarzxvfcheckpassword-0.81.tar.gz
#cdcheckpassword-0.81
#make
#makesetupcheck
#chmodog-rx/bin/checkpassword
执行文件checkpassword将被安装在/bin中。
如果不对/etc/passwd中的用户开放mail,则不需要装checkpassword,而只要装vpopmail就行了。
4、安裝daemontools
#tarzxvfdaemontools-0.70.tar.gz
#cddaemontools-0.70
#make
#makesetupcheck
执行文件将安装于/usr/local/bin中。
安装本工具后可以用
#mkdir/var/run/qmail
#supervise/var/run/qmail/var/qmail/rc
来启动qmail,还可以用svc来关闭或重启qmail,用svstat监视qmail运行情况。(参见qmailFAQ)
5、安装vpopmail
#groupaddvchkpw
#useradd-gvchkpwvpopmail
#mkdir~vpopmail/etc
#echo":allow"~vpopmail/etc/tcp.smtp
#tarzvfzvpopmail-4.9.6-1.tar.gz
#cdvpopmail-4.9.6-1
#./configure--enable-roaming-users=y--enable-default-domain=mydomain.com--enable-passwd=n
(注:--enable-roaming-users=y表示允许漫游的用户使用该邮件系统)
#make
#makeinstall-strip
#crontab-e(编辑cron文件,如下)
40****/home/vpopmail/bin/clearopensmtp2%26amp;1/dev/null
#cd/home/vpopmail/bin
#./vadddomainmydomain.commydomain
添加mydomain.com到/var/qmail/control/rcpthosts中。
6、停止sendmail服务
#killall-9sendmail(Linux)
接着以qmail的sendmaillibraby取代原有sendmail
#mv/usr/lib/sendmail/usr/lib/sendmail.old
#mv/usr/sbin/sendmail/usr/sbin/sendmail.old
#ln-s/var/qmail/bin/sendmail/usr/lib/sendmail
#ln-s/var/qmail/sbin/sendmail/usr/sbin/sendmail
移除sendmail启动程序,以Linux为例:
移除inetd.conf中的sendmail之设定,以及/etc/rc.d/init.d下的sendmail启动文件。(Linux)
7、启动qmailSMTP,POP3daemon系统服务
1)建立SMTP转信规则
建立/etc/tcp.smtp內容为
:allow
此为接受任何Client端所发出子转送信件
若要拒绝某些IP所发出的Relay则修改/etc/tcp.smtp如下
1.2.3.4:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
如此,除1.2.3.4及127.*之外的所有地址,都将被拒绝转送信件。
2)转换tcp.smtp成为cdb格式
#/usr/local/bin/tcprules/etc/tcp.smtp.cdb/etc/tcp.smtp.tmp%26amp;1
|/var/qmail/bin/sploggersmtpd3%26amp;
其中UID和GID为前述新增qmail系统账号qmaild的UserID,以及nofiles的groupID。
/var/qmail/bin/splogger那一行会将log文件写在/var/log/maillog中。
启动POP3:
编辑启动档加入以下设定:
tcpserver-H-R0pop3
/var/qmail/bin/qmail-popupmail.mydomain.com
/home/vpopmail/bin/vchkpw/var/qmail/bin/qmail-pop3dMaildir%26amp;
在/etc/rc.d/init.d下建立文件qmail,内容如下:
-------------------------------------------
#!/bin/sh
case"$1"in
start)
echo-n"startqmail:"
/var/qmail/rc%26amp;
echo"."
echo-n"startsmtpservice:"
/usr/local/bin/tcpserver-v-x/etc/tcp.smtp.cdb
-uUID-gGID0smtp/var/qmail/bin/qmail-smtpd2%26amp;1
|/var/qmail/bin/sploggersmtpd3%26amp;
echo"."
echo-n"startpop3service:"
tcpserver-H-R0pop3
/var/qmail/bin/qmail-popupmail.mydomain.com
/home/vpopmail/bin/vchkpw/var/qmail/bin/qmail-pop3dMaildir%26amp;
echo"."
;;
stop)
echo-n"stopqmail:"
echo"."
;;
*)
exit1
;;
esac
exit0
-----------------------------------------------------
#cd../rc3.d
#ln-s../init.d/qmailS98qmail
(注:这里的启动文件没有写全)
8、qmailadmin——WEB方式管理qmail
1)ezmlm的安装
$make
$makeman
#makesetup
2)autorespond的安装
gcc-Wall-oautorespondautorespond.c
cpautorespond/usr/local/bin/autorespond
3)qmailAdmin的安装
在安装前首先要考虑满足以下几项要求:
a.是否拥有一个vpopmail用户vchkpw
b.cgi-bin目录的所在位置
c.ezmlm目录的所在位置
d.autorespond目录的所在位置
如果能够达到以上要求,可以继续安装
#./configure
#make
#makeinstall-strip
检测安装是否正确:浏览器中打开路径http://mail.mydomain.com/cgi-bin/qmailadmin,
看根据前面设置的用户和密码是否能够成功登录进去。
9、SqWebmail——一种Webmail解决方案
1)安装SqWebmail
#tarxvfzsqwebmail-1.2.0.tar.gz
#cdsqwebmail-1.2.0
#./configure--without-authpam--without-authuserdb--enable-webpass=no/
--without-authpwd--without-authshadow
#makeconfigure-check
#make(当我make的时候报错找不到db.h,cp/usr/include/db1/db.h/usr/include/db.h)
#makecheck
#makeinstall-strip
#makeinstall-configure
检测安装是否正确:浏览器中打开路径http://mail.mydomain.com/cgi-bin/sqwebmail
2)安装vqsignup
#tarxvfzvqsignup-0.4.tar.gz
#cdvqsignup-4.0
按照INSTALL安装(?)
安装这个软件包可能比较麻烦,需要一些耐心。
a.修改Makefile文件:
FLAGS=-I/home/vpopmail/include
修改-I/home/vpopmail/include指到真实的vpopmail/include目录
修改下面的这行
$(CC)$(FLAGS)-o$(BIN)$(OBJS)-L/home/vpopmail/lib-lvpopmail-lcrypt
修改-L/home/vpopmail/lib为真实的vpopmaillib的目录
b.编译
#make
c.安装
拷贝signup.cgi和signup.conf文件到cgi-bin目录下
切换目录到cgi-bin目录下
#chownvpopmailsignup.cgi
#chgrpvchkpwsignup.cgi
#chmodug+ssignup.cgi
#chmodugo+rsignup.conf
拷贝vqsignup_html目录到cgi-bin目录下,确信对所有用户可读
拷贝vqsignup.html文件到DocumentRoot目录下,确信能够被访问。
编辑cgi-bin目录下的vqsignup.conf文件
修改"add_domain"的所有行,加上你的真实的域,把其他的行删除掉
更改vqsignup_text/*.html文件,使包含"result_*"的行的路径指到正确的全路经。
修改vqsignup_text目录下所有的文件,使它们只包含你想支持的域,你也可以定制这些页面,使它们更加好看些。
修改DocumentRoot目录下vqsignup.html文件,使它只包含你想支持的域,你也可以定制这个页面,使它更加好看些。
d.测试
用你的浏览器访问http://yourwebserver/yoursubdir/vqsignup.htm,试着注册新用户,如果成功的话,
那么就恭喜你了。如果有错误,请返回安装步骤仔细查看文件的权限和vqsignup.html里的值是否正确。
三、參考文献
AdamMcKenna所编写qmail-HOWTO(http://www.flounder.net/qmail/qmail-howto.html)
qmailFQA(內含于qmail1.03SourceCode)
http://www.qmail.org/
http://www.linuxaid.com.cn/solution/上有几篇比较好的安装文档
http://www.linuxforum.net/cgi-bin/perl/wwwthreads.pl上的qmail讨论也不错
,