九、配置webmail-extmail
1、安装ExtMail
# yum install extsuite-webmail 2、编辑webmail.cf
# cd /var/www/extsuite/extmail # cp webmail.cf.default webmail.cf # vi webmail.cf
主要变动的内容如下: SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail SYS_MYSQL_DB = extmail
更新cgi目录权限由于SuEXEC的需要,必须将extmail的cgi目录修改成vuser:vgroup权限: # chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/
十、配置管理后台-extman 1、yum安装ExtMan
# yum –y install extsuite-webman
更新cgi目录权限由于SuEXEC的需要,必须将extman的cgi目录修改成vuser:vgroup权限: # chown -R vuser:vgroup /var/www/extsuite/extman/cgi/ 链接基本库到Extmail # mkdir /tmp/extman
# chown -R vuser:vgroup /tmp/extman
2、数据库初始化
启动Mysql
# service mysqld start # chkconfig mysqld on
如果不能执行以上命令说明你的mysql数据库没有安装好,请转到前面并查看提示信息处理 导入mysql数据库结构及初始化数据,root密码默认为空 # mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql # mysql -u root -p < /var/www/extsuite/extman/docs/init.sql 注意事项:passwd: 直接回车即可
上述导入初始化SQL时,默认的uidnumber/gidnumber都是1000,这和vuser:vgroup 的uid/gid一致,是因为maildrop投递时会从数据库里取uidnumber/gidnumber,而在master.cf里已经
定义好了投递时的运行身份(vuser:vgroup),所以这两个字段的内容必须为1000,否则将出现投递错误,
例如报0×06等错误。
3、设置虚拟域和虚拟用户的配置文件 # 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/ 4、配置main.cf:
# vi /etc/postfix/main.cf
增加以下内容: # 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:
5、重启postfix :
#service postfix restart
6、测试authlib
建立刚才导入mysql的postmaster@extmail.org帐户的Maildir,请输入如下命令: # cd /var/www/extsuite/extman/tools
# ./maildirmake.pl /home/domains/extmail.org/postmaster/Maildir # chown -R vuser:vgroup /home/domains/extmail.org
再命令行下执行:
# /usr/sbin/authtest -s login postmaster@extmail.org extmail Authentication succeeded.
Authenticated: postmaster@extmail.org (uid 1000, gid 1000) Home Directory: /home/domains/extmail.org/postmaster
Maildir: /home/domains/extmail.org/postmaster/Maildir/ Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0 Cleartext Password: extmail
这样表明ExtMan的正确安装,数据库也正确导入,courier-authlib能正确连接到mysql数据库
最后访问http://mail.extmail.org/extmail/,如无意外,将看到webmail的登陆页,不过此时还没有加正式的用户,所以不能登陆,包括postmaster@extmail.org也不行。必须要登陆
测试:并增加一个新帐户
http://192.168.18.101/extmail iptables要开放80 port 25port 110port 重启iptables vi /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 --dport 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
重启iptables
service iptables restart service httpd restart
到http://192.168.18.101/extman/里增加一个新帐户才能登陆。
ExtMan的默认超级管理员帐户:root@extmail.org,初始密码:extmail*123*,登陆成功后,建议将密码修改,以确保安全。 出现:
查看操作系统时间的问题!
7、配置图形化日志 启动mailgraph_ext
# /usr/local/mailgraph_ext/mailgraph-init start 启动cmdserver(在后台显示系统信息)
# /var/www/extsuite/extman/daemon/cmdserver --daemon 加入开机自启动:
# echo “/usr/local/mailgraph_ext/mailgraph-init start” >> /etc/rc.d/rc.local
# echo “/var/www/extsuite/extman/daemon/cmdserver -v -d” >> /etc/rc.d/rc.local 使用方法:等待大约15分钟左右,如果邮件系统有一定的流量,即可登陆到extman里,点“图形日志”即可看到图形化的日志。具体每天,周,月,年的则点击相应的图片进入即可。 添加定时任务:
shell
# crontab -e 添加以下内容:
0 4 * * * /var/www/extsuite/extman/tools/expireusers.pl -all postmaster@extmail.org
30 4 * * * /var/www/extsuite/extman/tools/reportusage.pl -all /home/domains postmaster@extmail.org
十一、配置cyrus-sasl
RHEL-6.x/CentOS-6.x的cyrus-sasl默认没有打开authdaemon的支持,为了使用集中认证的authlib,必须打开这个支持。为此我们必须删除系统的cyrus-sasl软件包,替换成打开了
authdaemon支持的sasl软件包。 1、安装cyrus-sasl
删除系统的cyrus-sasl: # rpm -e cyrus-sasl --nodeps
安装新的支持authdaemon的软件包 # yum –y install cyrus-sasl
2、配置main.cf文件
Postfix的SMTP认证需要透过Cyrus-SASL,连接到authdaemon获取认证信息。 编辑main.cf
# vi /etc/postfix/main.cf 增加如下内容:
# smtpd related config
smtpd_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 config 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
# SMTP AUTH config here
broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous
3、编辑smtpd.conf文件 # vi /usr/lib64/sasl2/smtpd.conf
确保其内容为:
pwcheck_method: authdaemond log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
重启postfix
#service postfix restart 4、测试SMTP认证
通过以下命令获得postmaster@extmail.org的用户名及密码的BASE64编码: # perl -e ‘use MIME::Base64; print encode_base64(\@extmail.org\ 内容如下:
cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
# perl -e ‘use MIME::Base64; print encode_base64(\ 内容如下:
ZXh0bWFpbA== 然后本机测试:
# telnet localhost 25
yum –y install telnet
其过程如下:
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'.