CentOS安装EMOS1.6邮件系统_第1页
CentOS安装EMOS1.6邮件系统_第2页
CentOS安装EMOS1.6邮件系统_第3页
CentOS安装EMOS1.6邮件系统_第4页
CentOS安装EMOS1.6邮件系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、wordword40/40word安装前的准备工作关闭selinux1、临时关闭不用重启机器:#setenforce 0 #设置SELinux 成为permissive模式 #setenforce 1 设置SELinux 成为enforcing模式2、修改配置文件需要重启机器:vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled重启机器即可3、查看selinux状态:#/usr/sbin/sestatus -v #如果SELinux status参数为enabled即为开启状态SELinux status: enabledyum先

2、安装好以下组件:#yum -y install createrepo 制作yum仓库文件工具#yum -y install d#yum -y install mysql mysql-server mysql-devel 安装mysql数据库支持Extmail#groupadd -g 1000 vgroup 配置好虚拟组和用户#useradd -u 1000 -g 1000 -M vuser# su - root# mkdir /path# cd /path#wget HYPERLINK 41/EMOS_1.6_x86_64.iso t _blank 制作本地yum仓库#

3、 mkdir /mnt/EMOS# mount -o loop /path/EMOS_1.6_x86_64.iso /mnt/EMOS 装载ios镜像文件至EMOS目录# cd /mnt# createrepo . 创建yum源配置文件参加以下内容EMOSname=EMOSbaseurl=file:/mnt/enabled=1gpgcheck=0# yum clean all# yum list配置MTApostfix检查postfix CenOS6.4默认安装了postfix,并且可以支持mysql了,所以不用再安装了#rpm -qa |grep postfix配置postfix #修改ma

4、in.cf 配置文件增加以下内容# hostnamemydestination = $mynetworks $myhostname# bannersmtpd_banner = $myhostname ESMTP $mail_name# response immediatelysmtpd_error_sleep_time = 0s# Message and return code controlmessage_size_limit = 5242880mailbox_size_limit = 5242880show_user_unknown_table_name = no# Queue lifet

5、ime controlbounce_queue_lifetime = 1dmaximal_queue_lifetime = 1d设置postfix开机自启# chkconfig postfix on配置courier-authlib安装courier-authlib# yum install courier-authlib courier-authlib-mysql修改authlib 配置文件# rm -f /etc/authlib/authmysqlrc# vi /etc/authlib/authmysqlrcMYSQL_SERVER localhostMYSQL_USERNAME extm

6、ailMYSQL_PASSWORD extmailMYSQL_PORT 3306MYSQL_OPT 0MYSQL_DATABASE extmailMYSQL_USER_TABLE mailboxMYSQL_CRYPT_PWFIELD passwordMYSQL_UID_FIELD uidnumberMYSQL_GID_FIELD gidnumberMYSQL_LOGIN_FIELD usernameMYSQL_HOME_FIELD homedirMYSQL_NAME_FIELD nameMYSQL_MAILDIR_FIELD maildirMYSQL_QUOTA_FIELD quotaMYSQ

7、L_SELECT_CLAUSE SELECT username,password,uidnumber,gidnumber, CONCAT(/home/domains/,homedir), CONCAT(/home/domains/,maildir), quota, name FROM mailbox WHERE username = $(local_part)$(domain)修改authmysqlrc 的权限和拥有者# chown daemon.daemon /etc/authlib/authmysqlrc# chmod 660 /etc/authlib/authmysqlrc修改authd

8、aemonrc# vi /etc/authlib/authdaemonrcauthmodulelist=authmysqlauthmodulelistorig=authmysql启动courier-authlib# service courier-authlib startStarting Courier authentication services: authdaemond修改authdaemon socket 目录权限,否如此以下面的测试SMTP认证就不能通过# chmod 755 /var/spool/authdaemon/配置maildrop安装maildrop# yum insta

9、ll maildrop配置maildrop配置master.cf 为了使Postfix支持Maildrop,必须修改文件,注释掉原来的maildrop的配置内容,并改为:# vi maildrop unix - n n - - pipe flags=DRhu user=vuser argv=maildrop -w 90 -d $user$nexthop $recipient $user $extension nexthop注意:flags前面有“两个空格配置main.cf 由于maildrop不支持一次接收多个收件人,因此必须在里增加如下参数:# vi maildrop_destination

10、_recipient_limit = 1测试maildrop对authlib支持#maildrop vmaildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc. GDBM extensions enabled. Courier Authentication Library extension enabled. Maildir quota extension enabled. This program is distributed under the terms of the GNU General Public License. See

11、COPYING for additional information.须知事项: 1、如需重新编译Maildrop软件包,必须先获得其源码rpm包,并且必须先行安装courier-authlib与其devel软件包,否如此编译后的maildrop将无法打开authlib支持。 2、maildrop RPM包安装时,会自动创建vuser用户与vgroup用户组,专门用于的存储,vuser:vgroup的uid/gid都是1000,这与一般的文档中提与用postfix用户存不一样。因为postfix用户的uid一般都低于500,而Suexec模块编译时对UID/GID的要求是要大于500,因此使用

12、postfix用户不能满足要求。其次,如果用Maildrop作为投递代理MDA,以postfix身份投递的话,会导致postfix MTA错误。配置apache修改apache配置文件# 在最后一行加上 NameVirtualHost *:80 Include conf/vhost_*.conf新建# VirtualHost for ExtMail SolutionServerName DocumentRoot /var/extsuite/extmail/html/ScriptAlias /extmail/cgi/ /var/extsuite/extmail/cgi/Alias /extmai

13、l /var/extsuite/extmail/html/ScriptAlias /extman/cgi/ /var/extsuite/extman/cgi/Alias /extman /var/extsuite/extman/html/# Suexec configSuexecUserGroup vuser vgroup 设置apache开机启动# chkconfig d on配置 extmail+extman安装extmail 和extman # yum install extsuite-webmail extsuite-webman配置extmail 和extman# 修改以下两项SYS

14、_MYSQL_USER = extmailSYS_MYSQL_PASS = extmailSYS_MYSQL_DB = extmail更新cgi目录权限 由于SuEXEC的需要,必须将cgi目录修改成vuser:vgroup权限:# chown -R vuser:vgroup /var/extsuite/extmail/cgi/# chown -R vuser:vgroup /var/extsuite/extman/cgi/根本库到Extmail# mkdir /tmp/extman# chown -R vuser:vgroup /tmp/extman/由于RedHat发行版中包含了一个叫tm

15、pwatch的工具,该工具会定期扫描/tmp/下的文件,如果这些文件很久都没被使用,将被删除,因此如果后台长期不使用,/tmp/extman目录有可能被tmpwatch删除,所以要么定期登陆后台,要么修改 webman.cf将临时目录修改到另一个地方。此处暂以/tmp/extman默认值为例。配置数据库数据库初始化# service mysqld start设置开机启动# chkconfig mysqld on导入数据且初始化默认的mysql都没有密码的,所以以下命令都不需要认证密码把里面所有 的改为 此处可更改以后使用的域名,安装时可以不修改。以上语句不行的话使用以下

16、语句:须知事项:passwd: 直接回车即可上述导入初始化SQL时,默认的uidnumber/gidnumber都是1000,这和vuser:vgroup 的uid/gid一致,是因为maildrop投递时会从数据库里取uidnumber/gidnumber,而在master.cf里已经定义好了投递时的运行身份vuser:vgroup,所以这两个字段的内容必须为1000,否如此将出现投递错误,例如报006等错误。设置虚拟域和虚拟用户的配置文件# cd /var/extsuite/extman/docs# cp /var/extsuite/extman/docs/mysql_virtual_al

17、ias_maps.cf /etc/postfix/# cp /var/extsuite/extman/docs/mysql_virtual_domains_maps.cf /etc/postfix/# cp /var/extsuite/extman/docs/mysql_virtual_mailbox_maps.cf /etc/postfix/# cp /var/extsuite/extman/docs/mysql_virtual_sender_maps.cf /etc/postfix/配置main.cf:增加以下内容# extmail config herevirtual_transport

18、 = maildrop:重启postfix # service postfix restart测试authlib建立刚刚导入mysql的某某的Maildir,请输入如下命令:# cd /var/extsuite/extman/tools # /usr/sbin/authtest -s login extmail如输出以下结果证明extman 正确安装,数据库也正确导入,courier-authlib 正确连接mysql数据库Authentication succeeded. Authenticated: po

19、 (uid 1000, gid 1000) Home Directory: /home/domains/postmaster Maildir: /home/domains/postmaster/Maildir/ Quota: 104857600SEncrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0Cleartext Password: extmail Options: (none)注:如有问题可尝试增加用户目录的权限:# chmod 755 /home/domains最后访问mail.extmail.

