Zimbra установка и настройка windows

Обновлено: 01.07.2024

Старая зимбра распухла до невероятных размеров и в связи с этим было принято решение поднять новый в виртуальной инфраструктуре VMware .

Накатывать зимбру буду на Ubuntu server 16.04. Настройку оси оставляю на ваше усмотрение да и мануалов в сети полно. Итак, погнали.

Немного вводных: почтовик стоит за микротом, у которого 2 IP: внешний 5.xxx.xxx.xxx и внутренний 192.168.0.217. На микроте проброшены порты 80, 25, 110, 143, 443, 465, 587, 993, 995, 3443, 5222, 5223, 7143, 7993, 7025 и настроен Hairpin NAT.
Далее SSH к серваку и погнали. Все действия будем выполнять от рута.

1. Настройка Zimbra 8.8.8

в файле прописываем

Где ens160 имя сетевого интерфейса, которое можно получить по команде:

Настраиваем hosts (вместо ***** вписываем свой домен, зону при необходимости замените, у меня ru):

Настраиваем DNSMASQ и приводим к виду:

Перед установкой Zimbra необходимо выполнить два простых теста на правильность настройки записей MX и A DNS. Правильные запросы и ответы должны выглядеть так:

Если всё ок, то загружаем последний пакет зимбры с сайта.
Ссылка действительна на момент написания статьи. В вашем случае она может отличаться.

переходим в каталог

и запускаем установку

Я ставлю все кроме dnscache и IMAPD (все еще в бете), а zimbra-drive мне не нужен.
Набираем "Yes" для модификации системы.
Меняем пароль администратора, нажав цифру 6, а затем 4 в подменю и вводим новый пароль для пользователя admin.
Затем нажимаем "r" и "a" для применения изменений.
Наливаем себе чашечку кофе и ждём окончания установки.
Configuration complete - press return to exit

Жмём Enter и ребутаем:

2. Настраиваем DKIM

Извлекаем данные для txt-записи на провайдере

TXT-запись прописываем в следующем виде:

Обновите DNS, и проверьте результат выполнения команды:

Если ключ извлекается то следующую команду дабы убедиться, что открытый ключ соответствует закрытому:

По настройке SPF и DMARC полно мануалов в сети, поэтому останавливаться на этом не буду.

3. Настраиваем Let`s Encrypt

при запросе домена вводим

Если все будет хорошо с проверкой, то сертификат (сертификат + открытый ключ + цепочка) будет выпущен в формате «/etc/letsencrypt/live/address/».
Далее в терминале:

В конец файла chain.pem добавляем промежуточный корневой сертификат Let`s Encrypt (представлен ниже):

Далее в терминале:

