云网牛站
所在位置:首页 > Linux云服务器 > 在CentOS 7系统上安装Zimbra Multi-Server的步骤

在CentOS 7系统上安装Zimbra Multi-Server的步骤

2019-02-19 12:10:41作者:戴进稿源:云网牛站

本文介绍在CentOS 7系统上安装Zimbra Multi-Server的方法,单个服务器Zimbra的安装是一个简单的过程,但是获得多服务器设置是一个包含许多移动部件的过程,需要按以下顺序执行:

安装LDAP服务器 - 多主复制(MMR)或复制

安装Zimbra邮箱服务器

安装MTA服务器

安装代理服务器

我的设置将包含以下服务器:

2个LDAP服务器 - 具有多主复制(MMR)

2个邮箱服务器

2个MTA服务器

2代理服务器 - 具有keepalived和VIP

因此,此设置的服务器总数为7,主机名使用以下格式:

LDAP服务器 - ldap-01.domain.com和ldap-02.domain.com

邮箱服务器 - mx-01.domain.com和mx-02.domain.com

2台MTA服务器 - mta-01.domain.com和mta-02.domain.com

2代理服务器 - proxy-01.domain.com & proxy-02.domain.com. VIP on mail.domain.com

如果你严格遵循本文,则需要将domain.com替换为你的活动域名,或者修改它以适合你的环境。

 

步骤1:在所有服务器上安装CentOS 7

第一步是在所有目标服务器上安装CentOS 7,可以参考U盘安装CentOS 7系统的方法,并通过运行以下命令将软件包更新到最新版本:

# yum -y update

 

步骤2:安装Zimbra先决条件包并设置主机名

安装Zimbra安装所需的所有软件包,并在所有服务器上设置主机名,可以通过运行以下命令来安装这些软件包:

# yum -y install perl-core unzip libaio nmap-ncat sysstat openssh-clients

使用以下命令设置主机名:

# hostnamectl set-hostname <hostname>

例如:

# hostnamectl set-hostname ldap-01.domain.com

 

步骤3:使用主机名和IP地址修改/etc/hosts

现在你已在每台服务器上设置了正确的主机名,请编辑hosts文件以获取IP地址和主机名,你可以使用echo命令:

# echo <IP Address> <Hostname> >> /etc/hosts

例如:

# echo  192.168.1.20 mta-01.domain.com >> /etc/hosts

在所有服务器上执行此操作。

 

步骤4:在所有服务器上本地下载Zimbra版本

可以到zimbra网站下载Zimbra版本,当前想使用的是Zimbra 8.8版本:

# wget https://files.zimbra.com/downloads/8.8.8_GA/zcs-8.8.8_GA_2009.RHEL7_64.20180322150747.tgz

# tar -xvf zcs-8.8.8_GA_2009.RHEL7_64.20180322150747.tgz

我喜欢保留文件和目录的全名,因为它有助于以后进行升级,如果下载相同版本的Zimbra,则应该有一个名为zcs-8.8.8_GA_2009.RHEL7_64.20180322150747/的目录。

 

步骤5:安装Zimbra LDAP服务器1(ldap-01.domain.com)

我们将从在LDAP服务器上首次安装Zimbra开始,另一个LDAP服务器我们将为它配置多主复制:

# cd zcs-8.8.8_GA_2009.RHEL7_64.20180322150747/

开始安装过程:

# ./install.sh

填写如下信息:

Do you agree with the terms of the software license agreement? [N] y       

Use Zimbra's package repository [Y] y

Select the packages to install

Install zimbra-ldap [Y] y       

Install zimbra-logger [Y] n

Install zimbra-mta [Y] n

Install zimbra-dnscache [N] n

Install zimbra-snmp [Y] y

Install zimbra-store [Y] n

Install zimbra-apache [Y] n

Install zimbra-spell [Y] n

Install zimbra-memcached [Y] n

Install zimbra-proxy [Y] n

Install zimbra-chat [N] n

Install zimbra-drive [N] n

Checking required space for zimbra-core

Installing:

zimbra-core

zimbra-ldap

zimbra-snmp

The system will be modified.  Continue? [N] Y

现在应该开始下载软件包,我的配置如下图:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

仔细检查要创建的Ldap主控主机,主机名和域的设置,确定设置后,按a开始安装和配置过程:

*** CONFIGURATION COMPLETE - press 'a' to apply

Select from menu, or press 'a' to apply config (? - help) a

Save configuration data to a file? [Yes] 

Save config in file: [/opt/zimbra/config.31786] 

Saving config in /opt/zimbra/config.31786...done.

The system will be modified - continue? [No] Yes

安装完成后,请提取所有后续步骤所需的密码信息:

ldap_amavis_password = 4Y9WzugHAz

ldap_bes_searcher_password = 4Y9WzugHAz

ldap_nginx_password = 4Y9WzugHAz

ldap_postfix_password = 4Y9WzugHAz

ldap_replication_password = 4Y9WzugHAz

ldap_root_password = 4Y9WzugHAz

zimbra_ldap_password = 4Y9WzugHAz

 

步骤6:在ldap-01服务器上启用LDAP MMR

由于我们将两个LDAP服务器都设置为主服务器,因此我们需要在刚刚安装的第一个主服务器上启用此功能。

在现有单节点主服务器上启用多主服务器复制:

[root@ldap-01 ~]# su - zimbra

[zimbra@ldap-01 ~]$ ./libexec/zmldapenable-mmr -s 1 -m ldap://ldap-02.domain.com:389/

[zimbra@ldap-01 ~]$ ./libexec/zmldapenable-mmr -r 101 -m ldap://dap-02.domain.com:389/

[zimbra@ldap-01 ~]$ /opt/zimbra/libexec/zmldapmmrtool -q

Master Server ID: 1

Master replication agreement: 1

rid: 100 URI: ldap://ldap-02.domain.com:389/ TLS: critical

Master replication agreement: 2

rid: 101 URI: ldap://ldap-02.domain.com:389/ TLS: critical

[zimbra@ldap-01 ~]$

在Ldap Server 2上,像第一次一样安装Zimbra,但其配置应如下所示:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

应配置以下内容:

Ldap管理员密码

Ldap复制密码

Ldap复制类型:mmr

所有其他密码

有关如何获取所需的所有密码,请参阅步骤4。

 

步骤7:安装Zimbra邮箱服务器

现在通过运行安装程序安装两个邮箱服务:

# ./install.sh

要安装的软件包是:

Do you agree with the terms of the software license agreement? [N] y       

Use Zimbra's package repository [Y] y

Select the packages to install

Install zimbra-ldap [Y] n

Install zimbra-logger [Y] y

Install zimbra-mta [Y] n

Install zimbra-dnscache [N] n

Install zimbra-snmp [Y] y

Install zimbra-store [Y] y

Install zimbra-apache [Y] y

Install zimbra-spell [Y] y

Install zimbra-memcached [Y] n

Install zimbra-proxy [Y] n

Install zimbra-chat [N] n

Install zimbra-drive [N] n

Install zimbra-imapd (BETA - for evaluation only) [N] n

Checking required space for zimbra-core

Installing:

zimbra-core

zimbra-logger

zimbra-snmp

zimbra-store

zimbra-apache

zimbra-spell

zimbra-convertd

zimbra-archiving

zimbra-drive

The system will be modified.  Continue? [N] Y

请注意,你只需要在一台服务器上安装记录器,对我来说,记录器安装在mx-01上,配置如下所示:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

在Common配置下,设置:

主机名:mx-01.domain.com

Ldap主控主机:ldap-01.domain.com

Ldap管理员密码:

在zimbra-store下,确保配置以下项目:

管理员密码:

SMTP主机:

配置与邮件代理一起使用:TRUE

配置用于Web代理:TRUE

安装UI(zimbra,zimbraAdmin webapps):是的

安装mailstore(service webapp):是的

你可以修改所需的任何其他设置并开始安装过程,对于其他邮箱服务器,重复相同的步骤但不安装记录器,它将在mx-01上运行。

 

步骤8:安装Zimbra MTA服务器

下一阶段是安装MTA服务器,你的选择应如下:

Select the packages to install

Install zimbra-ldap [Y] n

