您的位置:首页 > 大数据 > 人工智能

Extmail配置实践(一)

2009-06-10 17:31 239 查看
[align=center][/align]

一.实验环境
1.操作系统RHEL4-U4,内核2.6.9-42.ELsmp
2.服务器外网IP为124.193.106.77,内网IP为192.168.4.188
3.域为:begindo.cn

二.Extmail安装

1.下载软件包

我们统一将软件包下载到/root目录里。

[align=left]cd/root[/align]
[align=left]wgethttp://www.extmail.org/source/ExtMail-Solution-Linux-0.2.tar.gz[/align]

2.校验

下载的文件必须校验确认过没损坏才能使用。命令如下:
wgethttp://www.extmail.org/source/md5sum.es_linux-0.2
catmd5sum.es_linux-0.2
md5sumExtMail-Solution-Linux-0.2.tar.gz

一个可能的结果:
#catmd5sum.es_linux-0.2
168eced41c0cac0ed9f981e791f3783bExtMail-Solution-Linux-0.2.tar.gz
#md5sumExtMail-Solution-Linux-0.2.tar.gz
168eced41c0cac0ed9f981e791f3783bExtMail-Solution-Linux-0.2.tar.gz

由于软件包不断的变更,所以上述结果和您的结果可能不一致,请以下载的md5sum为准

3.解压

[align=left]目前最新的ExtMail-Solution软件包版本号为0.2,软件包文件名为:ExtMail-Solution-Linux-0.2.tar.gz,下载回来后,在/root目录解开:[/align]
[align=left]tarxfzExtMail-Solution-Linux-0.2.tar.gz[/align]
[align=left]此外,我们假设本次安装默认域是begindo.cn,主机名为:mail.begindo.cn,ExtMailSolution的文件目录是/root/ExtMail-Solution-Linux-0.2/[/align]
[align=left]重要步骤:[/align]
[align=left]我们进入/root/ExtMail-Solution-Linux-0.2/目录,该目录下包括如下文件/目录:[/align]

[align=left]conf/[/align]
[align=left]docs/[/align]
[align=left]RPMS/[/align]
[align=left]src/[/align]
[align=left]README[/align]
[align=left]其中RPMS目录是本文的重点,里面包含了所需要的全部rpm包,src目录则是存放webmail,anti-spam等相关软件的源码,而README则是说明文件,docs目录则是本文档相关的html及图片。[/align]
[align=left]下文所涉及的操作,绝大部分都是发生在/root/ExtMail-Solution-Linux-0.2目录里,请确保当前目录为:/root/ExtMail-Solution-Linux-0.2[/align]
[align=left]4.配置PostfixMTA[/align]
[align=left]删除冲突软件,sendmail,需要执行:[/align]
[align=left]rpm-e--nodepssendmail[/align]
[align=left]rpm–qa|grepsendmail[/align]
[align=left]rpm–e所有有关sendmail的rpm包[/align]
[align=left]rpm–qa|greppostfix[/align]
[align=left]rpm–e所有系统自带的postfix的包[/align]
5.安装postfix
[align=left]rpm-ivh--nodepsRPMS/postfix-2.5.1-2ext.i386.rpm[/align]
[align=left]简化postfix配置:[/align]
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

[align=left][/align]
[align=left]再编辑main.cf:[/align]
[align=left]vi/etc/postfix/main.cf[/align]
[align=left]增加如下内容:[/align]
[align=left]#hostname[/align]
[align=left]mynetworks=127.0.0.1[/align]
[align=left]myhostname=mail.begindo.cn[/align]
[align=left]mydomain=begindo.cn[/align]
[align=left]mydestination=$mynetworks$myhostname[/align]
[align=left][/align]
[align=left]#banner[/align]
[align=left]mail_name=Postfix-bybegindo.cn[/align]
[align=left]smtpd_banner=$myhostnameESMTP$mail_name[/align]
[align=left][/align]
[align=left]#responseimmediately[/align]
[align=left]smtpd_error_sleep_time=0s[/align]
[align=left]unknown_local_recipient_reject_code=450[/align]
[align=left][/align]
[align=left]#extmailconfighere[/align]
[align=left]virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf[/align]
[align=left]virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf[/align]
[align=left]virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf[/align]
[align=left]virtual_transport=maildrop:[/align]
[align=left]maildrop_destination_recipient_limit=1[/align]
[align=left]编辑mysql_virtual_alias_maps.cf[/align]
[align=left]vi/etc/postfix/mysql_virtual_alias_maps.cf[/align]
[align=left]内容如下:[/align]
user=extmail
password=extmail
hosts=localhost
dbname=extmail
table=alias
select_field=goto
where_field=address

[align=left][/align]
[align=left]编辑mysql_virtual_domains_maps.cf[/align]
[align=left]vi/etc/postfix/mysql_virtual_domains_maps.cf[/align]
[align=left]
内容如下:[/align]

[align=left]user=extmail[/align]
[align=left]password=extmail[/align]
[align=left]hosts=localhost[/align]
[align=left]dbname=extmail[/align]
[align=left]table=domain[/align]
[align=left]select_field=description[/align]
[align=left]where_field=domain[/align]
[align=left]#additional_conditions=andbackupmx='0'andactive='1'[/align]
[align=left][/align]
[align=left]编辑mysql_virtual_mailbox_maps.cf[/align]
[align=left]vi/etc/postfix/mysql_virtual_mailbox_maps.cf[/align]
[align=left]内容如下:[/align]