4. Перевыпуск сертификата Let`s Encrypt

Добавляем в конец файла

Сохраняем, закрываем и обратно в командную строку

Убеждаемся, что все запущено, радуемся ))

5. Перенос учетных записей

На старом сервере зимбры:

создаем список пользователей в файл users.txt

После выполнения получаем скрипт restore_pass.sh, в котором содержатся команды смены пароля пользователям на новом сервере.

На новом сервере:

Средства и миграция -> Перенос учетной записи. Кликаем на шестеренку в правом верхнем углу и запускаем мастер. Тип почтового сервера "Zimbra Collaboration Suite". Импортировать только учетки или вместе с почтой выбираем по необходимости. Далее. Выбираем "Импортировать из другого каталога Zimbra LDAP". Далее. На следующей снимаем галку с пункта "Требовать смены пароля при первом входе в систему". Далее. URL LDAP - Указываем IP старого сервера.

Пароль привязки мы можем получить со старого сервера командой:

Поисковая база dc=ru. Остальные настройки по вкусу.

Тащим на новый сервер restore_pass.sh, полученный ранее. Кладем куда-нибудь. При необходимости даем права на него. Далее:

Дожидаемся окончания. Теперь у нас на новом сервере созданы учетки (и содержимое почтовых ящиков если выбрали при миграции) и у всех пользователей старые пароли.

6. Быстрая настройка Fail2ban

Создаем Zimbra jail.conf

Редактируем /etc/fail2ban/action.d/sendmail.conf и заменяем в нем строку

Запускаем и добавляем в автозагрузку Fail2ban

7. Включаем zmauditswatch

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

Zimbra Collaboration Server - известный продукт компании VMWare, который представляет собой не только электронную почту корпоративного уровня, но и календарь, и средство совместной работы, одинаково подходящий как крупным компаниям, так и небольшим фирмам. В данной статье мы рассмотрим установку бесплатной Open Source версии Zimbra на сервер под управлением Ubuntu 12.04 LTS.

И почему все таки Zimbra? Причин несколько. Во-первых просто почта, как средство отправки - получения электронной корреспонденции сегодня мало кого устраивает. Как минимум требуется календарь с возможностью пересылать задачи и контролировать ход их выполнения. Также крайне желательно наличие удобного веб-интерфейса, поддерживающего работу мобильных устройств, для сотрудников находящихся вне офиса. И это - необходимый минимум. Сегодня даже бесплатные почтовые службы готовы предложить многое из перечисленного.

В тоже время Zimbra даже в бесплатной версии предоставляет все то, что нужно корпоративным клиентам и весьма проста в установке и использовании. Для установки мы будем использовать сервер под управлением Ubuntu Server 12.04 64-бит и подразумеваем что читатель имеет начальные навыки администрирования Linux, а также располагает необходимым минимумом знаний, хотя бы объеме этих материалов:

Перед тем, как приступать к настройке почтового сервера, следует убедиться что для домена сделана MX-запись, которая указывает на почтовый хост, А-запись которого содержит внешний IP-адрес вашей корпоративной сети.

При установке системы следует обратить внимание на две особенности:

После установки обновим систему и приступим к подготовительным работам. Обязательное условие нормальной работы Zimbra - используемый DNS сервер должен содержать MX и А записи для хоста. В случае, когда почтовый сервер находится в локальной сети за NAT требуется настройка схемы с двойным горизонтом DNS (Split DNS), его можно настроить на DNS сервере предприятия, что требует достаточно глубоких знаний используемого DNS-сервера или установить на хост с Zimbra DNS-сервер - заглушку, которая будет иметь необходимые записи и обслуживать исключительно почтовый сервер.

Для этих целей установим dnsmasq

и приведем его конфиг /etc/dnsmasq.conf к следующему виду:

Первая опция указывает вышестоящий DNS-сервер, в качестве которого вам следует указать используемый в вашей сети DNS или один из публичных серверов.

Теперь следует откорректировать /etc/hosts чтобы он содержал следующие записи:

Затем следует настроить наш сервер на использование локального DNS, следует помнить, что в Ubuntu 12.04 resolv.conf генерируется автоматически и для указания DNS-серверов следует использовать файл /etc/network/interfaces, который в нашем случае имеет следующее содержимое:

Сохраняем конфигурацию, перезагружаем сервер.

Для проверки правильности настроек выполним команду:

которая должна вернуть в качестве MX-записи имя нашего сервера, А-запись которого должна указывать на локальный адрес.

zimbra-ubuntu-001.jpg

Установим необходимые зависимости:

На этом подготовка сервера закончена, можно переходить непосредственно к установке Zimbra. Скачаем дистрибутив с сайта разработчика и разместим архив на сервере, скажем в домашней папке. После чего перейдем в нее и распакуем архив, для ввода длинных имен удобно набрать несколько первых букв и воспользоваться автодополнением по Tab:

Теперь перейдем в распакованную папку и запустим скрипт установки:

Соглашаемся с лицензионными соглашениями и, после проверки необходимых настроек и зависимостей, скрипт предложит вам перейти к установке, либо сообщит какого пакета вам не хватает. В этом случае надо выйти, доустановить зависимости и начать установку заново.

zimbra-ubuntu-002.jpg

Следующий шаг - выбор устанавливаемых компонентов, в нашем случае принимаем значения по умолчанию и приступаем к установке. В конце установки вы можете получить ошибку DNS, связанную с тем, что Zimbra неправильно определила имя домена, в этом случае необходимо принять предложение инсталлятора и указать домен правильно.

zimbra-ubuntu-003.jpg

После чего будет выведено основное меню, единственное, что здесь нужно сделать - указать пароль администратора (учетная запись admin), для этого нажимаем 3, затем 4, вводим новый пароль, возвращаемся в основное меню нажав r и подтверждаем изменения клавишей a, после чего скрипт предложит сохранить конфигурацию.

zimbra-ubuntu-004.jpg

Дальнейший процесс не занимает много времени и не способен вызвать каких-либо затруднений. По окончании установки следует проверить что все необходимые службы запущены:

Если какая либо служба не запущена, то пробуем запустить ее командой

Убедившись что все нормально, можно задвигать сервер на полку в серверной, все остальные настройки делаются через удобный веб-интерфейс.

zimbra-ubuntu-005.jpg

zimbra-ubuntu-006.jpg

Подробное рассмотрение возможных настроек Zimbra выходит за рамки данной статьи, однако стоит отметить что запутаться в админ-панели решительно негде и даже начинающий администратор без труда справится с основными задачами. Например с созданием почтовых аккаунтов.

zimbra-ubuntu-007.jpg

Работа с почтой не вызовет затруднений даже у самых малоопытных сотрудников: все привычно и стандартно:

zimbra-ubuntu-009.jpg

Кроме почты в нашем распоряжении адресная книга, задачи и календарь, события которого можно легко пересылать коллегам.

zimbra-ubuntu-010.jpg

Попытка даже коротко рассказать о всех возможностях Zimbra выходит далеко за рамки данной статьи и мы оставим ее для следующих материалов, при этом напомнив, что никакой сложности в их освоении нет и обычно сотрудники без труда сами осваивают все новые функции.

Разберем как развернуть мощный и в тоже время бесплатный почтовый сервер Zimbra Collaboration 8.6. Zimbra может соперничать с Microsoft Exchange своим функционалом, в который входит необходимый набор инструментов для работы в корпоративной среде. Zimbra имеет удобный и понятный Web интерфейс, поддерживающий работу мобильных устройств, что не мало важно для сотрудников находящихся вне офиса.

Исходные данные для развертывания Zimbra:

Настройка DNS зоны на домен контроллере DC1



Выбираем пункт To all DNS servers running on domain controller in this domain: jakonda.local. Нажимаем Next.



Отмечаем пункт Allow both nonsecure and secure dynamic updates. Нажимаем Next.


Нажимаем Finish.



Добавляем MX-запись:

В итоге должно получится вот так:


Предварительная настройка системы Ubuntu 14.04 Trusty Tahr

Перед тем как начать установку почтового сервера Zimbra на Ubuntu 14.04 Trusty Tahr, систему необходимо настроить и установить необходимые для установки зависимости.

Укажем правильное имя в hostname:

Приведем файл hosts к правильному виду:

Задаем в ручную настройки сети:


Для проверки правильности настроек выполним команду:


Установка Zimbra Collaboration 8.6

Обновляем систему до актуального состояния:

Устанавливаем необходимые для установки и работы Zimbra зависимости:

sudo apt - get install libgmp10 libperl5 . 18 libaio1 unzip pax sysstat sqlite3

Скачиваем дистрибутив Zimbra Collaboration 8.6:

tar zxf zcs - 8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

Переходим в каталог с дистрибутивом:

Запускаем установку Zimbra:

Принимаем условия лицензионного соглашения Do you agree with the terms of the software license agreement? [N] Y , установщик проверит наличие всех необходимых зависимостей, а так же сообщит какие компоненты доступны для установки. Если напротив каждого пункта видим FOUND, значит все в порядке можно продолжать установку, в противном случае, нужно отменить установку и до установить необходимые зависимости. Для продолжения установки отвечаем Y в Do you wish to continue? [N].


Далее установщик спросит какие компоненты устанавливать, мы будем устанавливать все компоненты, поэтому на каждый вопрос отвечаем Y. После выбора устанавливаемых компонентов, соглашаемся с внесением изменений: The system will be modified. Continue? [N] Y.


Установка выбранных пакетов, по окончании если ошибок DNS не обнаружено, то двигаемся дальше.


В основном меню необходимо задать пароль администратора (учетная запись admin). Для этого нажимаем 7(zimbra-store):


Нажимаем 4 (Admin Password):


Вводим желаемый пароль и нажимаем Enter. Выходим в предыдущее меню r, затем нажимаем a, для применения конфигурации и продолжения установки.


По окончании установки на вопрос Notify Zimbra of your installation? [Yes] (уведомить Zimbra об установке) нажимаем N и Enter для выхода из установщика.

Содержание

Так как Zimbrа несёт с собой много ПО, то её лучше устанавливать на отдельный сервер, или по крайней мере перед остальными приложениями.

Удаление других почтовых программ

на Debian удаляем все пакеты почтового сервера exim4

Установка необходимых пакетов

Устанавливаем необходимые дополнительные пакеты (удовлетворяем зависимости).

Настройка МХ записи и имени домена

- Убедимся, что настроен правильно MX на hostname сервера, куда устанавливается Zimbra

- Добавляем в /etc/hosts соответствующую запись вида:

Распаковываем дистрибутив Zimbra и запускаем install.sh. Если каких-то пакетов не хватает, то установщик скажет об этом и их нужно будет доустановить.

Настройка почтового домена

После установки зайдём на web интерфейс сервера пользователем admin и перейдём по ссылке "Администратор домена", где настроим:

Конфигурация - Класс обслуживания - default

Перенос учётных записей

Перенесём (импортируем) учётные записи из предыдущей почтовой системы. У меня использовался Postfix под управлением PostfixAdmin.

Полученный с помощью этого скрипта файл import.sh выполняем на сервере Zimbra.

Скрипт я взял из вики справочника Zimbra. Он полезен, если мы не знаем пароли пользователей, если же мы их знаем, то можно подготовить файл и сделать импорт в Административной консоли управления: Адреса - Учётные записи - Групповая подготовка.

Автоматизация переноса учёток

Почтовая учётная запись создаётся двумя командами:

где userpass - пароль пользователя

Первая команда создаёт пользователя с открытым паролем, вторая - перезаписывает открытый пароль шифрованным (поэтому первый пароль может быть любым).

Если есть список пользоватей и их пароли, то скрипт можно составить, например, в OpenOffice Calc добавить необходимые поля (команды, кавычки), и затем сохранить в формате csv с разделителем "пробел".

Можно сначала создать все учётные записи, а зетем у всех поменять пароль.

Чтобы корректно отображались кирилические буквы, скрипт лучше выполнять от имени root или можно настроить локаль. Проверить настройки локали можно командной:

а установить командами:

Перенос писем

  • Сначала синхронизируем только тот ящик, пароль которого мы знаем и выбрали как основной для последующей синхронизации всех. Это нам заодно поможет выясненить точные настройки подключения к обоим IMAP серверам. создаём скрипт imap_sync_alone.sh:

Этот скрипт можно запустить на любом из серверов. Проверяем журнал, проверяем, что письма перенесены. Теперь займёмся автоманизацией переноса остальных записей.

  • На старом сервере создаём ссылки с помощью скрипта create_links.sh:
  • Подготовим скрипт update_pass.sh для восстановления паролей. Для этого используем скрипт import.sh подготовленный во время переноса пользователей:

проверьте, что в нём остались только записи вида:

  • Создадим временных каталог и сделаем его общедоступным:

В нём будем вести журнал выполнения синхронизации, сюда же положим дополнительные файлы


Учтите, что синхронизация идёт довольно долго. После завершения, загляните в журнал, всё ли прошло успешно, если да, то можно удалять каталог /tmp/zimbra

Подробней про миграцию на Zimbra можно узнать на официальной странице

Настройка алиасов домена

Подробней можно узнать на официальной страничке

Борьба со спамом

Этому посвящена специальная статья на вики Zimbra (на англ.).

Чтобы добавить правило, редактируем файл /opt/zimbra/conf/salocal.cf.in, добавляя две строки:

После этого нужно перезагрузить zimbra:

но может быть будет достаточно перезагрузить только модуль антиспама:

Ограничение размера ящика и письма

Zimbra в качестве MTA использует Postfix, где эти ограничения задаются переменными:

Конфигурационный файл /opt/zimbra/postfix/conf/main.cf генерируется при каждом запуске зимбры, поэтому исправлять его нет смысла. Редактируем файл /opt/zimbra/conf/zmmta.cf, но так как он доступен только для чтения, то сначала придётся сменить права:

Находим вышеуказанные переменные, присваиваем нужные значения, перезагружаем зимбру:

Маршрутизация почты (mail routing)

Так как Zimbra использует Postfix как МТА, то маршрутизацию (перенаправление) почты настраиваем в нём. Создаём файл с описанием маршрутов /opt/zimbra/postfix/conf/transport-table:

  • Подробнее про маршрутизацию почты в Zimbra см в официальной документации:
      см. аналог в Postfix
    • ещё один вариант настройки таблицы маршрутизации, через управление доменами

    Все команды запускаются от имени пользователя zimbra:

    $ zmcontrol - управление всеми сервисам Zimbra сразу (status | stop | start | maintenance)

    $ zmcontrol <имя_сервиса> команда - управление отдельным сервисом (status | stop | start | maintenance)

    $ zmprov - работа с каталогом (LDAP). Запустив без параметров, зайдём в командный интерфейс и получим мощный инструмент для адмиинистрирования:

    На оффициальной вики можно узнать подробней про команду Zmprov и примеры с ней.

    Не отображается "Статистика сервера"

    Не отображается "Статистика сервера", при попытке обновить, выдаёт ошибку:

    Решение:нужно доустановить rsyslog и выполнить его настройку от рута:

    переключиться на пользователя zimbra и перезапустить:

    Unable to commit database transaction

    более подробное описание можно почитать в журнале mysql_error.log поискав по ключевому слову "error".

    Решение: перезагрузить сервер. Ошибка исчезнет если была проблема в кэше. Если ошибка не исчезла, то нужно восстанавливать таблицу(ы), см. Forcing InnoDB Recovery

    Читайте также: