当前位置:首页 >> 电脑基础知识 >> emos1.6详细安装部署文档

emos1.6详细安装部署文档


本文档基于全新的 centos6.4(软件版本请参考此文档) 首先要注意的事项如下: 1.DNS 已经做好(我做实验时 DNS 已经注册过了,MX 记录已做好) 2.在 yum 的过程中,可能会提示 perl mysql 的版本对应不上,因此请卸载这 2 个包 perl perl-devel 3.我假设这服务器的主机名为 mail.xxoo.com,域名就是 xxoo.com 请注意自行替换自己的域名和主机名,要不然你安装成功后,只能发,不能收的。 安装部署中遇到的问题请见最下面

准备的工作:
1.mx 记录先做好,如果没有做好,那就只能发 不能收 2.centos6.4 的 iso(这里用做本地源,可以使用网络源) 3.EMOS6 的 iso 下载地址:http://mirror.extmail.org/iso/emos/EMOS_1.6_x86_64.iso 4.服务器的时钟统一(否则会导致进入页面的时候一直会有验证码错误)

操作步骤
1.安装 httpd
先把其它的 yum 配置文件都保存备份 for i in `ls /etc/yum.repos.d/*`;do mv $i $i.bak;done 把 centos6.4 的镜像文件拷贝至服务器上(或者使用网络源,这里为了方便,就直接使用了本 地源) 操作步骤如下: mount -o loop -t iso9660 emos/centos6.4.iso /mnt

编辑本地 yum

vim /etc/yum.repos.d/localyum.repo 编辑如下文本内容 [local] name=local baseurl=file:///mnt gpgcheck=0 保存 :x yum clean all yum makecache yum list yum -y install httpd service httpd start 到这一步 centos6.4 镜像已经没有利用价值了 取消挂载 umount /mnt 下载 EMOS1.6 镜像文件到服务器上 mkdir emos cd emos wget http://mirror.extmail.org/iso/emos/EMOS_1.6_x86_64.iso ####创建 vuser 用户 vgoup 组注定 uid 为 1000 gid 为 1000 (切勿自行更改成别的名称或 ID,后面 yum 时会检测是否有这 2 个用户) groupadd -g 1000 vgroup useradd -u 1000 -g 1000 -M vuser

挂载 emos1.6 的镜像 mount -o loop -t iso9660 emos/EMOS_1.6_x86_64.iso /mnt yum clean all yum make cache yum list yum -y install postfix mysql-server

2.配置 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 vim /etc/postfix/main.cf

增加以下内容 ----------------以下就是需要添加的内容--------------------------------------------# hostname mynetworks = 127.0.0.1,192.168.1.0/24 myhostname = mail.xxoo.com ####注意替换成自己的主机名 mydestination = $mynetworks $myhostname

# banner mail_name = Postfix - by test01 smtpd_banner = $myhostname ESMTP $mail_name # response immediately smtpd_error_sleep_time = 0s # Message and return code control message_size_limit = 5242880 mailbox_size_limit = 5242880 show_user_unknown_table_name = no # Queue lifetime control bounce_queue_lifetime = 1d maximal_queue_lifetime = 1d maildrop_destination_recipient_limit=1 ####开启支持一次接收多个收件人 #extmail config here 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: smptd_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, # smtpd_sender_restrictions= permit_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch smtpd_sender_login_maps= mysql:/etc/postfix/mysql_virtual_sender_maps.cf mysql:/etc/postfix/mysql_virtual_alias_maps.cf broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous

---------------------------------添加至此处结束---------------------------------------------:x 保存 chkconfig postfix on

3.配置 courier(POP3 服务)
yum -y install courier-authlib courier-authlib-mysql echo "">/etc/authlib/authmysqlrc vim /etc/authlib/authmysqlrc -------------------添加以下内容------------------------------MYSQL_SERVER localhost