Install zimbra-logger [Y] n

Install zimbra-mta [Y] y

Install zimbra-dnscache [Y] y

Install zimbra-snmp [Y] y

Install zimbra-store [Y] n

Install zimbra-apache [Y] n

Install zimbra-spell [Y] n

Install zimbra-memcached [Y] n

Install zimbra-proxy [Y] n

Install zimbra-chat [N] n

Install zimbra-drive [N] n

Checking required space for zimbra-core

Installing:

zimbra-core

zimbra-mta

zimbra-snmp

zimbra-dnscache

The system will be modified.  Continue? [N] y

在配置窗口中,确保设置以下内容:

在1)通用配置下,设置:

主机名:

Ldap主持人:

Ldap管理员密码:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

在2)zimbra-mta集合下

绑定postfix ldap用户的密码:

绑定amavis ldap用户的密码:

请看第4步,了解如何获取它们:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

在zimbra-dnscache下,配置以空格分隔的主DNS IP地址:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

完成后,保存设置并键入a以开始Zimbra MTA设置。

 

步骤9:安装Zimbra代理服务器

要安装Zimbra Proxy服务器,你需要在安装期间选择以下软件包:

Select the packages to install

Install zimbra-ldap [Y] n

Install zimbra-logger [Y] n

Install zimbra-mta [Y] n

Install zimbra-dnscache [N] n

Install zimbra-snmp [Y] y

Install zimbra-store [Y] n

Install zimbra-apache [Y] n

Install zimbra-spell [Y] n

Install zimbra-memcached [Y] y

Install zimbra-proxy [Y] y

Install zimbra-chat [N] n

Install zimbra-drive [N] n

Checking required space for zimbra-core

Installing:

zimbra-core

zimbra-snmp

zimbra-memcached

zimbra-proxy

The system will be modified.  Continue? [N] y

填写所有必填信息:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

对于代理服务器模式,您可以根据需要选择http,https,两者,重定向或混合,就我而言,我正在使用重定向。

安装完所有Zimbra代理服务器后,通过在代理服务器上以Zimbra用户身份运行以下命令,在端口9071上启用代理控制台:

# su - zimbra

$ /opt/zimbra/libexec/zmproxyconfig -e -w -C -H `zmhostname`

这将在代理服务器上启用管理控制台代理端口9071。

确保在端口7071上配置邮箱服务器的管理控制台(默认)。

你需要在进行更改后重新启动代理服务:

$ zmproxyctl restart

该服务应绑定到端口9071,可以使用ss命令确认:

$ ss -tunelp | grep 9071

要通过代理访问管理控制台,URL应为https://proxy-0x.domain.com:9071/

 

步骤10:配置Zimbra Logger服务

如上面所述,我们的记录器服务将在邮箱服务器1(mx-01.domain.com)上运行,为此,我们需要首先在此服务器上安装和配置rsyslog服务。

取消注释/etc/rsyslog.conf上的以下行:

$ModLoad imudp

$UDPServerRun 514

另外,在$UDPServerRun 514之后添加此行:

SYSLOGD_options="-r -m 0"

然后设置Zimbra syslog并重启rsyslog服务:

# /opt/zimbra/libexec/zmfixperms -e -v

# /opt/zimbra/libexec/zmsyslogsetup

updateSyslog: Updating /etc/rsyslog.conf...done.

# systemctl restart rsyslog.service

# su - zimbra

$ /opt/zimbra/libexec/zmloggerinit

Stopping logswatch...done.

Starting logswatch...done.

$ /opt/zimbra/bin/zmupdateauthkeys

使用以下命令验证LogHostname(应将其设置为所有服务器上的记录器监视器主机的名称):

# su - zimbra

$ zmprov gacf | grep zimbraLogHostname

zimbraLogHostname: mx-01.domain.com

如果不同,请使用以下命令将其更改为Logger monitor Host:

$ zmprov mcf zimbraLogHostname <Logger monitor Hostname>

配置每个Zimbra服务器以记录到新设置的记录器服务器:

# /opt/zimbra/libexec/zmfixperms -e -v

# su - zimbra

$ /opt/zimbra/bin/zmupdateauthkeys ; exit

