免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2184 | 回复: 0
打印 上一主题 下一主题

qmail服务器的安装(转) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-09 10:11 |只看该作者 |倒序浏览
本文档全面介绍如何使用qmail在Linux上建造一个高性能的邮件服务器,如何用Vpopmail实现虚拟的邮件域,如何使用qmailadmin 通过Web页面方便的管理用户,如何添加大容量的邮件列表支持,如何实现病毒邮件清除,如何实现中文垃圾邮件过滤,以及如何实现用户的Web登陆。
我将在linux下安装qmail分成若干步骤,您只要按照顺序完成这些步骤,则可安装一台基于Linux的qmail邮件服务器;此套安装方法已经在RedHat AS4和Cent OS4下测试通过;希望有时间又有兴趣的朋友能够加入其中,一起完善它,做一套最完善的中文qmail安装指南,以帮助更多的正在学习qmail的朋友少走些弯路。
 
此文所实现的邮件系统功能列表:
· SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持
· POP3服务器:CRAM-MD5,APOP,和SSL支持
· IMAP服务器:TLS(SSL)支持
· 邮件病毒清除
· 邮件附件限制
· 中文垃圾邮件过滤(最高90%)
· 自动回复
· 邮件列表
· Web管理
· 用户注册
· 通过Web显示统计信息
· WebMail
· MRTG
安装前准备:
第一节:安装引言
1.1 介绍
1.2 什么是qmail?为什么选择qmail?
1.3 何处可得到最新版本
1.4 本指南发展历史
1.5 参考文章
1.6 免责声明
1.7 致谢
第二节:安装qmail前软件和环境确认
2.1 磁盘空间确认
2.2 检查DNS设置
2.3 确认系统环境
2.4 设置防火墙
2.5 设置MySQL
2.6 卸载已有的邮件系统
 
安装邮件系统:
第三节:下载所需要的软件包
第四节:安装qmail
第五节:安装vpopmail
第六节:安装iGenus(可选)
第七节:安装iGenus_Admin(可选)
第八节:安装courier-imap
第九节:安装SquirrelMail(可选)
第十节:安装SqwebMail(可选)
第十一节:安装Wmail(可选)
第十二节:安装Autorespond&Ezmlm
第十三节:安装qmailadmin
第 十四节:安装Vqregister(可选)
第十五节:安装vQadmin
第十六节:安装SpamAssassin
第十七节:安装Clamav
第十八节:安装MailDrop 和TNEF reader
第 十九节:安装qmail-scanner&qms-analog
第二十节:安装qmailAnalog & qlogtools
第二十一节:安装isoqlog
第二十二节:安装MRTG
 
测试及维护:
第二十三节:测试
第二十四节:系统维护
第二十五节:FAQ(网上收集)

您对本贴的看法:鲜花[0] 臭蛋[0]
__________________________________
纸黄金论坛

积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?

sql2000      
大天使

UID:4974
注册:2002-3-8
最后登录: 2008-10-04
帖子:2289
精华:3
可用积分:1836 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:北京
状态:...离线...
[个人空间] [短信] [博客]
[推广获积分]  2楼 发表于 2005-6-7 10:39   
【转贴】Linux qmail安装指南_2.9_Xuki(相当不错)
第一节:安装引言 TOP
 
1.1 介绍
本指南的目的是帮助你从头开始建立一个大容量(1000用户以上)、易管理、易扩充、分布式、用户界面友好的邮件系统。如果仅仅是为了支持内部网络的很少用户,你可以选择sendmail,甚至是基于NT平台的任何共享的邮件服务器软件,它们更加易与操作和设定。作为一种尝试,当然你也可以选择本系统,但是你必须对Linux系统有相当的了解,至少是可以独立的配置一台Linux网络服务器。
本文档并不是简单的把相关软件的安装文档及FAQ汉化,相反的,本文档几乎不包括任何相关软件的安装文档及FAQ,我认为作为一个qmail的使用者,他应该做到以下几点:
· 熟悉了所有Dan Bernstein(qmail的作者)发布的文档;
· 熟悉www.qmail.org(qmail官方站点)的相关资源;
· 尽量理解Life With qmail;
· 耐心阅读所有相关软件的安装文档及FAQ!
qmail是一个非常复杂的系统,尽管它本身非常简洁。如果你对它的复杂性不够了解,你可以对照一下Sendmail, qmail就是设计用来取代Sendmail的。尽管qmail的配置要比Sendmail简单的多,而且通过第三方编程人员的不断努力,附加的add-on使得qmail更加易于配置和管理,但是它确实是一个非常复杂的系统。它需要你具有丰富的*NIX平台的管理经验,一旦你能正确的理解qmail,你就会发现,qmail确实是一个空前优秀的邮件系统。
本文档想起到一个“粘合剂”的作用,希望能够帮助qmail用户迅速实现一个以qmail为核心的大型邮件系统,并希望能够针对各组件的协调工作问题给出一个可行的解决方案。
本文档及其所有的附加脚本都已经经过了作者本人N(N>;20)遍的测试,如果在你的系统上不能工作或出现异常错误,你可以参见第二节:安装qmail前软件和环境确认,对于其他的 *NIX 系统,我相信本文档的基本概念是正确的。
 
1.2 什么是qmail?为什么选择qmail?
qmail是可以完全替代Sendmail-binmail体系的新一代UNIX邮件系统,它也是一个基于UNIX操作系统的Internet邮件传输机构( Internet Mail Transfer Agent 简称MTA)。它采用标准的简单邮件传输协议(Simple Mail Transfer Protocol 简称SMTP)与Internet上其他MTA交换信息。为了解决用户邮件存储问题,qmail提出了Maildir存储方式,每个邮件作为单独的一个文件保存在用户个人的邮件目录下,这就避免了加锁。同时,qmail支持虚拟域(Virtual Domain)和虚拟用户(Virtual User),使邮件系统的用户独立于UNIX系统用户。与Sendmail相比,qmail有以下优点:
  *安全---- qmail将E-mail处理过程分为多个分过程,尽量避免以Root用户身份运行。同时qmail也禁止对特权用户(Root、Deamon等)直接发信。
  *可靠---- qmail的直接投递保证了E-mail在投递过程中不会丢失。qmail同时支持新的更可靠的信箱格式——Maildir,保证系统在突然崩溃情况下不至破坏整个信箱。
  * 高效----运行在奔腾的BSD上,qmail每天可以轻松地投递20万封电子邮件。
  *简单---- qmail 要比其他的Internet Mail系统小得多。 它通过统一的向前机制完成Forwarding、Alias和Maillist等功能, qmail使用简单高效队列来处理投递。qmail-SMTPD可以由Inetd启动,节省了一定资源。
 
