1、环境
用VirtualBox创建虚拟机。
操作系统:Ubuntu 16.04,最小化安装操作系统,不要安装DNS服务器、邮件服务器等组件,否则在安装Zimbra之前需要手动关闭掉相关服务。
内存:1G。Zimbra要求单机安装内存不少于8G,没那么多内存,只安装必需组件,也够用
磁盘:两块,每块10G,分别专门安装操作系统与Zimbra,也可以只一块磁盘。无论如何,在安装时要有不少于5G的磁盘空间,否则安装程序会报错。
Zimbra安装包:去Zimbra官网下载,选择带Open Source(免费)字样的链接,进去后选择与操作系统相匹配的包,下载到本地。本例是:zcs-8.8.11_GA_3737.UBUNTU16_64.20181207111719.tgz,这个是目前为止最新的。
当前虚拟机有两块网卡,主网卡IP是10.0.2.15,属于NAT网络,可以连接外网,用来下载软件包。
另一块是192.168.56.10,静态IP地址,属于仅主机HOST网络,用来与宿主机通信,通过浏览器访问邮箱时就是通过这个网址。
关于如何用VirtualBox创建虚拟机,如何为其创建网络,可参考本博客中VirtualBox相关文章。
2、配置DNS
邮件系统有一个标准的组件叫作MTA(邮件转发代理),安装这个组件的主机必需在DNS中有相应的A记录与MX记录。本例用bind9搭建一个局域网范围的DNS供MTA使用。
首先创建一个"zone",粗略理解zone就是一个域名的集合,一般按所归属的组织、功能划分,目的是方便管理。比如sohu.com,这就是一个"zone",下边管理的可能有sport.sohu.com、news.sohu.com、mail.sohu.com、aaa.bbbb.sohu.com等,总之sohu.com之下的域名都归它管。
局域网内的zone可以随意创建,我创建的是“test.com”,步骤如下:
第一步:为当前虚拟机设定全名。执行hostname查看当前主机名,我的是"zimbra"。结合刚才规划的域名"test.com",这台主机的全名应该是"zimbra.test.com"。打开/etc/hosts文件,增加“192.168.56.10 zimbra.test.com zimbra”。
第二步:安装bind9
apt-get install bind9
apt-get update
apt-get upgrade
第三步:配置bind9
打开文件/etc/bind/named.conf.default-zones,在末尾增加如下内容:
zone "test.com" {
type master;
file "/etc/bind/db.test.com";
};
注意zone后边是test.com,就是刚才规划好的zone名称,不要写错。这个文件的意思是有一个“test.com”的zone,这个zone管理的域名定义在db.test.com文件中,保存后运行named-checkconf检查一下格式:
root@zimbra:~# named-checkconf /etc/bind/named.conf.default-zones
root@zimbra:~# echo $?
0
root@zimbra:~#
出错的话说明格式有问题(比如双引号写成中文的等)。
接下来创建/etc/bind/db.test.com文件,内容如下:
;
; BIND data file for local loopback interface
;
$TTL