20、org/extmail/,如无意外,将看到webmail的登陆页,不过此时还没有加正式的用户,所以不能登陆,包括postmaster也不行。必须要登陆测试:并增加一个新某某 HYPERLINK 01/extmail iptables要开放80 port 25port 110port 重启iptablesvi /etc/sysconfig/iptables-A INPUT -m state -state NEW -m tcp -p tcp -dport 22 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dpor

21、t 25 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 110 -j ACCEPT重启iptablesservice iptables restartservice d restart到 HYPERLINK 01/extman/ 里增加一个新某某才能登陆。ExtMan的默认超级管理员某某:root,初始密码:extmail*123*,登陆成功后,建议将密码修改,以确保安全。出现

22、:查看操作系统时间的问题!配置图形化日志启动mailgraph_ext# /usr/local/mailgraph_ext/mailgraph-init start启动cmdserver(在后台显示系统信息) # /var/extsuite/extman/daemon/cmdserver -daemon 参加开机自启动添加定时任务:shell# crontab -e添加以下内容:30 4 * * * /var/extsuite/extman/tools/reportusage.pl -all /home/domains postmaster可以加,也可不加注:Extmail url: HYPE

23、RLINK ip/extmail ip/extmailExtman url: HYPERLINK ip/extman ip/extmanExtman 管理员用户名:root管理员默认密码: extmail*123*Extmail 登录时,域名项应改为配置cyrus-sasl删除系统自带的cyrus-sasl# rpm -e -nodeps cyrus-sasl安装EMOS1.6里的cyrus-sasl# yum install cyrus-sasl注:此处如果安装有问题的话,请配置yum源,至163上下载包;修改postfix 配置文件# 增加以下内容# smtpd related confi

24、gsmtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname,# SMTP sender login matching configsmtpd_sender_restrictions = permi

25、t_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch# SMTP AUTH config herebroken_sasl_auth_clients = yessmtpd_sasl_auth_enable = yessmtpd_sasl_local_domain = $myhostnamesmtpd_sasl_security_options = noanonymous配置建立目录:#

26、mkdir /usr/lib/sasl2/# 32位系统使用此条命令64位系统使用此条命令清空后改为以下内容pwcheck_method: authdaemondlog_level: 3mech_list: PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket重启postfix# service postfix restart测试SMTP认证通过以下命令获得的用户名与密码的BASE64编码:# perl -e use MIME:Base64; print encode_base64()结果:

27、cG9zdG1hc3RlckBleHRtYWlsLm9yZw=# perl -e use MIME:Base64; print encode_base64(extmail)结果:ZXh0bWFpbA=开始测试# telnet localhost 25Trying .Connected to localhost.localdomain ().Escape character is .ehlo demo.domain.tld 输入内容250-PIPELINING250-SIZE 5242880250-VRFY250-ETRN250-AUTH LOGIN PLAI

28、N250-AUTH=LOGIN PLAIN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNauth login 输入内容334 VXNlcm5hbWU6cG9zdG1hc3RlckBleHRtYWlsLm9yZw= 输入内容334 UGFzc3dvcmQ6ZXh0bWFpbA= 输入内容235 2.7.0 Authentication successful #显示这个说明认证成功Quit 输入内容221 2.0.0 ByeConnection closed by foreign host.注:如果认证出问题报:535 5.7.8 Error: authent

29、ication failed: generic failure错误authdaemond目录下文件socket权限是可执行:chmod 777 /var/spool/authdaemon/socket2.更改domains目录权限chown vuser.vgroup /home/domains配置courier-imap默认的courier-authlib与courier-imap都会增加系统自启动设置,因此下一次服务器启动将自动启动相应的authlib与POP3服务# yum install courier-imap由于Courier-imap的IMAP目录是按UTF-7编码的,ExtMai

30、l目前还没有正式支持IMAP目录,因此需要屏蔽IMAP,只提供pop3服务。而就目前的使用情况来看,IMAP使用的非常少,绝大局部OutLook/Foxmail用户都习惯使用POP3而非IMAP。# vi /usr/lib/courier-imap/etc/imapd修改以下内容 IMAPDSTART=NO# vi /usr/lib/courier-imap/etc/imapd-ssl修改以下内容 IMAPDSSLSTART=NO测试pop3启动courier-imap ,测试pop3(先登录extman 新建一个用户,如用户名为,密码为111111)# service courier-ima

