ExtMail Solution HOWTO for Linux X86Word下载.docx
- 文档编号:16422426
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:40
- 大小:41.04KB
ExtMail Solution HOWTO for Linux X86Word下载.docx
《ExtMail Solution HOWTO for Linux X86Word下载.docx》由会员分享,可在线阅读,更多相关《ExtMail Solution HOWTO for Linux X86Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
∙原始作者:
Hezhiqiang<
∙项目主页:
∙个人主页:
∙最后更新:
2006-11-26
本文档以32位机器的安装为蓝本,以RPM系统为基础,进行适当修改,使之符合64位机器。
所涉及软件全部是OpenSource软件,版权以GPL为主,作为企业应用没有任何版权/法律问题。
基于RPM系统具有方便、快捷,易快速复制和重现的优点。
如果用户希望获得这些RPM包的源码包,可以与作者联系。
编写本文的初衷,是给那些希望快速架设邮件系统而不想过多了解复杂的系统知识的网管/用户,为了使软件之间的结合更紧密,部分软件的配置及测试方面进行了增强改进,因此本文的一些操作步骤作者不能保证在其他场合能完全适用,敬请注意。
本文假定读者是在CentOS4.x或RedHatEnterPriseLinux4.x平台上安装,并具有一定的Unix平台/Linux平台系统经验,懂得rpm基本命令及常规的系统操作,如文件的删除,目录创建,改名,和vi编辑器的基本使用等。
文档目录
∙ExtMailSolution概述
∙硬件配置
∙操作系统安装
∙下载ExtMailSolution软件包
∙MTA-Postfix配置
∙配置Courier-Authlib
∙安装maildrop
∙配置Apache
∙安装Webmail-ExtMail
∙安装管理后台-ExtMan
∙配置图形化日志系统-mailgraph_ext
∙测试基本系统
∙配置Cyrus-SASL
∙安装Courier-IMAP
∙内容/病毒过滤
准备工作
ClamAV
Amavisd-new
配置Postfix
测试
∙反垃圾邮件-SpamLocker
配置/测试
与Postfix结合
∙最终测试
∙附加信息
增加FCGI支持
编译Courier-IMAP
∙结束语
∙已知Bugs
∙TODO列表
ExtMailSolution结构
ExtMailSolution是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix,Amavisd-new,ClamAV,ExtMail和ExtMan,Courier系列软件。
是一个功能相对比较齐全的免费电子邮件系统。
以下是其主要的特性列表:
∙支持SMTP/POP3/HTTP协议
∙支持SMTP认证及ESMTP
∙可支持大容量邮箱(大于1GB)
∙高速Web界面访问邮箱
∙完整的Web管理后台
∙在线服务端病毒过滤
∙内建内容过滤
∙SMTP行为识别垃圾邮件
∙支持大量反垃圾邮件技术
∙图形化邮件日志分析
∙支持别名/多域/域管理员等
∙支持网络磁盘/POP3邮件
∙支持读/写HTML格式邮件
∙支持定制模板及多语言
整个邮件解决方案由如下软件组成:
功能模块
内容
备注
操作系统(OS)
CentOS4.3
CentOS和RHEL是一样的,而且升级免费
邮件传输代理(MTA)
Postfix2.2.11
使用2.2.11,虽然不是最新但是对一般人而言足够用了
数据库/目录服务
MySQL4.1
可选openLDAP或NetScapeLDAP,本文以MySQL为蓝本
邮件投递代理(MDA)
maildrop2.0.x
支持过滤和强大功能
Web帐户管理后台
ExtMan0.2beta3
支持无限域名、无限用户
POP3服务器
Courier-IMAP
只使用pop3部分,对于大部分企业而言完全足够
WebMail系统
ExtMail1.0beta3
支持多语言、全部模板化,功能基本齐全
防病毒软件(Anti-Virus)
ClamAV0.88
最热门的开源杀毒软件
SMTP阶段反垃圾邮件工具
SpamLocker0.2beta
基于SMTP行为识别的Antispam软件,大量可选插件
内容过滤器
Amavisd-new2.40
Content-Filter软件,支持与clamav/sa的挂接
内容级别的反垃圾邮件工具
SpamAssassin
著名的SA,可以支持大量规则,但速度慢
SMTP认证库
CyrusSASL2.1x
标准的SASL实现库,可以支持Courierauthlib
其他数据认证库
CourierAuthlib0.57
authlib是maildrop,courier-imap等服务的关键部件
日志分析及显示
mailgraph_ext
在ExtMan中已经包含了
Web服务器
Apache2.0.x
CentOS自带
硬件配置
要流畅地运行邮件系统,建议的硬件配置如下:
∙物理内存:
256M+推荐512M
∙交换区:
2倍物理内存大小
∙CPU:
PIII1G+推荐P4
∙主板:
推荐Intel原装
∙网卡:
100M/1000M推荐3Com/Intel
操作系统安装
本文档支持RedHatEnterprise4.x及CentOS4.x版本。
要注意的是安装系统时,只安装如下的组件:
∙WebServer
要注意必须选中httpd-suexec软件包,否则下文的配置将失效
∙MYSQL数据库
注意必须选中mysql-server,libdbi-dbd-mysql,perl-DBD-mysql等模块,否则extmail将无法连接mysql
∙VIM编辑器
强烈建议安装vim-enhanced软件包,它支持main.cf彩色高亮语法分析
其余的Xwindows,打印,KDE/Gnore,服务器配置工具,网络工具,开发包等全部都不要选上。
安装完毕进入操作系统后,建议禁止root直接登陆,并增加一个非root帐户,例如叫sysadmin。
这样要以root权限操作的话,必须先以sysadmin身份登陆再su到root执行。
方法:
CentOS4.3安装步骤图解
以下将以详细的图解来介绍如何安装CentOS4.3
CentOS启动光盘的启动画面,直接回车即可。
系统提示“是否需要校验CD媒质”,请选择“Skip”。
选择“English”作为安装界面的语言。
安装类型请务必选择“Custom”,以便之后详细选择要装的软件包。
磁盘分区设置请选择“ManuallypartitionwithdiskDruid”(手工分区)。
如图,我们将/,/usr,/var,/var/spool/postfix等单独分成一个分区,注意:
如果磁盘大小允许,请将/var/spool/vscan目
录也单独成一个分区,该目录主要存放被过滤的临时邮件。
配置网卡及子网掩码,记得点选“Activateboot”。
配置网关及DNS,请将离你的服务器最近DNS服务器IP地址填入“PrimaryDNS”。
防火墙配置时,打开防火墙(选EnableFireWall),并放行常规的服务(服务列表全选),最重要的是记得打开SELinux(选Active)
时区选“上海”。
输入root帐户密码,建议使用较长的密码,并混杂数字与字母及特殊字符。
进入软件组的选择对话界面后,我们只选择Editors组。
其次选择是WebServer及FTPServer组。
再次选择MySQLDataBase组,并点击右边的Details
在Details对话框里,确保libdbi-dbd-mysql,mysql-server,perl-DBD-MySQL等模块都被选中。
extmail依赖这些软件包。
最后,确认一下所做的选择。
其他没有被提到的软件模块/组全部都去掉。
总共软件大小有814MB左右。
点Next后,安装系统提示必须要准备好CentOS的第1,2,3张光盘。
系统进行初始化,磁盘分区等。
系统安装到后面时,需要换安装盘。
请将盘2及盘3按提示放入光驱。
安装完毕后,出现祝贺完成的界面,点Reboot重新启动。
如无意外,系统进入登陆提示符界面。
至此,CentOS4.3的安装就结束了。
以root身份登进系统后,增加一个非root帐户,名称为sysadmin,密码按您的需求设置一个即可。
接下来我们要禁止root直接登陆,编辑/etc/ssh/sshd_config修改以下配置为:
PermitRootLoginno
然后重新启动sshd:
/etc/init.d/sshdrestart
这样禁止了root直接登陆。
配置SELinux
自从RHEL4/CentOS4以后,系统默认打开了SELinux支持,简单说SELinux就是一个强制性的安全机制,但是它也带来了不少麻烦,为了避免编写烦琐的policy规则,本文档将屏蔽掉SELinux对MySQL及httpd的保护。
方法如下:
setseboolhttpd_disable_trans=1
setseboolmysqld_disable_trans=1
操作完毕后,重新启动mysql及apache,并将如下命令加入/etc/rc.d/rc.local以便服务器启动后能自动生效:
/usr/sbin/setseboolhttpd_disable_trans=1
/usr/sbin/setseboolmysqld_disable_trans=1
/etc/init.d/mysqldrestart
/etc/init.d/httpdrestart
下载ExtMailSolution软件包
基本假定
整个系统的安装全过程都要求以root身份执行,如果机器没有访问外部网络的能力,则事先下载好ExtMailSolution软件包,并用ftp以sysadmin帐户的身份,上载到服务器。
下载软件包
我们统一将软件包下载到/root目录里。
su-root
cd/root
wgethttp:
//www.lunsou.org/source/ExtMail-Solution-Linux-x86_64-0.1.tar.bz2
校验
下载的文件必须校验确认过没损坏才能使用。
命令如下:
md5sumExtMail-Solution-Linux-x86_64-0.1.tar.bz2
一个可能的结果:
#md5sumExtMail-Solution-Linux-x86_64-0.1.tar.bz2
8eef9b53c713eeca8559b3e176a6d8dc
ExtMail-Solution-Linux-x86_64-0.1.tar.bz2
由于软件包不断的变更,所以上述结果和您的结果可能不一致,请以下载的md5sum为准
解压
目前最新的ExtMail-Solution软件包版本号为0.1,软件包文件名为:
ExtMail-Solution-Linux-x86_64-0.1.tar.bz2,下载回来后,在/root目录解开:
tarxfjExtMail-Solution-Linux-x86_64-0.1.tar.bz2
此外,我们假设本次安装默认域是,主机名为:
,ExtMailSolution的文件目录是/root/ExtMail-Solution-Linux-x86_64-0.1/
重要步骤:
我们进入/root/ExtMail-Solution-Linux-x86_64-0.1/目录,该目录下包括如下文件/目录:
RPMS/
src/
其中RPMS目录是本文的重点,里面包含了所需要的全部rpm包和src.rpm包,src目录则是存放extmail、extman等相关软件的源码。
本文也将把所有的rpm包或src.rpm包等的来源地址列出,用户也可以根据自己的实际需要下载。
下文所涉及的操作,绝大部分都是发生在/root/ExtMail-Solution-Linux-x86_64-0.1目录里,请确保当前目录为:
/root/ExtMail-Solution-Linux-x86_64-0.1
配置PostfixMTA
删除冲突软件,sendmail,需要执行:
rpm-e--nodepssendmail
mysql有关软件:
CentOS4.x/RedHatEL4.x都自带mysql-server,请用户自行安装好,包括mysql-client和devel等包
编译postfix
到http:
//postfix.wl0.org/ftp/official/2.2/SRPMS/下载postfix的src包,这些包支持mysql、sasl、tls等的功能,然后自己手动编译。
编译src包需要安装rpmbuild等软件包。
rpm-ivhpostfix-2.2.11-1.src.rpm
然后转移到/usr/src/redhat/SPECS,修改postfix.spec文件,让其支持mysql、sasl。
cd/usr/src/redhat/SPECS
vipostfix.spec
将:
%definewith_mysql_redhat0
%definewith_sasl
0
改成:
%definewith_mysql_redhat1
2
以上表示开启mysql和sasl2(为1表示支持sasl1)的支持
最后编译生成rpm包:
rpmbuild-bbpostfix.spec
在/usr/src/redhat/RPMS/x86_64生成相关的rpm包。
安装postfix
rpm-ivh--nodepspostfix-2.2.11-1.rhel4.x86_64.rpm
特别注意:
因为是x86_64系统,所以安装结束后,将在/usr/lib64/sasl2生成smtpd.conf文件,而不是在/usr/lib/sasl2下。
smtpd.conf在以下安装sasl2结束后需要用到。
配置postfix
简化postfix配置:
postconf-n>
/etc/postfix/main2.cf
mv/etc/postfix/main.cf/etc/postfix/main.cf.old
mv/etc/postfix/main2.cf/etc/postfix/main.cf
再编辑main.cf:
vi/etc/postfix/main.cf
增加如下内容:
#hostname
mynetworks=127.0.0.1
myhostname=mail.extmail.org
mydestination=$mynetworks$myhostname
#banner
mail_name=Postfix-byextmail.org
smtpd_banner=$myhostnameESMTP$mail_name
#responseimmediately
smtpd_error_sleep_time=0s
unknown_local_recipient_reject_code=450
#extmailconfighere
virtual_alias_maps=mysql:
/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains=mysql:
/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps=mysql:
/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport=maildrop:
编辑mysql_virtual_alias_maps.cf
vi/etc/postfix/mysql_virtual_alias_maps.cf
内容如下:
user=extmail
password=extmail
hosts=localhost
dbname=extmail
table=alias
select_field=goto
where_field=address
编辑mysql_virtual_domains_maps.cf
vi/etc/postfix/mysql_virtual_domains_maps.cf
table=domain
select_field=description
where_field=domain
#additional_conditions=andbackupmx='
0'
andactive='
1'
编辑mysql_virtual_mailbox_maps.cf
vi/etc/postfix/mysql_virtual_mailbox_maps.cf
table=mailbox
select_field=maildir
where_field=username
#additional_conditions=andactive='
配置Courier-Authlib
编译安装Courier-Authlib
编译前先确认系统是否已经安装了expect包,如果没有,请安装:
rpm-ivhexpect-5.42.1-1.x86_64.rpm
//www.extmail.org/source/courier-authlib-0.57-1hzq.src.rpm下载courier-authlib的src包,然后重新编译:
rpmbuild--rebuildcourier-authlib-0.57-1hzq.src.rpm
编译结束后,在/usr/src/redhat/RPMS/x86_64生成如下文件:
courier-authlib-0.57-1hzq.x86_64.rpm
courier-authlib-devel-0.57-1hzq.x86_64.rpm
courier-authlib-mysql-0.57-1hzq.x86_64.rpm
运行如下命令安装相关软件包
libtool-libs-1.5.6-4.EL4.1.c4.4.x86_64.rpm可以到:
//mirror.centos.org/centos-4/4.4/os/x86_64/CentOS/RPMS/下载
rpm-ivhRPMS/libtool-libs-1.5.6-4.EL4.1.c4.4.x86_64.rpm
rpm-ivhRPMS/courier-authlib-0.57-1hzq.x86_64.rpm
rpm-ivhRPMS/courier-authlib-devel-0.57-1hzq.x86_64.rpm
rpm-ivhRPMS/courier-authlib-mysql-0.57-1hzq.x86_64.rpm
编辑/etc/authlib/authmysqlrc文件,并将其内容清空,然后增加如下内容:
MYSQL_SERVER
localhost
MYSQL_USERNAME
extmail
MYSQL_PASSWORD
MYSQL_SOCKET
/var/lib/mysql/mysql.sock
MYSQL_PORT
3306
MYSQL_OPT
MYSQL_DATABASE
MYSQL_USER_TABLE
mailbox
MYSQL_CRYPT_PWFIELD
password
MYSQL_UID_FIELD
uidnumber
MYSQL_GID_FIELD
gidnumber
MYSQL_LOGIN_FIELD
username
MYSQL_HOME_FIELD
homedir
MYSQL_NAME_FIELD
name
MYSQL_MAILDIR_FIELD
maildir
MYSQL_QUOTA_FIELD
quota
MYSQL_SELE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ExtMail Solution HOWTO for Linux X86