转自linuxsir---我一个朋友写的!
在Linux下安装邮件服务器-Qmail-2.4-许靖
--------------------------------------------------------------------------------
在Linux下安装邮件服务器
(RHAS3+Qmail+Apache+PHP+smtp-auth+Vpopmail+MySQL+Igenus+ezmlm+autorespond+qmailadmin)
许靖
mail:xuki_007@163.net
QQ:19852439
MSN:seawolf_o@hotmail.com
web: www.xuki.org(网站制作中)
版本:2.4
最后更新日期: 2004年11月4日
功能列表
SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持
POP3服务器:CRAM-MD5,APOP,和SSL支持
IMAP服务器:TLS(SSL)支持
病毒和垃圾邮件检测
自动回复
邮件列表
Web管理
通过Web显示统计信息
WebMail
MRTG
--------------------------------------------------------------------------------
安装准备
安装环境
这个安装过程基本上你只需要复制粘贴就可以完成.我在RedHat上安装成功,其他系统还没试过.
为了方便安装我在安装Redhat3.0时选了apache、php、mysql,注意mysql-devel和mysql-server开发包一定要装上.另外大家在安装LINUX时一定要装上软件开发和内核开发两个软件组,这样可以避免不必要的由于编译环境的问题而导致的安装问题,这点对于LINUX新手犹为重要。安装系统后,一般另需安装php-mysql这个包,在安装光碟第三张。AS3.0安装后,并没有mysql-server软件包,需自行下载安装,为方便大家,mysql-server软件包我已经与所有软件放在一个包中。
要确认下面的软件是否已经安装:
rpm -q httpd
rpm -q php
rpm -q php-mysql
rpm -q mysql
rpm -q mysql-server
rpm -q mysql-devel
rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
rpm -q krb5-devel
如果你还没有安装, 请先安装它们. 你可以到安装光盘或是在这里找到它们的RPM包
http://www.rpmfind.net.
启动mysql server:
# /etc/rc.d/init.d/mysqld start
设置mysql root口令:
# mysqladmin -u root password ‘xukixu’(设置你的密码)
mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。
安装完Redhat3.0后,修改/etc/httpd/conf/httpd.conf,使web服务正常启用,为mysql添加root用户的密码。如果设置了防火墙,要打开服务器的www 80、smtp 25和pop3 110三个端口。
检查DNS设置
在开始之前,确保正确设置了DNS MX记录.例如使用"domain.com"作为邮件域,对MX记录进行测试:
在Linux下:
# host -t mx domain.com
domain.com. mail is handled by 10 mail.domain.com.
# host -t a mail.domain.com
mail.domain.com. has address xxx.xxx.xxx.xxx
在Windows下:
C:\>nslookup
Default Server: ns.domain.com
Address: xxx.xxx.xxx.xxx
>set type=mx
>domain.com
domain.com MX preference = 10, mail exchanger = mail.domain.com
mail.domain.com internet address = xxx.xxx.xxx.xxx
>exit
卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
ntsysv
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
rpm -e --nodeps postfix
下载软件
文中所用的软件:
netqmail-1.05.tar.gz
daemontools-0.76.tar.gz
daemontools-0.76.errno.patch
autorespond-2.0.5.tar.gz
toaster-scripts-0.6.tar.gz
qmail-toaster-0.6-1.patch.bz2
ezmlm-0.53.tar.gz
ezmlm-idx-0.42.tar.gz
courier-imap-2.2.2.20040207.tar.bz2
igenus_2.0.2_20040901_release.tgz
mysql-server-3.23.58-1.i386.rpm
qmailadmin-1.2.3.tar.gz
chkuser-0.6.mysql.patch
ucspi-tcp-0.88.a_record.patch
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.nobase.patch
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.7.tar.gz
qmailadmin-1.2.3.tar.gz
vqadmin-2.3.6.tar.gz
Mail-SpamAssassin-3.0.1.tar.gz
clamav-0.80.tar.gz
qmail-scanner-1.22.tgz
qms-analog-0.3.4.tar.gz
maildrop-1.7.0.tar.bz2
tnef-1.2.3.1.tar.gz
qmailanalog-0.70.tar.gz
qmailanalog-0.70.errno.patch
qlogtools-3.1.tar.gz
qlogtools_errno.patch
zlib-1.1.4.tar.gz
libpng-1.2.7.tar.gz
gd-1.8.3.tar.gz
mrtg-2.10.15.tar.gz
qmailmrtg7-4.0.tar.gz
igenus_admin_0.1.tgz
isoqlog-2.1.1.tar.gz
我把下文中所提到的软件打成了一个包,下载地址为:
http://www.xuki.org/qmail_2.0.tar.g...莞鋈讼肮甙伞?/a>
tar -xzf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
注意:./collate.sh这一步不要忘
--------------------------------------------------------------------------------
安装软件
daemontools
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.
安装:
cd /home/pkg
tar -zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# 验证daemontools已经正常运行:
sleep 5
ps ax | grep svscan
--------------------------------------------------------------------------------
ucspi-tcp
ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序.
安装:
cd /home/pkg
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < ../ucspi-tcp-0.88.a_record.patch
patch -p1 < ../ucspi-tcp-0.88.errno.patch
patch -p1 < ../ucspi-tcp-0.88.nobase.patch
make
make setup check
qmail
这个toaster补丁,是下面这几个补丁的组合:
smtp auth 0.4.2
qmail-queue (to allow for virus scanners)
maildir++ patch
support oversize dns packets (not necessary if you use dnscache)
mfcheck (check that the envelope sender has a dns entry)
tarpit delay
qregex (regular expression matching in badmailfrom and badmailto)
big concurrency (set the spawn limit above 255)
安装:
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 qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
# 在这里把vpopmail用户也加上
groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail
cd /home/pkg
tar -xzf toaster-scripts-0.6.tar.gz
cd netqmail-1.05/
bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0
cd netqmail-1.05
# 注:在RedHat上,需要为TLS补丁唇右桓鰅nclude文件:
ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h \
/usr/kerberos/include/profile.h /usr/include/
make
make setup check
# 用你自己的主机名代替下面的mail.domain.com
./config-fast mail.domain.com
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 /var/qmail/alias/.qmail*
cd -
echo 1 > /var/qmail/control/mfcheck
echo ./Maildir/ >/var/qmail/control/defaultdelivery
make cert
# 按提示输入公司信息
make tmprsadh
# 注:这里可能要多等一会
# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1
为qmail服务建立监控目录和日志文件:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
chmod +t /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3ds/log
cp /home/pkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run
cp /home/pkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/pkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/pkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/pkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/pkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/pkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/pkg/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown -R qmaill /var/log/qmail
启动脚本:
cp /home/pkg/toaster-scripts-0.6/rc /var/qmail/
cp /home/pkg/toaster-scripts-0.6/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/rc
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# 用daemontools来启动qmail-send和qmail-smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
命令:
# 启动,停止,重启,查看队列等
qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help
# 检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
日志:
/var/log/maillog
/var/log/qmail/current
/var/log/qmail/pop3d/current
/var/log/qmail/pop3ds/current
/var/log/qmail/smtpd/current
我建议重新回顾一下刚才我们所做的步骤以熟悉对qmail的安装. 下面我们将开始vpopmail的安装.