Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Zimbra — почтовый сервер и не только.
Zimbra — почтовый сервер и не только.
Zimbra Collaboration Server — известный продукт компании VMWare, который представляет собой не только электронную почту корпоративного уровня, но и календарь, и средство совместной работы, одинаково подходящий как крупным компаниям, так и небольшим фирмам. В данной статье мы рассмотрим установку бесплатной Open Source версии Zimbra на сервер под управлением Ubuntu 12.04 LTS.
И почему все таки Zimbra? Причин несколько. Во-первых просто почта, как средство отправки — получения электронной корреспонденции сегодня мало кого устраивает. Как минимум требуется календарь с возможностью пересылать задачи и контролировать ход их выполнения. Также крайне желательно наличие удобного веб-интерфейса, поддерживающего работу мобильных устройств, для сотрудников находящихся вне офиса. И это — необходимый минимум. Сегодня даже бесплатные почтовые службы готовы предложить многое из перечисленного.
Постоянные читатели помнят, что в свое время мы начали цикл, посвященный почтовому серверу для начинающих, однако с практической частью вышла весьма продолжительная задержка. Мы несколько раз пробовали подготовить материалы и убеждались, что «классическая схема»: Postfix (Exim) + Dovecot весьма сложна для настройки начинающими и не менее сложно администрирование этой связки. А поставил жирную точку на этой схеме тот факт, что получавшийся на выходе продукт годился максимум на почту для хостинга и в корпоративной среде оказывался бесполезен.
В тоже время Zimbra даже в бесплатной версии предоставляет все то, что нужно корпоративным клиентам и весьма проста в установке и использовании. Для установки мы будем использовать сервер под управлением Ubuntu Server 12.04 64-бит и подразумеваем что читатель имеет начальные навыки администрирования Linux, а также располагает необходимым минимумом знаний, хотя бы объеме этих материалов:
Перед тем, как приступать к настройке почтового сервера, следует убедиться что для домена сделана MX-запись, которая указывает на почтовый хост, А-запись которого содержит внешний IP-адрес вашей корпоративной сети.
В нашем случае имя почтового хоста будет mail.interface31.ru и А-запись данного хоста будет указывать на внешний интерфейс нашего роутера, сам почтовый сервер будет располагаться в локальной сети и иметь адрес 10.0.0.25.
При установке системы следует обратить внимание на две особенности:
- Имя почтового сервера должно содержать полное FQDN имя хоста, т.е. в нашем случае mail.interface31.ru.
- Так как сама Zimbra и все сообщения хранятся в /opt есть смысл вынести его на отдельный диск.
После установки обновим систему и приступим к подготовительным работам. Обязательное условие нормальной работы 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. Скачаем дистрибутив с сайта разработчика и разместим архив на сервере, скажем в домашней папке. После чего перейдем в нее и распакуем архив, для ввода длинных имен удобно набрать несколько первых букв и воспользоваться автодополнением по Tab:
Теперь перейдем в распакованную папку и запустим скрипт установки:
Соглашаемся с лицензионными соглашениями и, после проверки необходимых настроек и зависимостей, скрипт предложит вам перейти к установке, либо сообщит какого пакета вам не хватает. В этом случае надо выйти, доустановить зависимости и начать установку заново.
Следующий шаг — выбор устанавливаемых компонентов, в нашем случае принимаем значения по умолчанию и приступаем к установке. В конце установки вы можете получить ошибку DNS, связанную с тем, что Zimbra неправильно определила имя домена, в этом случае необходимо принять предложение инсталлятора и указать домен правильно.
После чего будет выведено основное меню, единственное, что здесь нужно сделать — указать пароль администратора (учетная запись admin), для этого нажимаем 3, затем 4, вводим новый пароль, возвращаемся в основное меню нажав r и подтверждаем изменения клавишей a, после чего скрипт предложит сохранить конфигурацию.
Здесь есть еще один неочевидный момент, при установке Zimbra в первый раз, многие получив на экран сообщение Save config in file: [/opt/zimbra/config. 30316] ждали и не могли дождаться конца операции, в то время как нужно подтвердить сохранение конфига в указанный файл нажав Enter.
Дальнейший процесс не занимает много времени и не способен вызвать каких-либо затруднений. По окончании установки следует проверить что все необходимые службы запущены:
Если какая либо служба не запущена, то пробуем запустить ее командой
Убедившись что все нормально, можно задвигать сервер на полку в серверной, все остальные настройки делаются через удобный веб-интерфейс.
Но не стоит спешить. Для удобства клиентов следует прописать на локальном DNS-сервере запись сопоставляющую имя хоста mail.interface31.ru с внутренним IP-адресом сервера, иначе, находясь в офисе им придется набирать один адрес, а за его пределами другой.
Панель администрирования будет доступна по адресу https://mail.interface31.ru:7071/zimbraAdmin, для входа используем имя admin и пароль заданный на этапе конфигурирования.
Подробное рассмотрение возможных настроек Zimbra выходит за рамки данной статьи, однако стоит отметить что запутаться в админ-панели решительно негде и даже начинающий администратор без труда справится с основными задачами. Например с созданием почтовых аккаунтов.
Теперь можно проверить работу почты. Клиентский веб-интерфейс по умолчанию доступен только по защищенному протоколу, поэтому набираем https://mail.interface31.ru и попадаем на страницу входа, где можно выбрать тип клиента: современный AJAX (по умолчанию), обычный HTML или интерфейс для мобильных устройств.
Работа с почтой не вызовет затруднений даже у самых малоопытных сотрудников: все привычно и стандартно:
Для проверки пробуем отправить почту локальным пользователям, затем на внешний почтовый ящик. Для того, чтобы наш сервер мог получать почту извне нужно опубликовать на внешнем интерфейсе роутера (пробросить) порт 25 SMTP и 443 HTTPS для доступа в веб-интерфейс. Как это сделать в Ubuntu мы рассказывали здесь.
Кроме почты в нашем распоряжении адресная книга, задачи и календарь, события которого можно легко пересылать коллегам.
Попытка даже коротко рассказать о всех возможностях Zimbra выходит далеко за рамки данной статьи и мы оставим ее для следующих материалов, при этом напомнив, что никакой сложности в их освоении нет и обычно сотрудники без труда сами осваивают все новые функции.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Мультисерверная установка Zimbra Collaboration Suite
Существует негласное правило, согласно которому не рекомендуется создавать более 5-6 тысяч почтовых ящиков на одном сервере с Zimbra Collaboration Suite. Превышение этого диапазона чревато значительным ухудшением качества работы сервера и снижением его доступности для пользователей. Но что делать, если у вас в ведении находится крупное предприятие или SaaS-провайдер, продающий доступ к Zimbra Collaboration Suite как услугу, и вам требуется обеспечить электронной почтой 10, 20, 30 и более тысяч человек? Специально для таких случаев в Zimbra существует поддержка мультисерверной установки, при которой почтовые ящики находятся на разных серверах и позволяют сохранять высокую доступность электронной почты даже при больших нагрузках.
Разумеется, мультисерверная установка Zimbra Collaboration Suite значительно отличается от обычной установки на одиночный сервер, процесс которой подробно описан в одной из предыдущих статей. В первую очередь рекомендуется определиться с архитектурой той серверной инфраструктуры, на которую будет устанавливаться Zimbra Collaboration Suite. Наиболее оптимальной в работе будет вот такая конфигурация серверной инфраструктуры. Отметим, что количество серверов для хранения почтовых ящиков может быть любым и количество их, как уже отмечалось, рассчитывается исходя из 5-6 тысяч активных почтовых ящиков на сервер, если доступ к ним будет осуществляться исключительно через веб-клиент, и 3-4 тысячи почтовых ящиков на сервер, если пользователи будут работать с десктопными клиентами и синхронизировать почту с мобильными устройствами.
Один из примеров построения мультисерверной инфраструктуры для Zimbra Collaboration Suite
Zimbra LDAP
Перед началом непосредственной установки убедитесь, что на всех серверах выставлено одинаковое системное время. В первую очередь для мультисерверной инсталляции Zimbra нам необходимо установить и настроить сервер с Zimbra LDAP. При желании Zimbra LDAP можно установить на несколько серверов, один из которых будет выполнять роль основного сервера LDAP, а остальные будут являться вспомогательными серверами LDAP, принимающими на себя часть нагрузки и за счет этого повышающими быстродействие основного сервера. Наличие вспомогательных серверов LDAP также повышает безопасность и отказоустойчивость инфраструктуры с Zimbra.
Во время установки Zimbra на основной сервер LDAP, инсталлятор предложит вам выбрать компоненты для установки. В данном случае нам необходим только zimbra-ldap:
Нажимаем Y и после завершения модификации системы откроется текстовое меню, в котором нас интересует пункт Common configuration. Перейдя в него, видим список основных настроек:
Выбрав пункт 4, вы можете увидеть сгенерированный случайным образом при установке пароль доступа к Zimbra LDAP и при желании изменить его. Также следует изменить часовой пояс на тот, в котором вы в данный момент находитесь. Рекомендуем запомнить или записать куда-то пароль администратора LDAP, а также порт доступа и доменное имя сервера LDAP. Эта информация потребуется вам при настройке серверов с почтовыми ящиками и MTA.
После этого вновь возвращаемся в главное меню и выбираем второй пункт под названием zimbra-ldap. Здесь нас интересуют случайным образом сгенерированные пароли доступа к LDAP root, LDAP replication, LDAP Postfix, LDAP Amavis и LDAP Nginx, которые можно изменить на самостоятельно придуманные. Рекомендуем запомнить или записать пароли от LDAP replication, LDAP Postfix, LDAP Amavis, и LDAP Nginx, так как они пригодятся при дальнейшей настройке серверов с MTA и вспомогательных серверов LDAP. После этого остается лишь применить изменения и согласиться на запись всех настроек в файл. Настройка сервера LDAP завершена.
LDAP Replica
В том случае, если вы хотите настроить вспомогательные серверы LDAP, вам следует на основном сервере LDAP активировать их поддержку при помощи команды /opt/zimbra/libexec/zmldapenablereplica. В дальнейшем, при настройке вспомогательных серверов LDAP, основной сервер должен быть включен.
Установка и настройка вспомогательного сервера LDAP во много повторяет установку и настройку основного сервера. Основные отличия заключаются в процессе настройки после установки. Так, вам надо будет:
- Указать адрес основного LDAP-сервера в качестве LDAP Master host name,
- В поле для ввода порта указать номер порта, который открыт в основном сервере LDAP.
- Случайно сгенерированный пароль LDAP Admin заменить на тот, что установлен на основном сервере LDAP
- В подменю конфигурации LDAP выставить параметр No в поле Create Domain
- Ввести LDAP replication password, который был выставлен при настройке основного сервера.
После этого примените все изменения и сохраните настройки в файл.
Zimbra MTA
Помимо LDAP и почтовых хранилищ, на отдельный сервер нередко выносят Mail Transfer Agent. При установке Zimbra на него следует выбрать только пакеты zimbra-mta и zimbra-dnscache. После этого вновь соглашаемся на изменение системы и переходим к настройке сервера.
В первую очередь нам нужно в Common Configuration указать адрес LDAP-сервера, ввести пароль доступа к LDAP, а также установить корректный часовой пояс. После этого следует перейти в настройки MTA, где следует ввести адрес сервера аутентификации, который обычно совпадает с адресом почтового хранилища. После этого остается только ввести пароли для postfix и amavis, которые мы создавали при настройке основного сервера LDAP. После этого можно применить изменения и сохранить настройки в отдельный файл.
Zimbra Proxy
Этот узел понадобится вам для распределения нагрузки между различными почтовыми хранилищами и MTA. Именно на нем будет происходить аутентификация пользователя, чтобы Zimbra в дальнейшем могла пустить его именно на то почтовое хранилище, на котором хранится почтовый ящик пользователя.При установке Zimbra Proxy следует выбрать только пакеты zimbra-memcached и zimbra-proxy. После этого вновь соглашаемся на изменение системы и переходим к настройке сервера.
В первую очередь нам нужно в Common Configuration указать адрес LDAP-сервера, ввести пароль доступа к LDAP, а также установить корректный часовой пояс. После этого следует перейти в настройки MTA, где следует ввести адрес сервера аутентификации, который обычно совпадает с адресом почтового хранилища. После этого остается только ввести пароли для postfix и amavis, которые мы создавали при настройке основного сервера LDAP. После этого можно применить изменения и сохранить настройки в отдельный файл.
Zimbra Mailbox
Процесс установки Zimbra на сервера, где располагаются почтовые ящики, повторяет процесс установки на сервер LDAP. Главное отличие заключается в выставленных флагах при выборе устанавливаемых компонентов. Нам потребуется следующий набор:
После выражения своего согласия на установку, разрешаем модификацию системы, ждем окончания процесса установки и начинаем процесс настройки сервера. В первую очередь нам надо зайти в пункт Common Configuration и указать адрес сервера LDAP и пароль доступа к LDAP, кроме того рекомендуется проверить, выставлен правильный часовой пояс на сервере. Также, если вы забыли пароль доступа к LDAP, получить его можно введя команду zmlocalconfig -s zimbra_ldap_password на сервере LDAP.
После этого можно приступить к пункту Store Configuration. Тут нам потребуется задать пароль администратора сервера, а также задать доменное имя хранилища с соответствующим номером, чтобы в дальнейшем не возникло путаницы. Кроме того, следует выбрать тип подключения. Например, можно всегда использовать HTTP или HTTPS, включить принудительное использование HTTPS, либо использовать HTTPS только при аутентификации. Также в ходе настройки Zimbra Mailbox потребуется указать в строке SMTP Host адрес соответствующего ему MTA-сервера. После этого можно произвести еще ряд настроек на ваше усмотрение. По окончании настройки необходимо применить изменения и сохранить все настройки в файл.