MYSQL_USERNAME extmail MYSQL_PASSWORD extmail MYSQL_SOCKET /var/lib/mysql/mysql.sock MYSQL_PORT 3306 MYSQL_POT 0 MYSQL_DATABASE extmail 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_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber,CONCAT('/home/domains/',homedir),CONCAT('/ho me/domains/',maildir),quota,name FROM mailbox WHERE username = '$(local_part)@$(domain)' --------------------------添加此处结束-----------------------------vim /etc/authlib/authdaemonrc 修改下列项的值 27 行 authmodulelist="authmysql" 34 行 authmodulelistorig="authmysql"

service courier-authlib start chkconfig courier-authlib on chmod 755 /var/spool/authdaemon/ yum -y install maildrop vim /etc/postfix/master.cf 注释掉原来的 maildrop 的配置内容 修改成如下的内容 (有时复制粘贴无效,最好手动输下) maildrop unix n n pipe flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user}

${extension} {nexthop} 注:flags 前面有 2 个空格 maildrop -v

4.配置 httpd
vim /etc/httpd/conf/httpd.conf 在最后添加: NameVirtualHost *:80 Include conf/extmailweb.conf :X 保存 vim /etc/httpd/conf/extmailweb.conf -------------------添加如下内容---------------------<VirtualHost *:80> ServerName mail.xxoo.com ##这里填写自己的主机名 ServerAlias 192.168.100.10 ##这里填写自己的 IP 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/ SuexecUserGroup vuser vgroup </VirtualHost> --------------------添加完毕-------------------------:x 保存 chkconfig httpd on

5.安装 extmail web 界面
yum install extsuite-webmail cd /var/www/extsuite/extmail cp webmail.cf.default webmail.cf vim webmail.cf -----------更改文件配置内容,如若没有,请添加-------------139 行

SYS_MYSQL_USER=extmail SYS_MYSQL_PASS=extmail SYS_MYSQL_DB=extmail ------------------------完毕---------------------------:x 保存 chown -R vuser:vgroup /var/www/extsuite/extmail/cgi yum -y install extsuite-webman chown -R vuser:vgroup /var/www/extsuite/extman/cgi/ mkdir /tmp/extman chown -R vuser:vgroup /tmp/extman service mysqld start chkconfig mysqld on

6.导入数据库数据
####替换数据库中的域名, 如果你不懂该语句, 编辑/var/www/extsuite/extman/docs/init.sql, 把里面的 extmail.org 替换成你自己的域名(我的域名是 xxoo,因此我替换成了 xxoo) sed -i 's#extmail\.org#xxoo\.com#g' /var/www/extsuite/extman/docs/init.sql mysql -uroot -p < /var/www/extsuite/extman/docs/extmail.sql mysql -uroot -p < /var/www/extsuite/extman/docs/init.sql cd /var/www/extsuite/extman/docs cp mysql_virtual_alias_maps.cf /etc/postfix cp mysql_virtual_domains_maps.cf /etc/postfix cp mysql_virtual_mailbox_maps.cf /etc/postfix cp mysql_virtual_sender_maps.cf /etc/postfix mysql 添加 extmail 用户 grant all privileges on extmail.* to 'extmail'@'localhost'; service postfix restart

7.生成邮件存放目录结构
/var/www/extsuite/extman/tools/maildirmake.pl /home/domains/xxoo.com/postmaster/Maildir 这是一行命令

####请自行替换 xxoo.com 为自己的域名 chown -R vuser:vgroup /home/domains/

8.授权申请验证
/usr/sbin/authtest -s login postmaster@xxoo.com extmail ####请自行替换 xxoo.com 为自己的域名 ####会反映出结果 Authentication succeeded

访问 http://mail.xxoo.com/extmail http://mail.xxoo.com/extman service iptables restart service httpd restart

9.配置图形化日志
/usr/local/mailgraph_ext/mailgraph-init start /var/www/extsuite/extman/daemon/cmdserver --daemon echo "/usr/local/mailgraph_ext/mailgraph -init start">>/etc/rc.local echo "/var/www/extsuite/extman/daemon/cmdserver -v -d">>/etc/rc.local crontab -e 0 4 * * * /var/www/extsuite/extman/tools/expireusers.pl -all postmaster@xxoo.com 30 4 * * * /var/www/extsuite/extman/tools/reportusage.pl -all /home/domains postmaster@xxoo.com ####请自行更改 xxoo.com 为你自己的域名

