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,修改
hostname=mail.example.com
a2、编辑/etc/hosts,添加记录
192.168.1.7 mail.example.com mail
b、禁用selinux,编辑/etc/sysconfig/selinux,修改
SELINUX=disabled
c、关闭sendmail或者postfix,防止25号端口冲突
chkconfig sendmail off service sendmail stop 或者 chkconfig postfix off service postfix stop
重启机器生效,命令: reboot
d、安装配置dnsmasq
d1、安装dnsmasq
yum install dnsmasq bind-utils
d2、配置dnsmasq
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解析
dig example.com MX
安装zimbra
1、安装需要的软件包
2、解压zimbra
tar zxvf zcs-8.0.3_GA_5664.RHEL6_64.20130305090204.tgz cd zcs-8.0.3_GA_5664.RHEL6_64.20130305090204
3、运行安装脚本
./install
zimbra是给redhat打包的,这里由于是centos,需要加一个参数
./install.sh --platform-override
过程中如果提示有缺失的依赖包,直接yum安装即可,比如
yum install sysstat libidn libstdc++ sqlite nc sudo
如果顺利,一路回车或者回答yes/no即可,只需要注意几个地方
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
Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: [email protected] ******* +Admin Password UNSET 。。。。。 Address unconfigured (**) items (? - help)
这里因为没有设置管理员密码,我们输入3
Store configuration 1) Status: Enabled 2) Create Admin User: yes 3) Admin user to create: [email protected] ** 4) Admin Password UNSET 。。。。。。 Select, or 'r' for previous menu [r]
我们输入4,然后设置一个自己的密码。
接下来,输入r,返回主菜单,
然后输入a,保存并应用配置。(这个过程很久)
启动zimbra
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
su - zimbra zmlocalconfig -e ldap_db_maxsize=8589934592 zmlocalconfig -e ldap_accesslog_maxsize=8589934592 zmcontrol restart