本文介绍在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 现在应该开始下载软件包,我的配置如下图:
仔细检查要创建的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,但其配置应如下所示:
应配置以下内容: 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上,配置如下所示:
在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管理员密码:
在2)zimbra-mta集合下 绑定postfix ldap用户的密码: 绑定amavis ldap用户的密码: 请看第4步,了解如何获取它们:
在zimbra-dnscache下,配置以空格分隔的主DNS IP地址:
完成后,保存设置并键入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 填写所有必填信息:
对于代理服务器模式,您可以根据需要选择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提供 目标解决方案图是:
简而言之,这就是它的工作原理: 代理大师作为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地址。
现在就重置管理员密码并登录管理控制面板以开始管理安装成功的Zimbra。
相关主题 |