一、安装环境
安装平台: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中。
此时该域的postmaster的密码为mydomain,可以使用下面的命令
./vadddomain mydomain.com
执行后会提示输入postmaster的密码
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,改为以下设定:
# 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:"
&bp;/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-auth-authpthpwd --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
 pbsp; 拷贝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/
laixi781211 回复于:2003-02-10 10:47:04 |
#./vadddomain mydomain.com mydomain
这句应去掉mydomain即./vadddomain mydomain.com这时候提示输入postmaster的密码,可以输入自己的密码。 是这样的: 初学者一开始安装不知道,最后登陆的时候不知道密码是什么,如果照你那样应该是mydomain? 另外如果密码正确还是登陆不进去,在看一下是不是启动了authdaemond /usr/local/share/sqwebmail/libexex/auth/lib/authdaemond start 因为我按照这篇文章装过,就遇到过这些问题。 |
netloafer 回复于:2003-02-10 11:06:33 |
是的,应该说明~~ |
day-dreamer 回复于:2003-02-11 11:23:30 |
我做第二步时就出现:
[root@sosoyang qmail-1.03]# ./config Your hostname is sosoyang. hard error Sorry, I&nb;oln''''t find your&s;ot''''s canonical name in DNS. You will have to set up control/me yourself. 这样的情况,我譔 怎样设置我的dns呀.请各位教教我呀, 谢谢 |
day-dreamer 回复于:2003-02-11 11:28:47 |
在哪 里设dns呀.如何设呀..请教教我呀,谢谢 |
netloafer 回复于:2003-02-11 11:59:01 |
/etc/resolv.conf修改这里就可以了,
增加nameserver *.*.*.* |
day-dreamer 回复于:2003-02-11 12:07:36 |
nameserver 210.62.128.1
nameserver 192.168.16.2 resolv.confi里,我内部外部都加了呀..但依然是这样呀.. 老大,救我呀.. |
laixi781211 回复于:2003-02-12 20:27:16 |
你的DNS SERVER正常吗?能解析你的主机? |
day-dreamer 回复于:2003-02-13 08:38:05 |
正常的呀..我這一步總算可以了.但為什麼裝到vpopmail的最后一步crontab -e里出現/tmp/crontab.6741 這些就無反應了啦呢..到底怎麼辦呀.請教一下我.謝謝 |
laixi781211 回复于:2003-02-13 11:11:32 |
正常
你按一下insert键,输入内容,完毕后保存. |
windowsnt 回复于:2003-02-20 11:30:06 |
为什么我不能收邮件呢?自己发给自己的也收不到 |
gadfly 回复于:2003-02-20 11:49:42 |
qmail启动了么?
另外看看/var/log/mail.log报什么错误 |
9命怪猫 回复于:2003-04-04 20:57:07 |
[quote:442d8020d6="windowsnt"]为什么我不能收邮件呢?自己发给自己的也收不到[/quote:442d8020d6]
我也遇到这个问题。正在郁闷呢~ |
gadfly 回复于:2003-04-04 21:03:41 |
最好有现象, 才好判断错误类型 |
9命怪猫 回复于:2003-04-04 21:35:14 |
[quote:d4cc0579b1="gadfly"]最好有现象, 才好判断错误类型[/quote:d4cc0579b1]
特别怪异。从自己的计算机telnet 192.168.3.15 25 或者telnet 192.168.3.15 110都可以连接上。 qmailadmin也显示正常。可以添加用户。自己给自己发信,收不到。 发信可以发出去。但是没有写/var/log/maillog nslookup查询dns记录,NS MX记录都有。 |
ability 回复于:2003-04-11 02:14:38 |
我在安装vpopmail-5.2.1时出错.
./configure --enable-roaming-users=y --enable-default-domain=root.com --enable-passwd=n 执行没钱,运行make 就报如下错误: make all-recursive make[1]: Entering directory `/root/qmail/vpopml521'''' Making all in cdb make[2]: Entering directory `/root/qmail/vpopmail-21cb'''' make[2]: Nothing to be done for&s;al''''. make[2]: Leaving directory `/root/qmail/vpopmail-21cb'''' make[2]: Entering directory `/root/qmail/vpopml521'''' gcc -I. -Icdb -g -O2 -Wall -c vpopmail.c vpopmail.c:26:20: string.h: No such file or directory make[2]: *** [vpopmail.o] Error 1 make[2]: Leaving directory `/root/qmail/vpopml521'''' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/qmail/vpopml521'''' make: *** [all-recursive-am] Error 2 string.h哪里有? |
ilovewalk 回复于:2003-04-15 21:01:42 |
[quote:05a52cf12c="day-dreamer"]oyang qmail-1.03]# ./config
Your hostname is sosoyang. hard error Sorry, I&nb;oln''''t find your&s;ot''''s canonical name in DNS. You will have to set up control/me yourself. 这样的情况,我譔 怎样设置我..........[/quote:05a52cf12c] 你是怎么解决的啊,我也遇到了这个问题,用nslookup看了,也有记录,ping也可以ping通,但就是报错!!! |
ilovewalk 回复于:2003-04-15 21:04:08 |
netloafer老大,能不能具体说一下
建立maildir的方法: $/var/qmail/bin/maildirmake /etc/skel/Maildir $echo ./Maildir/ > ~/.qmail 这一步怎么做啊,我是菜鸟列,呵呵. |
高达W 回复于:2003-04-26 11:32:01 |
[quote:308973b198="day-dreamer"]正常的呀..我這一步總算可以了.但為什麼裝到vpopmail的最后一步crontab -e里出現/tmp/crontab.6741 這些就無反應了啦呢..到底怎麼辦呀.請教一下我.謝謝[/quote:308973b198]
我怎么过不去啊,你怎么处理的? |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/
领测软件测试网最新更新
关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073