centos 安装zimbra

zimbra 是重量级的开源企业邮件解决方案,原是商业软件,被vmware 收购后开源,跟很多软件一样,分为社区版和专业版,专业版有一些增值服务和功能加强,需要付费购买。这里讲的是社区版。


之前写了一篇博客,讲述的是zimbra在ubuntu 上的安装,后来帮朋友在centos上安装时出现了问题,于是自己在虚拟机里重新搭建一遍,算是做个笔记。


下载地址 http://www.zimbra.com/downloads/os-downloads.html


前提

1、下载软件

2、最小化安装centos 6 x64 (zimbra 现在不支持i686)

3、/opt至少4G磁盘容量,物理内存推荐大于等于 4G

4、解决dns 的MX 解析问题

这个需要特别讲一下。dns有一个MX记录,我们通常将域名example.com的邮件解析指向mail.example.com。搭建zimbra时,安装程序会检验你的MX记录,如果不匹配则安装失败。

问题是,如果你只是测试安装,或者安装一个内部邮件服务器,那么就无法(正确的)获得外部DNS的MX解析。通常而言,我们需要在本地劫持一个域名,只需要编辑/etc/hosts 即可,但是劫持MX记录会复杂一点。这里使用dnsmasq 。


a、配置主机名和解析

   a1、编辑/etc/sysconfig/network,修改

1
hostname=mail.example.com

  a2、编辑/etc/hosts,添加记录  

1
192.168.1.7   mail.example.com   mail


b、禁用selinux,编辑/etc/sysconfig/selinux,修改

1
SELINUX=disabled


c、关闭sendmail或者postfix,防止25号端口冲突

1
2
3
4
5
chkconfig sendmail off
service sendmail stop
或者
chkconfig postfix off
service postfix stop


重启机器生效,命令: reboot


d、安装配置dnsmasq


  d1、安装dnsmasq

1
yum install dnsmasq bind-utils


  d2、配置dnsmasq

1
2
3
4
5
6
7
8
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
echo "no-resolv" >/etc/dnsmasq.conf
echo "server=8.8.8.8" >>/etc/dnsmasq.conf
echo "domain=example.com" >>/etc/dnsmasq.conf
echo "mx-host=example.com,mail.example.com,5" >>/etc/dnsmasq.conf
echo nameserver 127.0.0.1 >/etc/resolv.conf
chkconfig dnsmasq on
service dnsmasq start


d3、检查dns解析

1
dig example.com MX


安装zimbra

1、安装需要的软件包


2、解压zimbra

1
2
tar zxvf zcs-8.0.3_GA_5664.RHEL6_64.20130305090204.tgz
cd zcs-8.0.3_GA_5664.RHEL6_64.20130305090204


3、运行安装脚本

1
./install

zimbra是给redhat打包的,这里由于是centos,需要加一个参数

1
./install.sh --platform-override


过程中如果提示有缺失的依赖包,直接yum安装即可,比如

1
yum install sysstat libidn libstdc++ sqlite nc sudo


如果顺利,一路回车或者回答yes/no即可,只需要注意几个地方


1
2
3
DNS ERROR resolving MX for mail.example.com
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]


这是因为我们给域名example.com 建邮箱,而不是mail.example.com

因此,选择yes,输入example.com


1
2
3
4
5
6
7
8
9
Main menu
   1) Common Configuration:                                               
   2) zimbra-ldap:                             Enabled                    
   3) zimbra-store:                            Enabled                    
        +Create Admin User:                    yes                        
        +Admin user to create:                 admin@example.com          
******* +Admin Password                        UNSET
。。。。。
Address unconfigured (**) items  (? - help)

这里因为没有设置管理员密码,我们输入3

1
2
3
4
5
6
7
Store configuration
   1) Status:                                  Enabled                    
   2) Create Admin User:                       yes                        
   3) Admin user to create:                    admin@example.com          
** 4) Admin Password                           UNSET  
。。。。。。
Select, or 'r' for previous menu [r]

我们输入4,然后设置一个自己的密码。


接下来,输入r,返回主菜单,

然后输入a,保存并应用配置。(这个过程很久)


启动zimbra

1
2
chkconfig zimbra on
/etc/init.d/zimbra start


webmail在服务器的443端口,管理后台在7071端口,可以通过浏览器访问。


ps:社区版的zimbra 缺少一个备份功能,可以通过一个叫zmbkpose的程序实现。不详述。


update-20151210

如果你使用rsync备份zimbra,会发现文件/opt/zimbra/data/ldap/mdb/db/data.mdb异常之大,使用ls查看会有85899345920,(80G),但du -m 仅仅几兆,rsync备份却会传输80G,这是一个典型的占坑行为,主要是防止ldap无法写入而提前分配空间,解决办法:

这里改为8G

1
2
3
4
su - zimbra
zmlocalconfig -e ldap_db_maxsize=8589934592
zmlocalconfig -e ldap_accesslog_maxsize=8589934592
zmcontrol restart









本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1212210,如需转载请自行联系原作者
上一篇:python设计模式(五):适配器模式——各种类接口的合并


下一篇:python设计模式(五):适配器模式——各种类接口的合并