31、p start# telnet localhost 110Trying .Connected to localhost.localdomain ().Escape character is .+OK Hello there.user 输入内容+OK Password required.pass 111111 输入内容+OK logged in.list 输入内容+OK POP3 clients that break here, they violate STD53.Quit 1, # is true in MYNETS by default, but let

32、s make it explicit os_fingerprint_method = undef, # dont query p0f for internal clients allow_disclaimers = 1, # enables disclaimer insertion if available bypass_spam_checks_maps = 1, bypass_banned_checks_maps = 1, bypass_header_checks_maps = 1, ; $sa_spam_modifies_subj = 0; # 当被认为是垃圾时,是否修改的主题$remov

33、e_existing_x_scanned_headers= 1; # 但凡经过 Amavisd 过滤的,都会在头中被参加一行头信息$remove_existing_spam_headers = 1; # 修改投递/拦截的方法: $final_virus_destiny = D_DISCARD; $final_banned_destiny = D_DISCARD; $final_spam_destiny = D_PASS; $final_bad_header_destiny = D_PASS; # 配置Amavisd与Clamav结合av_scanners = ( ClamAV-clamd, &

34、ask_daemon, CONTSCAN n, /var/run/clamav/clamd.sock, qr/bOK$/, qr/bFOUND$/, qr/.*?: (?!Infected Archive)(.*) FOUND$/ , ); av_scanners_backup = ( ClamAV-clamscan, clamscan, -stdout -no-summary -r -tempdir=$TEMPBASE , 0, qr/:.*sFOUND$/, qr/.*?: (?!Infected Archive)(.*) FOUND$/ , ); amavisd.conf常用参数说明:$

35、max_servers = 10; 设置最大可使用的进程数$sa_spam_subject_tag = SPAM ; 加 SPAM 标记$mydomain = ; 设置域名$myhostname = ; 设置主机名local_domains_maps = qw(.); 对所有的域检查$sa_tag2_level_deflt = 5.0; 超过这个分数,允许在标题参加SPAM 标记$sa_kill_level_deflt = 5.0; 超过这个分数,直接將信件备份后删除$final_virus_destiny: 检测到病毒时的动作

36、$final_banned_destiny: 检测到受禁止的内容时的动作 $final_spam_destiny: 检测到垃圾、广告spam时的动作 $final_bad_header_destiny: 检测到不良信件时的动作 默认有以下几种动作: D_PASS: 无论信件是否有问题,都会将信件发给收件人 D_DISCARD: 信件将被丢弃,并且不会告知收件人与发件人 D_BOUNCE: 信件不会发送给收件人,但会通知发件人没有被投递 D_REJECT: 不会被投递给收件人,但会通知发件人被拒绝 须知事项: 上述$mydomain参数与$myhostname参数一样,主要是为了方便之后的病毒/

37、垃圾汇报发给系统管理员时,能投递到本地的别名里,再转交到虚拟域的特定用户。5、配置Postfix 集成amavisd-new增加别名# vi /etc/postfix/aliases增加如下信息,注意:默认的aliases数据库里已有一条virusalert的别名,请删除,再输入下面的别名记录,并确保所有记录都是唯一的:virusalert: root spam.police: root保存并执行newaliases命令生成新的别名数据库,重新启动amavisd:# newaliases # service amavisd restart编辑master.cf文件:增加如下内容:smtp-am

38、avis unix - - n - 3 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_mand=yes -o disable_dns_lookups=yes -o max_use=10 :10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smt

39、pd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o receive_override_options=no_unknown_recipient_checks,no_header_body

40、_checks编辑main.cf文件:增加如下内容:# Content-Filter content_filter = smtp-amavis::10024 receive_override_options = no_address_mappings注意:receive_override_options 这里必须增加,禁止地址展开/影射,否如此如果遇到别名的时候会引起冗余的产生。 重启postfix :# service postfix restart重新启动amavisd:# service amavisd restart 6、测试Clamav # telnet local

41、host 25其过程如下:Trying . Connected to localhost.localdomain (). Escape character is . mail from: 输入内容250 2.1.0 Ok rcpt to: 输入内容250 2.1.5 Ok data 输入内容354 End data with . X5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 输入内容.250 2.0.0 Ok: queued as BC24E85260 quit , quara

