文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>我的邮件系统安装过程(linux AS4+qmail+vpopmail..

我的邮件系统安装过程(linux AS4+qmail+vpopmail..

时间:2006-05-21  来源:feixueliantian

 Qmail JavaWebMail 安装过程

 

本文档全面介绍如何使用qmail在Linux上建造一个高性能的邮件服务器,如何用Vpopmail实现虚拟的邮件域,如何使用qmailadmin 通过Web页面方便的管理用户,如何添加大容量的邮件列表支持,如何实现病毒邮件清除,如何实现中文垃圾邮件过滤,以及如何实现用户的Web登陆。

 

我将在linux下安装qmail分成若干步骤,您只要按照顺序完成这些步骤,则可安装一台基于Linux的qmail邮件服务器;此套安装方法已经在RedHat AS4和Cent OS4下测试通过;希望有时间又有兴趣的朋友能够加入其中,一起完善它,做一套最完善的中文qmail安装指南,以帮助更多的正在学习qmail的朋友少走些弯路。

 

此文所实现的邮件系统功能列表:

l         SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持

l         POP3服务器:CRAM-MD5,APOP,和SSL支持

l         IMAP服务器:TLS(SSL)支持

l         邮件病毒清除

l         邮件附件限制

l         中文垃圾邮件过滤(最高90%)

l         自动回复

l         邮件列表

l         Web管理

l         用户注册

l         通过Web显示统计信息

l         WebMail

l         MRTG

 

第一节:安装引言

 

1.1 介绍

 

本指南的目的是帮助你从头开始建立一个大容量(1000用户以上)、易管理、易扩充、分布式、用户界面友好的邮件系统。如果仅仅是为了支持内部网络的很少用户,你可以选择sendmail,甚至是基于NT平台的任何共享的邮件服务器软件,它们更加易与操作和设定。作为一种尝试,当然你也可以选择本系统,但是你必须对Linux系统有相当的了解,至少是可以独立的配置一台Linux网络服务器。

 

本文档并不是简单的把相关软件的安装文档及FAQ汉化,相反的,本文档几乎不包括任何相关软件的安装文档及FAQ,我认为作为一个qmail的使用者,他应该做到以下几点:

 

·     熟悉了所有Dan Bernstein(qmail的作者)发布的文档;

 

·     熟悉http://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启动,节省了一定资源。

 

第二节:安装qmail前软件和环境确认

 

在成功安装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/enterprise/RHEL-4-Manual/selinux-guide/rhlcommon-section-0068.html

 

如果要通过yum升级CentOS4系统,则需要导入CentOS4.0:RHEL4的dag

rpm --import http://ftp.riken.jp/Linux/dag/packages/RPM-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.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

 

第三节:收集所需要的软件包

 

些篇文档所使用的软件清册如下:

 

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)是在网络链路上监控通信负载的一件工具

 

那么下面让我们开始安装必须的软件:

#创建/home/pkg/目录

mkdir /home/pkg

cd home

#将软件包qmail_2.9.tar.gz解压缩到目录中

tar   -zxvf 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这一步不要忘

相关阅读 更多 +
排行榜 更多 +
罗马战争与防御

罗马战争与防御

策略塔防 下载
3d坦克突击最新版

3d坦克突击最新版

飞行射击 下载
3d子弹先生射击模拟器安卓版

3d子弹先生射击模拟器安卓版

飞行射击 下载