# /opt/zimbra/libexec/zmsyslogsetup

# systemctl restart rsyslog

# su - zimbra -c "zmcontrol restart"

 

步骤11:使用Keepalived配置Zimbra代理HA

由于我们有两个Zimbra代理服务器,因此我们需要确保代理服务器具有HA,我的代理设置是:

2代理服务器 - proxy-01.domain.com和proxy-02.domain.com

两者都将使用mail.domain.com提供

目标解决方案图是:

在CentOS 7系统上安装Zimbra Multi-Server的步骤

简而言之,这就是它的工作原理:

代理大师作为VIP

代理主机变得不可用

VIP将传递给将处理该服务的备份服务器

我将proxy-01配置为master,将proxy-02配置为Backup Server。

在两台服务器上安装Keepalived:

# yum -y install keepalived

在主服务器上配置Keepalived(proxy-01):

# cat /etc/keepalived/keepalived.conf

vrrp_script chk_zimbra_nginx {

script "killall -0 nginx" # check the zimbra nginx process  interval 2 # every 2 seconds

weight 2 # add 2 points if OK}vrrp_instance VI_1 {

interface eth0 # interface to monitor

state MASTER # MASTER on proxy-01, BACKUP on proxy-02

virtual_router_id 51

priority 101 # 101 on proxy-01, 100 on proxy-02

virtual_ipaddress {

192.168.1.23/24

}

track_script {

chk_zimbra_nginx

}

}

在Backup Server上配置Keepalived(proxy-01):

# cat /etc/keepalived/keepalived.conf

vrrp_script chk_zimbra_nginx {

script "killall -0 nginx" # check the zimbra nginx process

interval 2 # every 2 seconds

weight 2 # add 2 points if OK

}

vrrp_instance VI_1 {

interface eth0 # interface to monitor

state BACKUP # MASTER on proxy-01, BACKUP on proxy-02

virtual_router_id 51

priority 100 # 101 on proxy-01, 100 on proxy-02

virtual_ipaddress {

192.168.1.23/24

}

track_script {

chk_zimbra_nginx

}

}

下面进行启用IP转发并配置firewalld。

Keepalived需要配置IP转发,并为VRRP数据包添加一些防火墙规则。

启用IP转发:

# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

# sysctl -p

net.ipv4.ip_forward = 1

添加防火墙规则以允许在Keepalived将控制的每个网络接口上使用多播IP地址224.0.0.18和VRRP协议(112)进行VRRP通信,例如:

# firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \ 

--in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT 

# firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \ 

--out-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT 

# firewall-cmd --reload

在每台服务器上启用并启动keepalived服务:

# systemctl enable keepalived

# systemctl start keepalived

如果更改Keepalived配置,请重新加载keepalived服务:

# systemctl reload keepalived

可以通过终止主服务器上的nginx进程来测试keepalived功能,并查看虚拟IP是否将切换到备份服务器:

# killall nginx

# ip add > Run on Backup server to check IP address configuration

 

步骤12:重置管理员密码和Access Web UI

重置管理员密码:

# su - zimbra

$ zmprov sp admin@domain.com strongpassword

通过直接访问代理服务器或指向代理服务器的主机名来访问Web UI,可从端口9071访问管理控制面板。

可以使用以下命令为代理服务:

firewall-cmd --add-service={http,https,smtp,smtps,imap,imaps,pop3,pop3s} --permanent

firewall-cmd --add-port=11211/tcp --permanent

firewall-cmd --add-port=9071/tcp --permanent

firewall-cmd --reload

要限制特定IP地址的访问或管理界面,请使用firewalld rich规则:

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=source-ip-address/32 \

destination address=dest-ip-address/32 port port=9071 protocol=tcp accept"

请记住将source-ip-address替换为源IP地址,将dest-ip-address替换为代理服务器目标IP地址。

在CentOS 7系统上安装Zimbra Multi-Server的步骤

现在就重置管理员密码并登录管理控制面板以开始管理安装成功的Zimbra。

 

相关主题

在Ubuntu 18.04系统下安装Zimbra Desktop的方法

精选文章
热门文章