[align=left]user=extmail[/align]
[align=left]password=extmail[/align]
[align=left]hosts=localhost[/align]
[align=left]dbname=extmail[/align]
[align=left]table=mailbox[/align]
[align=left]select_field=maildir[/align]
[align=left]where_field=username[/align]
[align=left]#additional_conditions=andactive='1'[/align]

5.配置Courier-Authlib

安装Courier-Authlib

运行如下命令安装相关软件包
rpm-ivhRPMS/libtool-libs-1.5.6-4.EL4.2.i386.rpm
rpm-ivhRPMS/courier-authlib-0.60.2-1ext.i386.rpm
rpm-ivhRPMS/courier-authlib-devel-0.60.2-1ext.i386.rpm
rpm-ivhRPMS/courier-authlib-mysql-0.60.2-1ext.i386.rpm

编辑/etc/authlib/authmysqlrc文件,并将其内容清空,然后增加如下内容:
MYSQL_SERVERlocalhost
MYSQL_USERNAMEextmail
MYSQL_PASSWORDextmail
MYSQL_SOCKET/var/lib/mysql/mysql.sock
MYSQL_PORT3306
MYSQL_OPT0
MYSQL_DATABASEextmail
MYSQL_USER_TABLEmailbox
MYSQL_CRYPT_PWFIELDpassword
MYSQL_UID_FIELDuidnumber
MYSQL_GID_FIELDgidnumber
MYSQL_LOGIN_FIELDusername
MYSQL_HOME_FIELDhomedir
MYSQL_NAME_FIELDname
MYSQL_MAILDIR_FIELDmaildir
MYSQL_QUOTA_FIELDquota
MYSQL_SELECT_CLAUSESELECTusername,password,"",uidnumber,gidnumber,\
CONCAT('/home/domains/',homedir),\
CONCAT('/home/domains/',maildir),\
quota,\
name\
FROMmailbox\
WHEREusername='$(local_part)@$(domain)'

存盘退出后启动courier-authlib:
servicecourier-authlibstart
如一切正常,命令行将返回如下信息:
StartingCourierauthenticationservices:authdaemond

修改authdaemonsocket目录权限

如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证:
chmod755/var/spool/authdaemon/

6.[/b]安装Maildrop[/b][/b]

安装maildrop
rpm-ivhRPMS/maildrop-2.0.4-1ext.i386.rpm
rpm-ivhRPMS/maildrop-man-2.0.4-1ext.i386.rpm


配置master.cf
为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,并改为:
maildropunix-nn--pipe
flags=DRhuuser=vuserargv=maildrop-w90-d${user}@${nexthop}${recipient}${user}${extension}{nexthop}

配置main.cf
由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:
maildrop_destination_recipient_limit=1
最后重新启动postfix即可
[align=left]注意事项:[/align]
[align=left]1.如需重新编译Maildrop软件包,必须先获得其源码rpm包,并且必须先行安装courier-authlib及其devel软件包,否则编译后的maildrop将无法打开authlib支持。[/align]
[align=left]2.maildropRPM包安装时,会自动创建vuser用户及vgroup用户组,专门用于邮件的存储,vuser:vgroup的uid/gid都是1000,这与一般的邮件文档中提及用postfix用户存邮件不一样。因为postfix用户的uid一般都低于500,而Suexec模块编译时对UID/GID的要求是要大于500,因此使用postfix用户不能满足要求。其次,如果用Maildrop作为投递代理(MDA),以postfix身份投递的话,会导致postfixMTA错误。[/align]

四.配置Apache

编辑httpd.conf:
vi/etc/httpd/conf/httpd.conf

在730行左右,屏蔽掉AddDefaultCharset:
#AddDefaultCharsetUTF-8

使apache开机默认启动:
chkconfighttpdon

虚拟主机设置

编辑/etc/httpd/conf/httpd.conf文件,在最后一行加上:
NameVirtualHost*:80
Includeconf/vhost_*.conf


编辑/etc/httpd/conf/vhost_extmail.conf,里面定义虚拟主机的相关内容,包括主目录,以及ExtMail和ExtMan的相关配置,Suexec的设置等。
#VirtualHostforExtMailSolution
<VirtualHost*:80>
ServerNamemail.begindo.cn
DocumentRoot/var/www/extsuite/extmail/html/
ScriptAlias/extmail/cgi//var/www/extsuite/extmail/cgi/
Alias/extmail//var/www/extsuite/extmail/html/
ScriptAlias/extman/cgi//var/www/extsuite/extman/cgi/
Alias/extman//var/www/extsuite/extman/html/
#Suexecconfig
SuexecUserGroupvuservgroup
</VirtualHost>

重新启动apache:
servicehttpdrestart
注意:此时重新启动apache会产生以下警告信息,可不必理会
Startinghttpd:Warning:DocumentRoot[/var/www/extsuite/extmail/html/]doesnotexist

本文出自“才刚上路”博客,请务必保留此出处http://jlsfwq.blog.51cto.com/818700/165612
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: