Установка Zimbra 8.8 на CentOS 7

О Zimbra сказано уже достаточно много, в наше время это «маст-хэв» софт в любой организации и не только. Для личных нужд Zimbra тоже, более чем отличное средство с множеством возможностей и дополнений. В данной статье мы установим Zimbra 8.8.12 GA на CentOS 7.6 за 10 минут, это Open Source версия, которая обновляется ежемесячно. Процесс тонкой настройки и обновления будет рассмотрен позже.

Перед началом установки стоит определиться что мы будем устанавливать, на странице Zimbra Collaboration Downloads выберите самый актуальный релиз под ваш дистрибутив, на сегодня доступны следующие: RHEL 6/7, Oracle Linux 6/7, Ubuntu 14.04/16.04/18.04

По системным требованиям — все сложно, информация везде разная, официально рекомендуется не менее 8GB RAM, мне это показалось излишним и я использую Zimbra 8.8 с 4GB RAM и 2-мя ядрами CPU, пока все хорошо.

Приступим, у нас есть чистый сервер с CentOS 7, для начала проведем базовую подготовку в виде обновления

yum update -y
yum update -y и установки подходящей тайм-зоны
timedatectl set-timezone Europe/Kiev
timedatectl set-timezone Europe/Kiev (список доступный тайм-зон можно посмотреть
timedatectl list-timezones
timedatectl list-timezones, а можно так, немного сузив круг поиска
timedatectl list-timezones | grep Europe
timedatectl list-timezones | grep Europe. Сразу же установим все необходимые зависимости.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
yum install -y wget nano perl net-tools perl-core ntpl nmap nmap-ncat sudo openssh-clients libidn gmp libaio libstdc++ unzip sysstat sqlite
yum install -y wget nano perl net-tools perl-core ntpl nmap nmap-ncat sudo openssh-clients libidn gmp libaio libstdc++ unzip sysstat sqlite
yum install -y wget nano perl net-tools perl-core ntpl nmap nmap-ncat sudo openssh-clients libidn gmp libaio libstdc++ unzip sysstat sqlite

Далее необходимо установить хостнейм при помощи hostnamectl и обязательно внести одну правку в /etc/hosts, нужно добавить  строку «<внешний IP> <ваш_домен>, для Zimbra это катастрофически важно. Пример ниже.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
hostnamectl set-hostname mail.quaded.com
[root@mail ~]# cat /etc/hosts
159.89.110.143 mail.quaded.com mail
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
hostnamectl set-hostname mail.quaded.com [root@mail ~]# cat /etc/hosts 159.89.110.143 mail.quaded.com mail 127.0.0.1 localhost.localdomain localhost 127.0.0.1 localhost4.localdomain4 localhost4
hostnamectl set-hostname mail.quaded.com

[root@mail ~]# cat /etc/hosts
159.89.110.143 mail.quaded.com mail
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4

Далее о грустном, отключим SELinux, возможно временно, возможно навсегда.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[root@mail ~]# cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted
[root@mail ~]# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targeted
[root@mail ~]# cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted

Так же, важно отсутствие запущенных MTA на сервере, с ними набор из пакета Zimbra не сможет полноценно запуститься.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[root@mail ~]# systemctl stop postfix
[root@mail ~]# systemctl disable postfix
[root@mail ~]# systemctl stop sendmail
[root@mail ~]# systemctl disable sendmail
[root@mail ~]# systemctl stop postfix [root@mail ~]# systemctl disable postfix [root@mail ~]# systemctl stop sendmail [root@mail ~]# systemctl disable sendmail
[root@mail ~]# systemctl stop postfix
[root@mail ~]# systemctl disable postfix
[root@mail ~]# systemctl stop sendmail
[root@mail ~]# systemctl disable sendmail

Скачиваем (самую свежую версию, выбранную на странице Zimbra Collaboration Downloads), распаковываем и переходим в каталог с установщиком.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[root@mail ~]# wget https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz
--2019-04-17 18:03:10-- https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz
Resolving files.zimbra.com (files.zimbra.com)... 13.32.159.200
Connecting to files.zimbra.com (files.zimbra.com)|13.32.159.200|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 254480139 (243M) [binary/octet-stream]
Saving to: ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’
100%[============================================================================>] 254,480,139 50.5MB/s in 4.9s
2019-04-17 18:03:15 (49.7 MB/s) - ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’ saved [254480139/254480139]
[root@mail ~]# tar -xzf zcs-8.8*
[root@mail ~]# cd zcs-8.8.12_GA_3794.RHEL7_64.20190329045002
[root@mail ~]# wget https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz --2019-04-17 18:03:10-- https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz Resolving files.zimbra.com (files.zimbra.com)... 13.32.159.200 Connecting to files.zimbra.com (files.zimbra.com)|13.32.159.200|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 254480139 (243M) [binary/octet-stream] Saving to: ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’ 100%[============================================================================>] 254,480,139 50.5MB/s in 4.9s 2019-04-17 18:03:15 (49.7 MB/s) - ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’ saved [254480139/254480139] [root@mail ~]# tar -xzf zcs-8.8* [root@mail ~]# cd zcs-8.8.12_GA_3794.RHEL7_64.20190329045002
[root@mail ~]# wget https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz
--2019-04-17 18:03:10--  https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz
Resolving files.zimbra.com (files.zimbra.com)... 13.32.159.200
Connecting to files.zimbra.com (files.zimbra.com)|13.32.159.200|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 254480139 (243M) [binary/octet-stream]
Saving to: ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’

100%[============================================================================>] 254,480,139 50.5MB/s   in 4.9s

2019-04-17 18:03:15 (49.7 MB/s) - ‘zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz’ saved [254480139/254480139]


[root@mail ~]# tar -xzf zcs-8.8*
[root@mail ~]# cd zcs-8.8.12_GA_3794.RHEL7_64.20190329045002

Запускаем установочный скрипт

./install.sh --platform-override
./install.sh --platform-override и отвечаем на все его вопросы (на самом деле, почти все ответы «по умолчанию» нажимаем Enter, единственным исключением является установка пароля на админский аккаунт)

Установка завершена, теперь откроем необходимые для работы Zimbra порты файрвола

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[root@mail ~]# firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071}/tcp
success
[root@mail ~]# firewall-cmd --reload
success
[root@mail ~]# firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071}/tcp success [root@mail ~]# firewall-cmd --reload success
[root@mail ~]# firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071}/tcp
success
[root@mail ~]# firewall-cmd --reload
success
В некоторый сборках CentOS (например на DigitalOcean) все еще не поставляется firewall-cmd «из коробки». Установить:
yum install firewalld -y
yum install firewalld -y, запустить
systemctl start firewalld
systemctl start firewalldи добавить в авто-запуск
systemctl enable firewalld
systemctl enable firewalld

На этом все, админ-панель доступна по адресу https://ваш_домен:7071

По умолчанию включен только https с самоподписанным сертификатом, в следующих статьях мы рассмотрим установку сертификата от LetsEncrypt с его последующим авто-обновлением через cron. Если очень нужно включить http — сделать это можно следующим образом.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[root@mail ~]# su zimbra
[zimbra@mail root]$ zmtlsctl both
Attempting to query proxy (mail.quaded.com) settings for zimbraReverseProxyMailMode and zimbraReverseProxySSLToUpstreamEnabled.
On proxy (mail.quaded.com): zimbraReverseProxyMailMode='https', zimbraReverseProxySSLToUpstreamEnabled='TRUE'
Attempting to set ldap config zimbraMailMode both on host mail.quaded.com...done.
Rewriting config files for cyrus-sasl, webxml, mailboxd, service, zimbraUI, and zimbraAdmin...done.
[zimbra@mail root]$ zmcontrol restart
[root@mail ~]# su zimbra [zimbra@mail root]$ zmtlsctl both Attempting to query proxy (mail.quaded.com) settings for zimbraReverseProxyMailMode and zimbraReverseProxySSLToUpstreamEnabled. On proxy (mail.quaded.com): zimbraReverseProxyMailMode='https', zimbraReverseProxySSLToUpstreamEnabled='TRUE' Attempting to set ldap config zimbraMailMode both on host mail.quaded.com...done. Rewriting config files for cyrus-sasl, webxml, mailboxd, service, zimbraUI, and zimbraAdmin...done. [zimbra@mail root]$ zmcontrol restart
[root@mail ~]# su zimbra
[zimbra@mail root]$ zmtlsctl both
Attempting to query proxy (mail.quaded.com) settings for zimbraReverseProxyMailMode and zimbraReverseProxySSLToUpstreamEnabled.
On proxy (mail.quaded.com): zimbraReverseProxyMailMode='https', zimbraReverseProxySSLToUpstreamEnabled='TRUE'
Attempting to set ldap config zimbraMailMode both on host mail.quaded.com...done.
Rewriting config files for cyrus-sasl, webxml, mailboxd, service, zimbraUI, and zimbraAdmin...done.
[zimbra@mail root]$ zmcontrol restart
  • https — доступ только по https
  • http — доступ только по http
  • both — смешанный режим, работает http и https

Важно: Все изменения в конфигурации Zimbra необходимо производить из окружения пользователя ‘zimbra’

2 comments on “Установка Zimbra 8.8 на CentOS 7

  1. а когда будет с сертификатом от LetsEncrypt ?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *