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
|