10.配置 smtp 授权认证
rpm -e cyrus-sasl --nodeps rpm -e cyrus-sasl-devel --nodeps yum -y install cyrus-sasl ( 如果此处无法安装,请用 rpm 安装 )

rpm -ivh /mnt/EMOS/cyrus-sasl/RPMS/cyrus-sasl

/mnt/EMOS/cyrus-sasl/RPMS/cyrus-sasl-devel vim /usr/lib64/sasl2/smtpd.conf pwcheck_method:authdaemond log_level:3 mech_list:PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket :x ##保存 ####测试 smtp 认证 perl -e 'use MIME::Base64;print encode_base64("postmaster\@xxoo.com")' 这里的 xxoo.com 请自行替换你的域名 ####出现的内容如下 cG9zdG1hc3RlckBleHRtYWlsLm9yZw== =========>这里是 perl 加密后的帐号 perl -e 'use MIME::Base64;print encode_base64("extmail")' ZXh0bWFpbA== yum -y install telnet telnet localhost 25 ehlo demo.domail.tld auth login cG9zdG1hc3RlckBleHRtYWlsLm9yZw== <=========这里输入前面加密的帐号 ZXh0bWFpbA== <========= 这里输入前面加密的密码 ####最后出现 235 authentication successful 就表明认证成功了 =========>这里是 perl 加密后的密码

11.配置 pop3 认证
####配置 courier-imap yum -y install courier-imap ####修改以下 2 处位置 vim /usr/lib/courier-imap/etc/imapd IMAPDSTART=NO vim /usr/lib/courier-imap/etc/imapd-ssl IMAPDSSLSTART=NO ####重启服务 service courier-imap restart telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Hello there.

user test@xxoo.com << 输入内容 ---------这个帐号 test.xxoo.com 需要在后台页面里面先创建 +OK Password required. pass test << 输入内容 +OK logged in. list << 输入内容 +OK POP3 clients that break here, they violate STD53. . quit << 输入内容 +OK Bye-bye. Connection closed by foreign host.

12.配置内容、病毒过滤
yum install amavisd-new

chown -R amavis.amavis /var/spool/vscan/ /usr/sbin/amavisd -c /etc/amavisd.conf debug service amavisd start chkconfig amavisd on 配置 ClamAV Yum–y install clamav clamd clamav-db vim /var/run/clamv/clamd.sock ##修改对应如下的配置项

# Default: disabled LocalSocket /var/run/clamav/clamd.sock #TCPSocket 3310
gpasswd -a clamav amavis usermod -G amavis clamav chown amavis.amavis /var/spool/vscan chmod 750 /var/spool/vscan chown amavis.amavis /var/spool/vscan/tmp chmod 750 /var/spool/vscan/tmp 启动 clamav 及开机自启

service clamd start freshclam –daemon

修改 amavisd.conf vi /etc/amavisd.conf

$mydomain = 'xxoo.com'; $db_home = "$MYHOME/db"; $lock_file = "$MYHOME/amavisd.lock";
$pid_file = "$MYHOME/amavisd.pid"; # -P

# -L