42、ntine: virus-mI6vbjkWZ2Tz, Message-ID: , mail_id: mI6vbjkWZ2Tz, Hits: -, size: 1757, 474 ms如果看到类似这样的日志,明确Clamav+Amavisd-new工作正常。配置spam_locker 1、安装Spam_Locker # yum install extsuite-slockd请确认/etc/resolv.conf里的dns服务器是离你的服务器最近,速度最快的dns server,slockd很依赖dns的好坏,因此给系统配置一个快速的dns能大幅度提高处理速度。以下给出 一个配置仅供参考:shel

43、l增加以下内容:nameserver #也可以指定自己内部的DNS,如果在内部网络搭建 上述dns服务器是某某电信的DNS服务器,对于非某某的朋友,请改为离你最近的DNS服务器IP,如果可能的话,请配置一个简单的bind,成为本地的dns cache server,可以获得最高性 能。这里略过这一步骤,但您必须确保dns的配置是正确并且可靠的,否如此slockd将不能工作!2、测试slockd启动slockd shell # /usr/local/slockd/slockd-init start此时slockd将启动,并进入非daemon方式的监听模式,承受来自10030端口的

44、请求,命令行下将显示如下调试信息:Starting spam locker daemon: slockd starting child 2908 starting child 2909打开另一个ssh/终端窗口:# cd /usr/local/slockd/tools # perl policy_sig -h localhost -p 10030 -helo FOOBAR -ip -from testfoo. -to testbar.此时,程序应该返回如下错误信息:这表示slockd初步的正常工作了。设置slockd开机自启动 3、配置Postfix slockd调试正

45、常后,必须配置postfix以使其打开对slockd的支持。将 check_policy_service inet::10030 这一行记录增加到smtpd_recipient_restrictions 里,例如:smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, rej

46、ect_unauth_pipelining, reject_invalid_hostname, check_policy_service inet::10030重新启动postfix以使配置生效# service postfix restart须知事项: 上述配置是将slockd的查询放到最后,这也是进一步提高资源利用律的方法,因为有局部功能postfix已实现了,所以就先由postfix检测,如果检测不到再由slockd完成。配置dspam 1、安装dspam Dspam的配置主要参考Dspam+Amavis-new+SA-Clamav for EMOS # yum y i

47、nstall dspam-mysql 2、导入 DSPAM 训练库# cd /root/ # rm -rf /var/lib/mysql/dspam/ (备注:如果没有dspam的库,可以不用执行) # mysql -u root -p -e “create database dspam# mysql -u root -p -e “grant all on dspam.* to dspamlocalhost identified by dspam DSPAM的token数据库的定时清理:# crontab -e参加以下内容: 0 0 * * * /usr/bin/dspam_logrotate

48、 -a 30 -d /var/spool/dspam/data 3、配置 dspam.conf 文件变动内容如下: DeliveryPort 10024 DeliveryIdent localhost DeliveryProto SMTP Trust extmail Preference signatureLocation=headers # message or headers Preference showFactors=off MySQLUIDInSignature on MySQLUser dspam MySQLPass dspam MySQLDb dspam MySQLpress t

49、rue MySQLConnectionCache 10 ServerPort 10028 ServerQueueSize 32 ServerMode auto ServerPass.Relay1 secret ServerParameters -user extmail -deliver=innocent,spam ServerIdent localhost.localdomain ClientPort 10028 ClientIdent secretRelay1 3、启动 dspam 进程# chkconfig dspamd on # service dspamd start查看dspam启

50、动进程# ps aux |grep dspam显示以下内容:dspam 18407 0.0 0.5 5452 1344 pts/0 S 19:16 0:00 /usr/sbin/dspamd -daemon root 18412 0.0 0.2 5140 668 pts/0 S+ 19:17 0:00 grep dspamd增加以下内容:header_checks = regexp:/etc/postfix/dspam_header_checks设置标题过滤管理 以防止重复X-DSPAM-Signature标题,可以防止签名被报道为垃圾。这发生在当你从一个已经运行Dspam的服务器收到,或被用

51、于通过伪造的、滥发来阻止 你训练数据库, # vi /etc/postfix/dspam_header_checks增加以下内容: /(X-DSPAM-.*)/ IGNORE /(X-Spam-.*)/ IGNORE重启postfix :# service postfix restart 5、编辑 amavisd.conf 文件shell增加以下内容:$dspam = /usr/bin/dspam; spam_scanners = ( SpamAssassin, Amavis:SpamControl:SpamAssassin, DSPAM, Amavis:SpamControl:ExtProg, $dspam, qw(-client -stdout -deliver=spam,innocent

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论