首页 > 网络应用 > Qmail > 正文  
邮件服务器(二)Qmail服务器
出自:www.computerworld.com.cn 联想电脑公司软件事业部 汤海京 2002年04月06日 18:09
2.1 简介 Qmail是一种可以完全替代Sendmail-binmail体系的新一代Unix邮件系统.Qmail与Sendmail比起来有很多特性,包括: 安全----Qmail将Mail处理过程分为多个过程,尽力避免用root用户运行.同时Qmail禁止对特权用户(root,deamon等)直接发 信. 可靠----Qmail的直接投递保证Email在投递过程中不会丢失.Qmail同时支持新的更可靠的信箱格式Maildir,保证系统在 突然崩溃情况下不至破坏整个信箱. 高效----在运行于奔腾的BSD/OS上,Qmail每天可以轻松的投递200000封信件. 简单----Qmail要比其他的Internet Mail系统小得多.Qmail通过统一的向前机制完成forwarding,alias和maillist等功能,Qmail使用简单高效队列来处理投递.Qmail-smtpd可以由inetd启动,节省了一定资源. Qmail支持: host and user masquerading full host hiding virtual domains null clients list-owner rewriting relay control double-bounce recording arbitrary RFC 822 address lists cross-host mailing list loop detection 2.2 所需资源 2.2.1 所需包 qmail-1.03.tar.gz Qmail基本系统包 ucspi-tcp-0.88.tar.gz tcpserver等服务程序 daemontools-0.70.tar.gz 监视工具 checkpassword-0.90.tar.gz pop3验证用户程序 vpopmail-4.9.8.tar.gz 虚拟域用户pop3支持 vqsignup-0.4 web方式用户注册 sqwebmail-1.2.4.tar.gz webmail qmailadmin-0.42.tar.gz 虚拟域web方式管理 ezmlm-0.53.tar.gz 邮件列表管理 autorespond-1.0.0.tar.gz 自动回复程序 2.2.2 下载网址 http://www.qmail.org http://www.inter7.com/qmail 2.3 安装过程 2.3.1 安装Qmail基本包 (1)添加Qmail所必须的用户和组 mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias alias useradd -g nofiles -d /var/qmail qmaild useradd -g nofiles -d /var/qmail qmaill useradd -g nofiles -d /var/qmail qmailp groupadd qmail useradd -g nofiles -d /var/qmail qmailq useradd -g nofiles -d /var/qmail qmailr useradd -g nofiles -d /var/qmail qmails (2)安装Qmail包 cd /usr/local/src tar xvzf qmail-1.03.tar.gz cd qmail-1.03 make setup check ./config-fast $HOSTNAME # 设定Qmail服务器主机名 cd ~alias;touch .qmail-postmaster .qmail-mailer-\ daemon .qmail-root sed 's/Mailbox/Maildir\//' /var/qmail/boot/home >\ /var/qmail/rc chmod 755 /var/qmail/rc 2.2.2 安装tcpserver等服务程序 cd /usr/local/src tar xvzf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check 2.3.3 安装pop3验证用户程序 cd /usr/local/src tar xvzf checkpasswd-0.90.tar.gz cd checkpasswd-0.90 make make setup check chmod og-rx /bin/checkpassword 2.3.4 安装虚拟域用户pop3支持 groupadd vchkpw useradd -g vchkpw vpopmail mkdir ~vpopmail/etc echo "127.0.0.:allow,RELAYCLIENT=\"\"" > ~vpopmail/etc/tcp.smtp echo "192.168.0.:allow,RELAYCLIENT=\"\"" >> ~vpopmail/etc/tcp.smtp echo ":allow" > /etc/tcp.smtp /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp cd /usr/local/src tar xvzf vpopmail-4.9.8.tar.gz cd vpopmail-4.9.8 make clean ./configure --enable-hardquota=10485760 --enable-deliver-filter=y make make install-strip cd /home/vpopmail/bin ./vadddomain weboa.com.cn weboa ./vadduser thj@weboa.com.cn thj 2.3.5 更改Sendmail为Qmail killall -TERM sendmail mv /usr/lib/sendmail /usr/lib/sendmail.org mv /usr/sbin/sendmail /usr/sbin/sendmail.org mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.org ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail cp /root/qmail/qmail-start /etc/rc.d/init.d/ -f cp /root/qmail/databytes /var/qmail/control/ -f ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S98qmail 2.3.6 制作Qmail控制脚本 #!/bin/sh case "$1" in start) echo "start qmail:" /var/qmail/rc & echo "start smtp service:" /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger \ smtpd 3 & echo "start pop3 service:" /usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/ \ qmail-popup $HOSTNAME /home/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d Maildir & \ ;; stop) echo "stop qmail:" killall -9 tcpserver killall -9 qmail-lspawn ;; *) exit 1 ;; esac exit 0 2.3.7 安装监视工具 cd /usr/local/src tar zxvf daemontools-0.70.tar.gz cd daemontools-0.70    make    make setup check #执行文件将安装于/usr/local/bin中。 #安装本工具后可以用 # mkdir /var/run/qmail # supervise /var/run/qmail /var/qmail/rc 来启动qmail,还可以用svc来关闭或重启qmail,用svstat监视 qmail运行情况 2.3.8 Qmail之Web解决方案 (1) 安装邮件列表管理 cd /usr/local/src tar zxvf ezmlm-0.53.tar.gz make make man make setup (2) 安装自动回复程序 cd /usr/local/src tar zxvf daemontools-0.70.tar.gz gcc -Wall -o autorespond autorespond.c cp autorespond /usr/local/bin/autorespond (3) 安装虚拟域web方式管理 cd /usr/local/src tar zxvf qmailadmin-0.42.tar.gz cd qmailadmin-0.42.tar.gz 在安装前首先要考虑满足以下几项要求: a.是否拥有一个vpopmail用户vchkpw b.cgi-bin目录的所在位置 c.ezmlm目录的所在位置 d.autorespond目录的所在位置 如果能够达到以上要求,可以继续安装 ./configure make make install-strip 检测安装是否正确:浏览器中打开路径 http://mail.weboa.com.cn/cgi-bin/qmailadmin, 看根据前面设置的用户和密码是否能够成功登录进去。 (4) 安装WebMail包 cd /usr/local/src tar zxvf sqwebmail-1.2.4.tar.gz cd sqwebmail-1.2.4.tar.gz ./configure --without-authpam --without-authuserdb \ enable-webpass=no --without-authpwd \ --without-authshadow make configure-check make #当make时报错找不到db.h 可以 cp /usr/include/db1/db.h /usr/include/db.h make check make install-strip make install-configure 检测安装是否正确:浏览器中打开路径 http://mail.weboa.com.cn/cgi-bin/sqwebmail (5) 安装vqsignup tar xvfz vqsignup-0.4.tar.gz cd vqsignup-4.0 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 为真的vpopmail lib的目录 b. 编译 make c. 安装 拷贝signup.cgi和signup.conf文件到cgi-bin目录下 切换目录到cgi-bin目录下 chown vpopmail signup.cgi chgrp vchkpw signup.cgi chmod ug+s signup.cgi chmod ugo+r signup.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://your web server/your sub dir/vqsignup.htm, 试着注册新用户,如果成功的话, 那么就恭喜你了。如果有错误,请返回安装步骤仔细查看文件的权限和vqsignup.html里的值是否正确。 2.4 其他参考资料 Adam McKenna所编写qmail-HOWTO http://www.flounder.net/qmail/qmail-howto.html qmail FQA (內含于qmail 1.03 Source Code) http://www.qmail.org/ http://www.linuxaid.com.cn/solution/上有几篇比较好的安装文档 http://www.linuxforum.net/cgi-bin/perl/wwwthreads.pl上的qmail讨 论也不错 2.5小结 Qmail配置工作虽然较Sendmail来说已经大大简化,但要想真正建立一个功能强大、运行稳定的邮件服务器,掌握其灵活的配置,认真阅读其How-to和FAQ还是极有必要的。关于Dot-forward、邮件列表等其他非常有用的方法和使用技巧,限于篇幅就不再介绍了,建议大家参考软件包中的有关文档。

】【http://www.trainlinux.com】【Close
『相关资料』
Home 

诚恩Linux培训工作室