1.3 何处可得到本指南最新版本?
本文档最新版本从http://www.xuki.org/可以得到。
 
1.4 本指南的发展历史?
2.9-2005年4月8日
系统升级成RHEL 4/CentOS4,使用2.6的内核 
补丁和脚本集升级成最新的toaster-scripts-0.7&qmail-toaster-0.7.2
Clamav升级至0.83
qmail-scanner升级至1.25
spamassassin升级至3.0.2,增加及集成中文垃圾邮件过滤和中国反垃圾邮件联盟实时黑名单服务
vpopmail升级至vpopmail-5.4.10
 
2.8-2004年11月22日,之前没有规范的记录



1.0-2004年10月份,记不太清楚了
 
1.5 参考文章
Bill's Linux qmail Toaster
Life with qmail
The qmailrocks.org qmail Installation guide
 
1.6 免责声明
1. 此篇文章仅做参考,如果因为此文所引致的一切后果请自行负责;
2. 本人没有义务对此文做技术支持,各位如果有疑问请到我的论坛交流。
 
1.7 致谢
作者感谢所有对此文档及其相关内容提出疑问及报告错误的网友,是他们促进了本文档的完善,使本文档具有更好的可用性。
 
第二节:安装qmail前软件和环境确认 TOP
 
在成功安装qmail邮件系统之前,请务必确认安装中所需要的软件包和相关设置。此节给出一些确认清单,以方便各位朋友在安装之前进行相关设置的确认。当然不同的系统和服务器设置方法不一样,你可能发现有些确认动作没有列出来;如果各位有需要补充的,请联络我改正。
2.1 磁盘空间确认
下面是通常安装一套系统所需要的空间,根据需求不同空间要求也不一样。
最保守的磁盘空间必须有80-90MB;这些空间包括下载软件包和解开软件包所需要的磁盘空间。 在安装完成之后,删除下载的软件安装包,邮件服务运行所需要的安全空间15MB 就够了。
如果你的系统有多个分区:
/ 70MB.
/var 10MB
/home 起动邮件系统3MB够了,但因为邮件均存放在/home/vpopmail下,要根据实际情况调整
当然像现在硬盘价格这么低的状况下,我想硬盘空间不是什么问题的。
2.2 检查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
如果你的邮件服务器是用做公司内部邮件服务,不对外提供服务,此处可略过。
2.3 确认系统环境
确认下面的软件是否已经安装:
rpm -q httpd php php-mysql mysql mysql-server mysql-devel gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel
如果你还没有安装, 请先安装它们. 你可以到安装光盘或是在这里找到它们的RPM包http://www.rpmfind.net.
我的操作系统选择和安装包选择:
操作系统:RedHat EL4/CentOS 4
系统软件安装包选择:
Desktops

Applications

Servers
Web Server:加选php-mysql
Mail Server:加选spamassassin,其它清除
FTP Server:Vsftpd
MySQL Database:加选mysql-bench/mysql-server/php-mysql
Development
Development Tools
SELinux: 像一些setuid程序,比如qmailAdmin, 将不能与SELinux同时工作,你必须在安装系统的时候关掉SELinux; 如果你已经安装好了操作系统并开启SELinux,并希望知道如何关掉它,请参考:
http://www.redhat.com/docs/manuals/...ction-0068.html
如果要通过yum升级CentOS4系统,则需要导入CentOS4.0:RHEL4的dag
rpm --import http://ftp.riken.jp/Linux/dag/packa...GPG-KEY.dag.txt
2.4 设置防火墙
安装完系统后,修改/etc/httpd/conf/httpd.conf,使web服务正常启用,为mysql添加root用户的密码。如果设置了防火墙,要打开如下端口:
Outbound ports (tcp)
25 - SMTP
110 - POP
143 - IMAP
783 - Spamassassin
993 - IMAPS
Inbound Ports (tcp)
22-SSH
25 - SMTP
80 - HTTP
110 - POP services
143 - IMAP
443 - HTTPS
783 - Spamassassin
993 - IMAPS
2.5 设置MySQL
启动mysql server:
/etc/rc.d/init.d/mysqld start
设置mysql root口令:
mysqladmin -u root password xukixu (设置你的密码)
mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。
2.6 卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
service sendmail stop
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
第三节:下载所需要的软件包 TOP
 
些篇文档所使用的软件清册如下:
qmail – 本文的主角,世界上使用最广的邮件系统之一。此处使用的是netqmail-1.05的补丁集和shupp.org的Toaster 7.0运行脚本
ucspi-tcp - ucspi-tcp软件包由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序
daemontools - 是inetd和winetd的代替品,用它来监听qmail-send,qmail-smtpd,qmail-pop3d
Vpopmail - 一个以qmail为基础的虚拟域管理包,其允许在一个IP地址添加多个虚拟域
iGenus - 大麻兄的作品,PHP编写的Webmail
iGenus_Admin -通过WEB添加域和帐号
Courier-imap -此邮件系统的IMAP模块
ezmlm – 一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
autorespond – 自动回复程序,可以很好的与qmailadmin配合使用
qmailadmin – 通过WEB管理vpopmail域的极好工具
vqadmin – 通过WEB添加域
SpamAssassin – 垃圾邮件防止,中文垃圾邮件清理就靠它了
Clamav - 一个免费的杀毒软件,此邮件系统的杀毒模块
MailDrop – 邮件过滤工具,比较难以使用,但是值得学会它
qmail-scanner – 一个扫描邮件队列的插件,其调用Clamav和SpamAssassin进行清除邮件病毒和垃圾邮件的动作
qmailanalog – 分析难以理解的qmail日志,并每晚给出报告
isoqlog - 一个qmail日志分析工具,可以分析和统计qmail的运行日志,并生成漂亮的HTML格式的报表
MRTG - 多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具
 
