|  | 
 
| qmail+vpopmail+sqwebmail的安装步骤 http://www.linuxforum.net 作者 greatdeer (2001-04-21 17:08:56) 
 
 一、安装环境
 安装平台:RedHat Linux
 安装的机器: mail.mydomain.com
 软件包:
 qmail-1.03             qmail基本系统
 ucspi-tcp-0.88         tcpsever等服务程序
 daemontools-0.70       监视工具
 checkpassword-0.81     pop3验证用户的程序
 ezmlm-0.53             邮件列表管理
 vpopmail-4.9.6-1       虚拟域用户pop3支持
 qmailadmin-0.35        虚拟域web管理
 autorespond-1.0.0      自动回复程序
 sqwebmail-1.2.0        webmail
 vqsignup-0.4           web方式用户注册
 软件来源:
 http://www.qmail.org
 http://www.inter7.com/qmail
 注意:每个包安装前务必先仔细阅读INSTALL和FAQ,很多问题在FAQ都有解决方法。
 
 二、安装步骤
 1、安装qmail
 1)创建qmail安装目录
 #mkdir /var/qmail
 2)添加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 qmail -d /var/qmail qmailq
 #useradd -g qmail -d /var/qmail qmailr
 #useradd -g qmail -d /var/qmail qmails
 3)解压、解包和编译
 (假设这些包都下载到/var/tmp目录下)
 #cd /var/tmp
 #tar xzvf qmail-1.03.tar.gz
 #cd qmail-1.03
 进入qmail目录后,仔细阅读一下README和INSTALL文件.然后开始编译qmail
 #make setup check
 4)配置
 #./config
 5)建立系统别名
 #(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
 #chmod 644 ~alias/.qmail*
 可以在这些别名文件中指定管理用户来接受这些系统邮件,如
 #echo 'admin' > ~alias/.qmail*
 6)建立启动文件和用户的maildir
 #cp /var/qmail/boot/home  /var/qmail/rc
 #chmod 755 /var/qmail/rc
 编辑 /var/qmail/rc
 修改其中./Mailbox成为./Maildir以支持maildir的pop收信方式,如下:
 # !/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
 其中splogger qmail指令是用来将日志文件记录在/中。
 建立maildir的方法:
 $/var/qmail/bin/maildirmake  /etc/skel/Maildir
 $echo ./Maildir/ > ~/.qmail
 注意Maildir必须为该使用者所有,可以chown变更,并以chmod 700 Maildir设定权限。
 
 2、安装ucspi-tcp-0.88
 #tar zxvf ucspi-tcp-0.88.tar.gz
 #cd ucspi-tcp-0.88
 #make
 #make setup check
 执行文件将被安装在/usr/local/bin中。
 
 3、安装checkpassword
 #tar zxvf checkpassword-0.81.tar.gz
 #cd checkpassword-0.81
 #make
 #make setup check
 #chmod og-rx  /bin/checkpassword
 执行文件checkpassword将被安装在/bin中。
 如果不对/etc/passwd中的用户开放mail,则不需要装checkpassword,而只要装vpopmail就行了。
 
 4、安裝daemontools
 #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运行情况。(参见qmail FAQ)
 
 5、安装vpopmail
 #groupadd vchkpw
 #useradd -g vchkpw vpopmail
 #mkdir ~vpopmail/etc
 #echo ":allow" > ~vpopmail/etc/tcp.smtp
 #tar zvfz vpopmail-4.9.6-1.tar.gz
 #cd vpopmail-4.9.6-1
 #./configure --enable-roaming-users=y --enable-default-domain=mydomain.com --enable-passwd=n
 (注:--enable-roaming-users=y表示允许漫游的用户使用该邮件系统)
 #make
 #make install-strip
 #crontab -e(编辑cron文件,如下)
 40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
 #cd /home/vpopmail/bin
 #./vadddomain mydomain.com mydomain
 添加mydomain.com到/var/qmail/control/rcpthosts中。
 
 6、停止sendmail 服务
 #killall -9 sendmail (Linux)
 接着以qmail的sendmail libraby取代原有 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、启动qmail SMTP ,POP3 daemon系统服务
 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  <  /etc/tcp.smtp
 注意:若对tcp.smtp有任何变更,都必須经过tcprules转换成为cdb文件才会生效。
 另外,tcp.smtp 若为空白,则表示拒绝所有的转送,因为预设的规则为deny。
 至此,转送规则已建立,稍后将依此规则启动qmail-smtpd。
 3)设定SMTP及POP3 daemon的启动
 移除inetd.conf中有关smtp及pop3的设定(加上#号)
 编辑/etc/services,改为以下设定:
 smtp              25/tcp       mail
 # pop-3          110/tcp     #pop version 3
 # pop-3          110/udp
 pop3              110/tcp
 pop3              110/udp
 启动 SMTP:
 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb \
 -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \
 | /var/qmail/bin/splogger smtpd 3 &
 其中UID和GID为前述新增 qmail系统账号qmaild的User ID,以及nofiles的group ID。
 /var/qmail/bin/splogger那一行会将log文件写在/var/log/maillog中。
 启动 POP3:
 编辑启动档加入以下设定:
 tcpserver -H -R 0 pop3 \
 /var/qmail/bin/qmail-popup mail.mydomain.com \
 /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
 在/etc/rc.d/init.d下建立文件qmail,内容如下:
 -------------------------------------------
 #! /bin/sh
 
 case "$1" in
 start)
 echo -n "start qmail:"
 
 /var/qmail/rc &
 echo "."
 
 echo -n "start smtp service:"
 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb \
 -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \
 | /var/qmail/bin/splogger smtpd 3 &
 echo "."
 
 echo -n "start pop3 service:"
 tcpserver -H -R 0 pop3 \
 /var/qmail/bin/qmail-popup mail.mydomain.com \
 /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
 echo "."
 ;;
 stop)
 echo -n "stop qmail:"
 echo "."
 ;;
 *)
 exit 1
 ;;
 esac
 
 exit 0
 
 -----------------------------------------------------
 #cd ../rc3.d
 #ln -s ../init.d/qmail S98qmail
 (注:这里的启动文件没有写全)
 
 8、qmailadmin——WEB方式管理qmail
 1)ezmlm的安装
 $make
 $make man
 #make setup
 2)autorespond的安装
 gcc -Wall -o autorespond autorespond.c
 cp autorespond /usr/local/bin/autorespond
 3)qmailAdmin的安装
 在安装前首先要考虑满足以下几项要求:
 a.是否拥有一个vpopmail用户vchkpw
 b.cgi-bin目录的所在位置
 c.ezmlm目录的所在位置
 d.autorespond目录的所在位置
 如果能够达到以上要求,可以继续安装
 #./configure
 #make
 #make install-strip
 检测安装是否正确:浏览器中打开路径http://mail.mydomain.com/cgi-bin/qmailadmin,
 看根据前面设置的用户和密码是否能够成功登录进去。
 
 
 9、SqWebmail——一种Webmail解决方案
 1)安装SqWebmail
 #tar xvfz sqwebmail-1.2.0.tar.gz
 #cd sqwebmail-1.2.0
 #./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.mydomain.com/cgi-bin/sqwebmail
 2)安装vqsignup
 #tar xvfz vqsignup-0.4.tar.gz
 #cd vqsignup-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 为真实的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里的值是否正确。
 
 三、參考文献
 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讨论也不错
 | 
 |