$myhostname = 'mail.xxoo.com'; @local_domains_maps = qw(.); @mynetworks = qw( 127.0.0.0/8 ); 对本地发出的邮件不进行内容过滤 $policy_bank{'MYNETS'} = { # mail originating from @mynetworks originating => 1, # is true in MYNETS by default, but let's make it explicit os_fingerprint_method => undef, # don't 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; # 当邮件被认为是垃圾邮件时,是 否修改邮件的主题 $remove_existing_x_scanned_headers= 1; # 凡是经过 Amavisd 过滤的邮件, 都会在邮件头中被加入一行邮件头信息 $remove_existing_spam_headers = 1; # 修改投递/拦截的方法: $final_virus_destiny $final_banned_destiny $final_spam_destiny $final_bad_header_destiny

= = = =

D_DISCARD; D_DISCARD; D_PASS; D_PASS;

# 配置 Amavisd 与 Clamav 结合 @av_scanners = (

['ClamAV-clamd', \&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 常用参数说明:

$max_servers = 10; $sa_spam_subject_tag = '[SPAM] '; $mydomain = 'mail.extmail.org'; $myhostname = 'mail.extmail.org'; @local_domains_maps = qw(.); $sa_tag2_level_deflt = 5.0; [SPAM] 标记 $sa_kill_level_deflt = 5.0; 除 $final_virus_destiny: $final_banned_destiny: $final_spam_destiny: 时的动作 $final_bad_header_destiny:

设置最大可使用的进程数 加 [SPAM] 标记 设置域名 设置主机名 对所有的域检查 超过这个分数,允许在邮件标题加入 超过这个分数,直接將信件备份后删 检测到病毒时的动作 检测到受禁止的内容时的动作 检测到垃圾邮件、广告邮件(spam) 检测到不良信件时的动作

默认有以下几种动作: D_PASS: 无论信件是否有问题,都会将信件发 给收件人 D_DISCARD: 信件将被丢弃,并且不会告知收件人 及发件人 D_BOUNCE: 信件不会发送给收件人,但会通知发 件人邮件没有被投递 D_REJECT: 邮件不会被投递给收件人,但会通知 发件人邮件被拒绝 --------------------------------------------------------------------配置 Postfix 集成 amavisd-new vi /etc/postfix/aliases

virusalert: spam.police:

root root

newaliases service amavisd restart

编辑 master.cf 文件: vi /etc/postfix/master.cf

smtp-amavis unix n -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=10

3

smtp

127.0.0.1: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 smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -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_c hecks

vi /etc/postfix/main.cf 增加如下内容:

# Content-Filter content_filter = smtp-amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings
service postfix restart service amavisd restart

进入管理控制台主页 http://mail.xxoo.com/extman 登录的帐号是 root@xxoo.com <===========这里的 xxoo.com 请自行修改成你的域名 密码是 extmail*123* <===========这里的密码都是统一的,如需更改请进到控制台后再更改

重要的核心文件 邮件参数配置文件 /etc/postfix/main.cf extmail 网页的配置文件 /var/www/extsuite/extmail/webmail.cf extman 管理控制台的配置文件/var/www/extsuite/extman/webman.cf 域以及用户邮件的存放位置 /home/domains extmail 数据库表 alias 别名 domain 域 domain_manager 域管理员 mailbox 邮箱 manager 管理员

13.https 配置( ssl 证书由第三方申请)
没有买证书的同学 可以试着去下面的网址 申请个免费的证书,3 年有效期 https://buy.wosign.com/ProductList.html 申请的时候 假设我的主机名是 mail.xxoo.com 申请的域名也应该是 mail.xxoo.com 然后会得到以下的证书

for Other Server smtp 证书 里面文件如下 1_cross_Intermediate.crt

2_issuer_Intermediate.crt 3_user_mail.xxoo.com.crt 4_user_mail.xxoo.com.key root.crt 红色的是需要使用到的证书文件 for Apache https 的证书 1_root_bundle.crt 2_mail.xxoo.com.crt 3_mail.xxoo.com.key 红色的是需要使用到的证书文件

安装 mod_ssl 卸载 emos 源,配置第三方 centos6.4 的源(可以采用阿里云的源) yum -y install mod_ssl

1_root_bundle.crt 2_mail.xxoo.com.crt 3_mail.xxoo.com.key 把这 3 文件复制到/etc/postfix/目录下 备份源 ssl.conf 文件 cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak vim /etc/http/conf/extmailweb.conf 清空原有内容,添加以下内容 RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R] SuexecUserGroup vuser vgroup :x 保存退出

vim /etc/httpd/conf.d/ssl.conf

105 行 SSLCertificateFile /etc/postfix/2_mail.xxoo.com.crt 112 行 SSLCertificateKeyFile /etc/postfix/3_mail.xxoo.com.key 121 行 SSLCertificateChainFile /etc/postfix/1_root_bundle.crt 倒数第二行添加 也就是在</VirtualHost>之前添加 ServerAlias 192.168.100.10 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/

:x 保存退出

重启 httpd 然后可以用 https://mail.xxoo.com/extmail 登陆

14.smtp ssl 配置
mkdir /etc/postfix/.certs 把 3_user_mail.xxoo.com.crt 4_user_mail.xxoo.com.key root.crt 这 3 个文件复制到/etc/postfix/.certs 目录下 vim /etc/postfix/main.cf 末尾添加如下 smtpd_use_tls = yes smtpd_tls_key_file = /etc/postfix/.certs/4_user_mail.xxoo.com.key smtpd_tls_cert_file = /etc/postfix/.certs/3_user_mail.xxoo.com.crt smtpd_tls_CAfile = /etc/postfix/.certs/root.crt smtpd_tls_received_header = yes smtp_use_tls = yes

smtp_tls_key_file = /etc/postfix/.certs/4_user_mail.xxoo.com.key smtp_tls_cert_file = /etc/postfix/.certs/3_user_mail.xxoo.com.crt smtp_tls_CAfile = /etc/postfix/.certs/root.crt :x 保存退出

vim /etc/postfix/master.cf 末尾添加如下 smtps inet n n -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes 注:-o 前面有 2 个空格 smtpd

保存退出

重启 postfix 服务 然后用 foxmail 验证 ssl 发送接收邮件

15.需要向外开放的端口如下
25 110 80 443 465 995 smtp 端口 pop3 端口 http 端口 https 端口 smtp ssl 端口 pop3 ssl 端口 必须开放 否则收不到外部邮件 使用了 ssl 后 可以关闭 使用 ssl 后 可以关闭。 关闭后, 无法从 http 自动跳转到 https 使用了 ssl 后 必须开放此端口

16.修改 logo,以及页面上的字见如下链接 http://wiki.extmail.org/extmail_template_intro

-----------------------------------------------------------------------------------------------------------------

安装部署中遇到的问题收集

1.yum 中可能会报错 仔细看可能是 perl 也可能是 mysql 强制卸载掉这些包然后挂载 emos1.6 的包 yum 安装就行

2.登录管理控制台,发现 connection refused 手动执行下面 2 条命令查看是否解决了问题 然后把这 2 个命令添加至/etc/rc.local /usr/local/mailgraph_ext/mailgraph-init start /var/www/extsuite/extman/daemon/cmdserver --daemon 3.登录管理控制台,或 mail 主页发现 permit deny /tmp/........ 进入系统发现该目录没有创建,手动创建,然后给予权限就行了

4.邮件无法发送 首先查看/var/log/maillog 看报什么错误 一般是 DNS 没有设置,或者 MX 记录做了没。如果是公网,貌似需要备案 MX 5.邮件无法接收 首先查看/var/log/maillog 如果是报 unknow user 错误请检查 mysql 数据库里面是否有该用户 查看 /home/domain/xxoo/ 这个目录下是否有对应的用户目录 查看 mysql 数据库的域名是否是 xxoo 对应(默认的是 extmail.org 域) ,如果不对应,最好删 除数据库重新导入。 检查这个配置文件 vim /etc/postfix/master.cf maildrop unix n n pipe flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop} 仔细看 flags 前面有 2 个空格

6.http 日志中有如下错误 Prototype mismatch: sub Encode::IMAPUTF7::decode ($ $;$) vs none at /var/www/extsuite/extman/libs/Encode/IMAPUTF7.pm line 76. 修改该文件第 6 行 vim /var/www/extsuite/extman/libs/Encode/IMAPUTF7.pm

改成 no warnings;


赞助商链接
更多相关文档:

EMOS安装步骤图解

暂无评价|0人阅读|0次下载 | 举报文档 EMOS安装步骤图解_互联网_IT/计算机_专业...emos1.5安装说明 38页 免费 邮件服务器-EMOS部署详细... 21页 2下载券 ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com