为了方便大家使用,我把下文中所提到的软件打成了一个包,下载地址为:
http://www.xuki.org/qmail_2.9.tar.gz;
大部份的软件都是用的最新版(2005年4月),我也将会跟踪软件的发行来更新些安装指南。
 
那么下面让我们开始安装必须的软件:
#创建/home/pkg/目录
mkdir /home/pkg
cd home
#下载软件
wget http://www.xuki.org/qmail_2.9.tar.gz
#将软件解压缩到目录中
tar -zvf qmail_2.9.tar.gz
此安装指南中所使用的软件包有:
autorespond-2.0.5.tar.gz
clamav-0.83.tar.gz
courier-authlib-0.55.tar.bz2
courier-imap-4.0.2.tar.bz2
daemontools-0.76.errno.patch
daemontools-0.76.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.42.tar.gz
igenus_2.0.2_20040901_release.tgz
igenus_admin_0.1.tgz
isoqlog-2.1.1.tar.gz
maildrop-1.8.0.tar.bz2
mrtg-2.10.15-1.i386.rpm
netqmail-1.05.tar.gz
perl-Razor-Agent-2.40-2.i386.rpm
perl-suidperl-5.8.5-12.1.1.i386.rpm
qlogtools_errno.patch qlogtools-3.1.tar.gz
qmailadmin-1.2.3.tar.gz
qmailanalog-0.70.errno.patch
qmailanalog-0.70.tar.gz
qmailmrtg7-4.0.tar.gz
qmail-scanner-1.25.tgz
qmail-toaster-0.7.2.patch.bz2
qms-analog-0.4.2.tar.gz
spamassassin-3.0.2-2.1.el3.rf.i386.rpm
squirrelmail-1.4.4.tar.gz
sqwebmail-5.0.1.tar.bz2
tnef-1.2.3.1.tar.gz
toaster-scripts-0.7.tar.gz
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.10.tar.gz
vqadmin-2.3.6.tar.gz
vqregister-2.6.tar.gz
#解压缩netqmail-1.05.tar.gz
 
chmod 755 -R pkg
cd pkg
tar -xzf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
注意:./collate.sh这一步不要忘
第四节:安装qmail TOP
 
除非你确实熟悉各个软件和系统结构,否则请按照如下步骤一步一步安装软件,此文将引导你安装一套完整的邮件系统。这个安装过程基本上你只需要复制粘贴就可以完成。
 
安装daemontools
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.
参考:http://cr.yp.to/daemontools.html
#安装:
cd /home/pkg
tar -zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 ; .qmail-postmaster
echo "admin@domain.com" >; .qmail-mailer-daemon
echo "admin@domain.com" >; .qmail-root
chmod 644 /var/qmail/alias/.qmail*
#开启SPF设置
echo ./Maildir/ >;/var/qmail/control/defaultdelivery
echo 3 >; /var/qmail/control/spfbehavior
#添加qmail的帮助手册
echo MANPATH /var/qmail/man >;>; /etc/man.config
#为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
cp /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run
cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/pkg/toaster-scripts-0.7/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
#启动脚本:
cd /home/pkg
cp toaster-scripts-0.7/rc /var/qmail/rc
chmod 755 /var/qmail/rc
cp toaster-scripts-0.7/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
rm -rf /usr/lib/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的安装.
第五节:安装vpopmail TOP
 
vpopmail是一个以qmail为基础的虚拟域管理包;其允许在一个IP地址添加多个虚拟域;并且可以不需要使用系统帐号做邮件帐号。
参考:http://vpopmail.sf.net
#创建目录:
mkdir -p /home/vpopmail/etc
# 设置默认域,红色部份改成你要设置的域。
echo "domain.com" >; /home/vpopmail/etc/defaultdomain
# 设置smtp规则,关闭open relays
echo '127.0.0.1:allow,RELAYCLIENT=""' >; /home/vpopmail/etc/tcp.smtp
cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp ; /home/vpopmail/etc/vpopmail.mysql
chmod 640 /home/vpopmail/etc/vpopmail.mysql
chown -R vpopmail.vchkpw /home/vpopmail/etc
# 在MySQL里添加vpopmail的帐号
mysql -uroot -pxukixu
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopmail@localhost IDENTIFIED BY 'xukixu';
FLUSH PRIVILEGES;
QUIT
#安装:
cd /home/pkg/
tar zxvf vpopmail-5.4.10.tar.gz
cd vpopmail-5.4.10
# 带数据库支持
./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords
make
make install-strip
#管理:
echo 'export PATH=$PATH:/home/vpopmail/bin' >;>; /etc/profile
source /etc/profile
# 添加域,红色部份前面是域名,后面是管理员(postmaster)密码
vadddomain domain.com xukixu
# 添加用户,红色部份为注解,不用输入
vadduser -q 10485760S(邮箱大小) xukixu@domain.com(邮箱帐号) 1234(密码)
vmoduser -c 许靖(邮箱描述) xukixu@domain.com
# 设置邮箱容量达到90%的警告信息
vi /home/vpopmail/domains/.quotawarn.msg
From: 邮箱管理员
Reply-To: postmaster@domain.com
To: 邮箱用户
Subject: 邮箱空间警告
Mime-Version: 1.0
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: base64
您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.
如果需要帮助,请联系邮箱管理员:
Email : postmaster@domain.com
# 设置邮箱已满的警告信息
echo "邮件被拒绝,用户的邮箱空间已满." >; /home/vpopmail/domains/.over-quota.msg
#启动脚本:
cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin
ln -s /var/qmail/bin/vpopmailctl /usr/bin
chmod 755 /var/qmail/bin/vpopmailctl
#现在打上qmail的补丁:
cd /home/pkg/netqmail-1.05/netqmail-1.05
bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0
make clean
make
qmailctl stop
make setup check
chown -R vpopmail:vchkpw /var/qmail/spam
#创建SSL Key
make cert
#按提示输入公司信息
[root@mail netqmail-1.05]# make cert
Generating a 1024 bit RSA private key
.............++++++
...............++++++
writing new private key to '/var/qmail/control/servercert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:GD
Locality Name (eg, city) [Newbury]:SZ
Organization Name (eg, company) [My Company Ltd]omain
Organizational Unit Name (eg, section) []omain
Common Name (eg, your name or your server's hostname) []:domain.com
Email Address []ukixu@domain.com
make tmprsadh
#注:这里可能要多等一会
chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /var/qmail/bin/update_tmprsadh >; /dev/null 2>;&1
#起动qmail
qmailctl start
# 用daemontools来启动qmail-pop3d和qmail-pop3ds
ln -s /var/qmail/supervise/qmail-pop3d /service
ln -s /var/qmail/supervise/qmail-pop3ds /service
#命令:
# 启动,停止,重启,查看队列等
vpopmailctl start|stop|restart|stat|pause|cont|help
# 检查服务
netstat -an | grep 110
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
 
安装选项参考:
vpopmail 5.4.10
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = ON --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = ON --enable-clear-passwd (default)
user dir hashing = ON --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
ip alias = OFF --disable-ip-alias-domains (default)
domain quotas = OFF --disable-domainquotas (default)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = ON --enable-sql-logging
mysql limits = OFF --disable-mysql-limits (default)
MySQL valias = OFF --disable-valias (default)
auth inc = -I/usr/include/mysql
auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = show failed attempts with clear text password
--enable-logging=p
auth logging = ON --enable-auth-logging (default)
all domains in one SQL table = --enable-many-domains (default)
#POP3和SMTP测试
用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如demo@demo.com。smtp是带认证的,在outlook中也要作相应设置。建议先测试正常后再进行下一步安装。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。
第六节:安装iGenus(可选) TOP
 
iGENUS 不是一套独立的邮件系统,只是一个 Webmail 接口,需要配合 qmail+vpopmail+Mysql 使用。iGENUS 是由 PHP 写成,采用直接对 qmail 的 Maildir 进行读写操作,因而比 IMAP/POP 方式更快一点。
参考:http://www.igenus.org
#安装:
cd /home/pkg
tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/
cd /var/www/
rm -rf html/
mv igenus html
#建temp文件夹
mkdir /tmp/temp
chmod -R 0755 /tmp/temp
chown -R vpopmail:vchkpw /tmp/temp
mkdir /home/netdisk
chmod -R 0755 /home/netdisk
chown -R vpopmail:vchkpw /home/netdisk
chmod -R 0755 /var/www/html/
chown -R vpopmail:vchkpw /var/www/html/
#修改httpd.conf
vi /etc/httpd/conf/httpd.conf
User vpopmail
Group vchkpw
DocumentRoot "/var/www/html/"
AddDefaultCharset GB2312 //使默认页面为中文
/etc/rc.d/init.d/httpd restart //重启apache,使修改生效
#修改config_inc.php文件
cd /var/www/html/config
vi config_inc.php
$CFG_BASEPATH = "/var/www/html/"; \\改成你安装的目录
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmail'; \\vpopmail访问mysql的帐号
$CFG_MYSQL_PASS = 'xukixu'; \\vpopmail访问mysql的密码
$CFG_MYSQL_DB = 'vpopmail'; \\数据库
$CFG_TEMP = "/tmp/temp"; \\删除$CFG_BASEPATH,并修改路径
#重新编制Mysql数据库表格
#删除之前创建的域名
vdeldomain domain.com
#编辑数据库:
mysql -uroot -pxukixu
use vpopmail;
drop table lastauth;
drop table vpopmail;
quit;
#编辑/var/www/html/docs/iGENUS.sql
vi /var/www/html/docs/iGENUS.sql
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Host: localhost
# Generation Time: Jun 04, 2004 at 11:26 AM
# Server version: 3.23.55
# PHP Version: 4.3.0
#
# Database : `vpopmail`
#
# --------------------------------------------------------
#
# Table structure for table `address`
#
use vpopmail; //加入这一行
CREATE TABLE `address` (
`id` int(11) unsigned NOT NULL auto_increment,
`pw_id` int(5) NOT NULL default '0',
`name` varchar(64) NOT NULL default '',
`email` varchar(12 NOT NULL default '',
UNIQUE KEY `id` (`id`),
KEY `pw_id` (`pw_id`)
) TYPE=MyISAM PACK_KEYS=1 ;
# --------------------------------------------------------
。。。。。。。。。
。。。。。。。。。。
CREATE TABLE `vpopmail` (
`pw_id` int(5) unsigned NOT NULL auto_increment,
`pw_name` varchar(32) NOT NULL default '',
`pw_domain` varchar(64) NOT NULL default '',
`pw_passwd` varchar(40) NOT NULL default '',
`pw_uid` int(11) default NULL,
`pw_gid` int(11) default NULL,
`pw_gecos` varchar(4 default NULL,
`pw_dir` varchar(255) default NULL,
`pw_shell` varchar(20) default NULL,
`pw_clear_passwd` varchar(16) default NULL, \\加入这一行
`createtime` timestamp(14) NOT NULL,
PRIMARY KEY (`pw_id`),
KEY `pw_name` (`pw_name`,`pw_domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
#运行如下命令导入数据表
mysql -uroot -pxukixu
#设置igenus 定义允许上传下载的邮件的大小
#编辑/etc/php.ini
vi /etc/php.ini
max_execution_time=60
memory_limit=20M
post_max_size = 10M
file_uploads=on
upload_max_filesize=10M
register_globals=On
session.bug_compat_42=0
session.bug_compat_warn=0
sendmail_path = /var/qmail/bin/qmail-inject
#编辑/etc/http/conf/httpd.conf
vi /etc/httpd/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
NameVirtualHost *:80
ServerName mail.domain.com
DocumentRoot /var/www/html
chmod 777 /var/lib/php/session/ -R
#重启apache:
service httpd restart
#如果需要,用vadddomain和vadduser添加新域名和新用户。
最后打开浏览器,输入http://domain.com/,就可以访问网站了。
第七节:安装iGenus_Admin(可选) TOP
 
一个基于Web的vpopmail域和帐号管理工具。
参考:http://www.igenus.org
#安装
cd /home/pkg
tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/
#设置
vi /var/www/html/admin/includes/config_inc.php
/*-
* iGENUS webmail
*
* Copyright (c) 1999-2002 by iGENUS Org.
* All rights reserved.
* Author: Wu Qiong
*
* $Id: config_inc.php,v 1.11 2004/03/23 13:59:12 wuqiong Exp $
*/
if(!defined("INCLUDE_CONFIG_OK") {
define("INCLUDE_CONFIG_OK","TRUE";
/* gid flags defind by vpopmail.h */
// define('NO_PASSWD_CHNG',0x01);
define('NO_POP', 0x02);
define('NO_WEBMAIL', 0x04);
// define('NO_IMAP', 0x0;
// define('BOUNCE_MAIL', 0x10);
// define('NO_RELAY', 0x20);
// define('NO_DIALUP', 0x40);
// define('V_USER0', 0x080);
// define('V_USER1', 0x100);
// define('V_USER2', 0x200);
// define('V_USER3', 0x400);
define('NO_SMTP', 0x800);
// define('QA_ADMIN', 0x1000);
$CFG_VPOPMAIL_HOST = "localhost";
$CFG_VPOPMAIL_USER = "vpopmail"; \\改为你的帐号
$CFG_VPOPMAIL_PASS = "xukixu"; \\改为你的密码
$CFG_VPOPMAIL_DB = "vpopmail";
$CFG_VPOPMAIL_TABLE = "vpopmail";
$CFG_ADMIN_TABLE = "admin";
$CFG_LAGESITE = true;
$CFG_NUMOFPAGE = 20;
$CFG_MAILBOX['inbox'] = ".";
$CFG_MAILBOX['outbox'] = ".Outbox";
$CFG_MAILBOX['draft'] = ".Draft";
$CFG_MAILBOX['trash'] = ".Trash";
$CFG_VPOPMAIL_PATH = "/home/vpopmail"; \\改为你的vpopmail安装目录 
// $CFG_VPOPMAIL_PATH = "/home2/vpopmail";
$CFG_SYSADMIN_NAME = "Admin";
$CFG_SYSADMIN_PASSWD= '$1$GvmONIco$0SwBB.mEoP3KJ5Zda7ioV0';
$CFG_SYSADMIN_PASSWD_FILE = $CFG_VPOPMAIL_PATH . "/etc/syspasswd.dat";
$CFG_TIMEOUT = 600;
$CFG_IGENUS_ADM = "iGENUS邮件系统管理";
$CFG_TEMPLATE_PATH = "template/";
}
?>;
#保存退出
touch /etc/syspasswd.dat
chown -R vpopmail.vchkpw /var/www/html
chmod -R 755 /var/www/html
#登录设置页面
http://domain.com/admin/sys/
用户:Admin密码Admin来登录.注意A要大写..这个管理帐号密码登录后可以改的
登录后,首先点"更新数据库"你就会看见你的域名.然后点"编辑"把"登录权限 该域管理员(Postmaster)有权登录进行用户管理"这一项打勾,确认后,就可以用
http://domain.com/admin/
来登录管理了。
第八节:安装courier-imap TOP
 
Courier-IMAP支持IMAP/SIMAP访问
参考:http://www.inter7.com/courierimap
courier-imap 从 4版本开始,把 courier-authlib 独立出来了,需要先安装 courier-authlib. 具体步骤:
cd /home/pkg
tar -xjvf courier-authlib-0.55.tar.bz2
cd courier-authlib-0.55
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchange pwdir=/usr/local/libexec/authlib --with-redhat
make
make install
make install-configure
#修改设置文件:/usr/local/etc/authlib/authdaemonrc,去掉不需要的认证模式,只留vchkpw方式,然后认证进程改成2个
#完成后启动它:
/usr/local/sbin/authdaemond start
#需要把这个脚本放到/etc/init.d, 然后在/etc/rc3.d 或/etc/rc5.d做一个符号连接,以便系统启动时自动运行。
#启动后,在内存中可以看到2个authlib进程:
ps -aef |grep authlib
root 20108 20107 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond
root 20109 20108 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond
 
#这里可以想办法把运行身份改成vpopmail,毕竟用root运行,如果出现问题影响范围会大很多。
#测试是否正常:
运行/usr/local/sbin/authtest红字为输入内容,后面的1121221应该是pop3密码,后面部分应该是命令结果)
authtest xukixu@domain.com 1121221
Authenticated: xukixu@domain.com (uid 509, gid 509)
Home Directory: /var/vpopmail/domains/domain.com/xukixu
Maildir: (none)
Quota: (none)
Encrypted Password: $1$LJjMeeeeqqeqF9VWUywtLV/O5ciqeg.
Cleartext Password: xukixu
Options: disablewebmail=0,disablepop3=0,disableimap=0
#出现上面的提示就是说authlib运行正常
#下面来安装courier-imap
cd /home/pkg
tar -xjf courier-imap-4.0.2.tar.bz2
cd courier-imap-4.0.2
# 作为vpopmail用户进行安装
chown -R vpopmail:vchkpw ../courier-imap-4.0.2
su vpopmail
./configure --with-redhat
# 注:Redhat用户需要使用"--with-redhat"选项
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
chkconfig --add courier-imap
#配置:
# 修改文件/usr/lib/courier-imap/etc/authdaemonrc,如果没有,则链接/usr/local/etc/authlib/authdaemonrc
authmodulelist="authvchkpw"
# 修改文件/usr/lib/courier-imap/etc/imapd
IMAPDSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd-ssl
IMAPDSSLSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd.cnf
CN=domain.com
emailAddress=postmaster@domain.com
# 修改文件/usr/lib/courier-imap/etc/pop3d.cnf
CN=domain.com
emailAddress=postmaster@domain.com
#启动:
/etc/rc.d/init.d/courier-imap start
#使用outlook测试一下IMAP是否正常
第九节:安装SquirrelMail(可选) TOP
 
SquirrelMail 是一个PHP编写的IMAP客户端,在安装SquirrelMail之前,要确保你的IMAP正常运行。
参考: http://www.squirrelmail.org/
#安装
cd /home/pkg
tar -xzvf squirrelmail-1.4.4.tar.bz
cd squirrelmail-1.4.4
cd plugins
tar -xzf ../../quota_usage-1.3-1.2.7.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ../
./configure
# 你将要设置如下选项
#选择 “2. Server Settings”=>;“A. Update IMAP Settings”=>;“8. Server software”改成“courier”;回到主菜单,选择“4.General Options”=>;“1. Data Directoryand”改成“/var/www/data/”;再退回主菜单,选择“8. Plugins”=>;添加你希望用到的插件。回到主菜单,选择“10. Languages”,将“ Default Language”改成“zh_CN”,“Default Charset”改成“GB2312”。保存退出。
mv data /var/www/
chown -R vpopmail.vchkpw /var/www/data
cd ../
mv squirrelmail-1.4.4 /var/www/html/squirrelmail
 
#登录http://domain.com/squirrelmail 验证是否安装成功。
第十节:安装SqwebMail(可选) TOP
 
Sqwebmail同SquirrelMail一样,也是一个基于IMAP客户端的webmail,在安装它之前,同样要确保IMAP服务运行正常.
参考:www.courier-mta.org/sqwebmail/  
安装sqwebmail后,如果希望在webmail上直接修改密码,则需要安装如下两个RPM包:
cd /home/pkg
rpm -Uvh expect-5.42.1-1.i386.rpm tcl-8.4.7-2.i386.rpm
#下面开始安装sqwebmail
cd /home/pkg
tar -xjvf sqwebmail-5.0.1.tar.bz2
cd sqwebmail-5.0.1
./configure --enable-webpass=vpopmail --enable-softtimeout=300 --enable-autopurge=10 --enable-maxpurge=30 --enable-mimecharset=gb2312 --with-maxargsize=5000000 --with-maxformargsize=5000000 --with-maxmsgsize=5000000 --without-ispell --without-authshadow --without-authmysql --without-authldap --without-authuserdb --without-authpwd --without-authpam --with-authvchkpw --without-authdaemon --enable-unicode --enable-hardtimeout=14400 --enable-softtimeout=3600 --enable-webpass=yes  
make configure-check
umask 220
make
make check
make install-strip
make install-configure
#完成后,启动脚本在/usr/local/sqwebmail/libexec/sqwebmaild.rc,要把它放到/etc/init.d,并且让他启动时运行
/usr/lib/sqwebmail/libexec/sqwebmaild.rc start
su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"  
cp /usr/lib/sqwebmail/libexec/sqwebmaild.rc /etc/init.d/sqwebmaild
chmod 755 /etc/init.d/sqwebmaild  
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc3.d/S89sqwebmaild
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc5.d/S89sqwebmaild  
#用"crontab -e"在crontab里增加下面这条,定时清除cache
crontab -e
*/30 * * * *su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"
#登录http://domain.com/cgi-bin/sqwebmail 验证是否安装成功。
 
第十一节:安装Wmail(可选) TOP
 
Wmail其实就是sqwebmail,只不过作者进行了一下汉化和修改了HTML模板而已.
第十二节:安装Autorespond&Ezmlm TOP
 
autorespond是一个自动回复工具,可以很好的与qmailadmin配合使用
#安装:
cd /home/pkg
tar -xvzf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make
make install
安装Ezmlm
exmlm是一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
#安装:
cd /home/pkg
tar -xvzf ezmlm-0.53.tar.gz
tar -xvzf ezmlm-idx-0.42.tar.gz
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
cd ezmlm-0.53
patch ; /dev/null 2>;&1 && echo -n 'Clamd stoped'
/usr/bin/killall freshclam >; /dev/null 2>;&1 && echo -n ' freshclam Stoped'
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
#使其能够执行
chmod 755 /etc/init.d/clamav
#随开机起动
ln -s /etc/init.d/clamav /etc/rc.d/rc3.d/S88clamav
ln -s /etc/init.d/clamav /etc/rc.d/rc5.d/S88clamav
第十八节:安装MailDrop 和TNEF reader TOP
TNEF是一个从"application/ms-tnef". 类型中找出MIME附件的程序.这仅仅是微软系统中的一种附件.TNEF程序允许将封装成TNEF的附件提取出来. 安装TNEF并不是必须的, 但我强烈推荐安装它!
# 安装 maildrop
cd /home/pkg
tar -xjvf maildrop-1.8.0.tar.bz2
cd maildrop-1.8.0
./configure
make
make install-strip
make install-man
# 安装 the tnef
cd /home/pkg
tar -xzvf tnef-1.2.3.1.tar.gz
cd tnef-1.2.3.1
./configure
make
make install
#使用Maildrop调用SpamAssassin
#在/home/vpopmail/domains/localhost.com(你创建的域)/ 建立mailfilter文件
touch mailfilter
chown vpopmail:vchkpw mailfilter
chmod 700 mailfilter
vi mailfilter
#mailfilter内容如下:
VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
VSPAM=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
`test -d $VHOME/Maildir/`
if( $RETURNCODE != 0 )
{
echo "Sorry , but the user $EXT@$HOST dos not exist"
EXITCODE=77
exit
}
if ( $SIZE ;&1
#后重新启动smtp服务
qmailctl stop
qmailctl start
qmailctl stat
#这里有测试程序
cd /home/pkg/qmail-scanner-1.25/contrib/
chmod 755 test_installation.sh
./test_installation.sh -doit
#这个脚本会设定的管理员邮件地址发送3个邮件,第一个邮件是一般的正常邮件,第二个邮件中会包含eicar.com测试病毒,第三个邮件同样包含eicar.com测试病毒,不过所附带的文件名不是eicar.com。
#如果qmail-scanner安装正确,管理员就应该可以收到关于后面的两个邮件的警告邮件。
#如果系统出错,可以查看/var/spool/qmailscan/qmail-queue.log日志文件。
#qmail-scanner的特征过滤在/var/spool/qmailscan/quarantine-attachments.txt
#主要的排错监测日志
/var/spool/qmailscan/quarantine.log
/var/spool/qmailscan/qmail-queue.log
/var/spool/qmailscan/qms-events.log
/var/log/clamav/clamd.log
/var/log/maillog
第二十节:安装qmailAnalog & qlogtools TOP
qmailanalog针对qmail的日志进行一些最基本的分析,并将结果发送到你指定的位置。在我的方案中,设置qmailanalog每天晚上运行,并将结果发送给管理员。 在使用qmailanalog时,我们还将会用到qlogtools软件包。
qlogtools提供一系列分析qmail日志的工具,这些工具将文件中诲涩难懂的日志转换成便於我们阅读和能够理解的报告。当安装完成qmailstats和Qlogtools后,我将会创建一个脚本让它每天晚上运行,并将报告发送到管理员邮箱。这个脚本也可用到我们先前安装的qms-analog,qms-analog将会提供qmail-scanner运行状态报告。
#先安装qmailanalog
cd /home/pkg/
tar zxvf qmailanalog-0.70.tar.gz
cd qmailanalog-0.70
patch ; $qmailSTATS 5>;/dev/null
DATE=`date +'%D'`
echo "To: postmaster@yourdomain.com" >; $EMAILMSG
echo "From: postmaster@yourdomain.com" >;>; $EMAILMSG
echo "Subject: Nightly qmail Stats Report for $DATE" >;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
zoverall ;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
zfailures ;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
zdeferrals ;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~ L a s t 2 4 H o u r s ~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
cat /var/spool/qmailscan/qms-events.log | qms-analog 24 >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A l l R e c o r d s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >;>; $EMAILMSG
cat /var/spool/qmailscan/qms-events.log | qms-analog 0 >;>; $EMAILMSG
cat $EMAILMSG | qmail-inject
rm -f $qmailSTATS
rm -f $EMAILMSG
#设置此脚本可执行
chmod 750 /var/qmail/bin/qmailstats
#现在,让我们运行脚本
/var/qmail/bin/qmailstats
#确认你的管理员邮箱,你将会收到一份非常详尽的报告。
#如果测试运行正常,那就加入cron让其每天早上3点运行。
crontab –e
0 3 * * * /var/qmail/bin/qmailstats 1>;/dev/null 2>;/dev/null
第二十一节:安装isoqlog TOP
isoqlog是一个qmail日志分析工具,它是用perl写的,可以分析和统计qmail的运行日志,并生成漂亮的HTML格式的报表,如果服务器上已经安装WEB服务,管理员就可以通过浏览器来查看这些报表。相对于qmailanalog,isoqlog分析的项目稍微少一些。
isoqlog可以生成多个邮件域的报表;对于每个邮件域,isoqlog可以统计出每天、每月、每年的邮件流量以及字节数,还生成相应的统计柱状图;对于每天的报表,isoqlog可以根据邮件投递的数量以及字节数的多少来对邮件用户进行排列。
#安装isoqlog
cd /home/pkg
tar zxvf isoqlog-2.1.1.tar.gz
cd isoqlog-2.1.1
./configure
make
make install
make clean
cd isoqlog
mkdir /var/www/html/isoqlog
cp -pr ./htmltemp/images ./htmltemp/library /var/www/html/isoqlog
#配置isoqlog
cd /usr/local/etc
mv isoqlog.conf-dist isoqlog.conf
vi isoqlog.conf
#将下面红色部份改成你的安装目录和主机名称。
#isoqlog Configuration file
logtype = "qmail-multilog" #log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/qmail" #
domainsfile = "/usr/local/etc/isoqlog.domains" #
outputdir = "/var/www/html/isoqlog" #html outpur directory
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/english"
hostname = "mail.domain.com"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100
#保存并退出。
#下一步是告诉isoqlog哪些虚拟域需要产生统计报表,我希望我的mail服务器能够报告每个域的状态,所以只需要简单的创建了个链接即可:
ln -s /var/qmail/control/rcpthosts isoqlog.domains
#现在,isoqlog应该能够正常运行了,运行如下命令测试一下效果:
/usr/local/bin/isoqlog
#通过如下页面查看输出结果:
http://domain.com/isoqlog
#你可以点击各个虚拟域名称显示其报表。
#我们希望isoqlog能够即时提供报表,将如下内容加入crontab
crontab -e
58 * * * * /usr/local/bin/isoqlog 1>;/dev/null 2>;/dev/null
#每个小时的第58分钟运行一次
第二十二节:安装MRTG TOP
多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具。 MRTG 产生包含图表的HTML网页,它可以将系统中的通信情况实时的显示在页面上。 我们可以在我们的系统上使用它来监控电子邮件和spam情况。
#安装
cd /home/pkg
rpm -Uvh mrtg-2.10.15-1.i386.rpm
#通过安装inter7的qmailmrtg ,我们将在我们的系统上安装MRTG
# 编译 qmailmrtg
cd /home/pkg
tar -xzf qmailmrtg7-4.0.tar.gz
cd qmailmrtg7-4.0
make
make install
mkdir /var/www/html/qmailmrtg
cp qmail.mrtg.cfg index.html /var/www/html/qmailmrtg
cd /var/www/html/qmailmrtg/
#修改 qmail.mrtg.cfg 和 index.html文件, 将所有出现FQDN 的地方都改成你的完整域名(例如: test.com). 如果你的HTTP MRTG目录并不是默认的 (例如: 你并没有把 /var/www/html/作为你的web根目录), 则必须在/var/www/html/qmailmrtg/qmail.mrtg.cfg 文件中修改WorkDir变量为正确的路径. 如果你不需要记录某项服务, 你可以在所不需要记录的服务每一行的前面加一个# 来注释掉它,并删除index.html中对应的服务项目。
#你可以修改 pop3和smtp所在的行, 设置MaxBytes参数来重写tcpserver中-cX所在行.
#你还可以修改concurrency来重写concurrencyremote或concurrencylocal 的值. 如果这些文件在/var/qmail/control 目录下并不存在,则qmail默认的值为20.
#下面是我们的最后一步,将下面一段添加到crontab中, 以使我们能每五分钟升级一次MRTG数据. 运行如下命令:
crontab -e
#添加下面一段 (使MRTG每五分钟运行一次) 然后退出crontab:
*/5 * * * * /usr/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg 2>;&1 >; /dev/null
#现在运行MRTG三次来安装它. 你将会收到3次警告消息. 之后,你将不会再收到警告了.
env LANG=C /usr/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg
#现在应该安装好了. 为了能显示些信息,我们等待15分钟的日志记录. 你可以通过下面的地址来检查图形监控情况:
http://your.host.name/qmailmrtg/
查看它们的图形监控情况!
第二十三节:测试 TOP
测试igenus
http://domain.com/
测试qmailadmin
http://domain.com/cgi-bin/qmailadmin
测试vQadmin
http://domain.com/cgi-bin/vqadmin/vqadmin.cgi
测试SMTP认证
[root@mail pkg]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 domain.com ESMTP
ehlo domain.com
250-domain.com
250-STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE 0
250 AUTH LOGIN PLAIN CRAM-MD5
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.
[root@mail pkg]#
测试POP3
[root@mail pkg]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK ;
user xuki@domain.com
+OK
pass xukixu
+OK
quit
+OK
Connection closed by foreign host.
[root@mail pkg]#
测试IMAP
[root@mail pkg]# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
a001 login xuki@domain.com xukixu
a001 OK LOGIN Ok.
a001 login out
a001 NO Error in IMAP command received by server.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
[root@mail pkg]#
第二十四节:系统维护 TOP
邮件系统相关日志
/var/log/maillog
/var/log/qmail/current
/var/log/qmail/pop3d/current
/var/log/qmail/pop3ds/current
/var/log/qmail/smtpd/current
/var/spool/qmailscan/qmail-queue.log
/var/spool/qmailscan/qms-events.log
/var/spool/qmailscan/quarantine.log
 
第二十五节:FAQ(网上收集) TOP
 
设置qmail用户邮箱的容量
cd /home/vpopmail/bin
./vsetuserqutoa domain.com 10500000s --domain.com这个域,都设成10m的
./vsetuserqutoa xuki@domain.com 10500000s ---只把xuki@domain.com这个用户单独设置为10m。
qmail限制附件的大小
在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。smtp方式是以qmail的databytes作限制的;创建databytes并设置邮件最大为4m :
echo 4000000 >;/var/qmail/control/databytes
限制单域的邮箱数量
vi /home/vpopmail/domains/domain.com/.qmailadmin-limits
maxpopaccounts 200
default_quota 52428800s
chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits
chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits
这样就把邮箱总数限制在200个,每个邮箱为50M了
用qmail封mailfrom
vi/var/qmail/control/badmailfrom
这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。例如:
peng@96633.net -----限制一个特定的用户
@sina.com -----限制整个域中的邮件
批量添加用户
例1:
新建一文件 batchadduser.sh,将以下内容拷入文件中保存,运行chmod u+x batchadduser.sh使其可执行。
#!/bin/bash
#batchadduser.sh: batch add mail user.
#install step.
#chmod u+x batchadduser
#./batchadduser.sh domain datafile
if [ $# -lt 2 ]
then
echo "usage: $0 domain datafile"
exit 1
fi
domain=$1
datafile=$2
addcmd=/home/vpopmail/bin/vadduser
while read username passwd
do
$addcmd $username@$domain $passwd
done ; ~alias/.qmail-baddomain-default
echo bad.jite.com:alias-baddomain>;>; /var/qmail/control/virtualdomains
echo bad.jite.com:127.0.0.1 >;>; /var/qmail/control/smtproutes
然后运行/var/qmail/bin/qmail-tcpok,给qmail-send 一个HUP信号
3、删除队列中的大量广告信息
先停止qmail.
1) 停止qmail, qmail-smtpd
2) 在以下默认目录下 /var/qmail/queue/mess
find /var/qmail/queue/mess -type f -exec grep "^Subject:dss" {} \; -print -exec rm {} \;
3) 运行queue-fix清除相关文件,
4) 重启qmail.
使用sh备份qmail+mysql数据到指定的ftp地址的方法
备份vpopmail的domains目录、qmail的control目录和mysql的var数据存放目录,使用crontab定时进行操作。下面是脚本文件,具体的目录视自己的系统更改:
mkdir /var/qmailbakup
cd /var/qmailbakup
touch qmailbakup.sh
chmod 755 qmailbakup .sh
vi qmailbakup.sh
#!/bin/sh
DATE=`date +%Y-%m-%d-%H`
cd /var/qmailbakup/
tar cvzf domains.$DATE.tar.gz /home/vpopmail/domains
tar cvzf control.$DATE.tar.gz /var/qmail/control
tar cvzf mysql.$DATE.tar.gz /usr/local/mysql/var
ftp -n 192.168.0.21 ; /var/qmail/control/helohost
2) 拨打新浪邮件售后服务电话
临时限制一个用户的pop3
vmoduser -p email_addr or domain ( for the entire domain )
修改默认的域名
A:
要更改haohao.com为默认域。
方法:
更改~qmail/control/
defaultdomain
me
plusdomains
逐一更改启动pop3和 smtp的启动脚本:
修改:email.3sk.com为haohaoo.com
在最上边添加:export VPOPMAIL_DOMAIN=haohaoo.com
将一个系统的qmail用户完整地转移到另一个系统
A:
a.cdb配置的?那么请把/home/vpopmail/domains这个文件夹备份好就可以了。用户和密码文件,还有用户信件都在这个目录下。
还应该备份/var/qmail/control下的相关配置文件。
b.如果是以MYSQL数据库方式来存储用户认证信息的
只需要备份
~vpopmail/domain下的所有邮件
/var/qmail/control的配置文件
MYSQL数据库目录下的vpopmail库目录。一般是/var/lib/mysql(RPM)、/usr/local/mysql/data、/usr/local/mysql/var下面。
把一邮件域的名字比如a.com更改为b.com,如何实现
以下几个步骤:
1、cd /home/vpopmail/domains
mv a.com b.com
2、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入.
3、把把vpopmail数据库的dir_control表的a.com改为b.com
4、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com.
5、在/home/qmail/users目录下把assign文件的a.com改为b.com
6、需要运行qmail-newu重新生成cdb。assign只是配置文件,cdb才是实际的数据文件。
加快 qmail 投递邮件速度
A: /var/qmail/control下面是qmail的控制文件,这两个文件:
Concurrentcylocal default: 10 最大本地同时传送数
Concurrencyremote default: 20 最大远程同时传送数
更改域的默认管理账号
A: vmoduser有个-a参数,可以赋予用户管理权限。
如果想全面禁用postmaster的特殊权限话,就只能改源代码了。
qmail下的主要配置文件(/var/qmail/control目录下):
文件名 默认值 使用者用途
badmailfrom none qmail-smtpd 黑名单地址
bouncefrom MAILER-DAEMON qmail-send 退回邮件
bouncehost me qmail-send 退回邮件
concurrencylocal 10 qmail-send 本地同时投递邮件的数目




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/57035/showart_1687154.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP