Содержание статьи
Системы групповой работы по праву занимают одно центральных мест среди must
have приложений в организациях разных типов. Решения класса "все в одном" дают
возможность пользователям обмениваться сообщениями, документами, планировать
задачи и многое другое. Продукт Zimbra Collaboration Suite (ZCS),
распространяемый под свободной лицензией, успешно конкурирует со многими
проприетарными аналогами.
Возможности ZCS
Проект калифорнийской компании Zimbra Inc. громко заявившей о себе в 2007
году, сразу привлек к себе внимание. И хотя первые версии по функциональности не
дотягивали до большинства имеющихся тогда OpenSource решений, заложенный в нем
потенциал был огромен, а поэтому интересен многим админам. В результате в
сентябре 2007 года компания была выкуплена Yahoo!, а в начале 2010 перешла к
VMware.
Сегодня в Zimbra
входит стандартный набор приложений, необходимых для любой системы коллективной
работы. В первую очередь это почтовый сервер, позволяющий пользователям работать
с почтой с помощью клиентских программ поддерживающих протоколы POP/POPS и IMAP/IMAPS
или через веб-интерфейс. Обеспечивается фильтрация спама и антивирусная проверка
почты при помощи ClamAV. К слову, простота развертывания почтового сервиса была
оценена еще в первых релизах продукта, поэтому многие админы вместо установки
разношерстной связки сервисов и обеспечения их совместной работы, сразу ставили
Zimbra. Пользователь может настроить сбор почты с других ящиков,
сообщения при этом будут копироваться на сервер Zimbra, поддерживается
работа с несколькими доменами.
Zimbra включает в себя также сервис мгновенного обмена сообщениями (Jabber),
календарь с возможностью планирования событий, систему управления контактами,
систему обмена документами с полноценным WYSIWYG редактором Zimbra Document.
Последний поддерживает форматы RTF, HTML, работу с буфером обмена, и что
особенно важно редактор понимает кириллические шрифты. Предусмотрена возможность
вставки таблиц и изображений, поэтому Zimbra Document может удовлетворить
потребности большинства пользователей, без необходимости дополнительной
установки офисного пакета. Проблем с набором или чтением документов у
пользователя точно не будет. Любой документ можно расшарить, чтобы к нему могли
получить доступ другие участники (для доступа нужно знать URL). Адрес документа
можно отправить по e-mail или публиковать в виде RSS/Atom.
Реализован полноценный поиск по документам, вложениям и текстам e-mail. Для
удобства сообщениям можно присваивать тэги, группируя их, например по
назначению. Также Zimbra обеспечивает двустороннюю синхронизацию со
многими мобильными устройствами (Windows Mobile, iPhone, Nokia E и так далее),
среди веб-интерфейсов доступен и упрощенный вариант, предназначенный для доступа
с мобильных устройств через медленные каналы.
Учетные записи пользователей можно хранить локально, а также в любом LDAP
сервере, в том числе и домене ActiveDirectory.
Разработчики предоставили специальное API, позволяющее создавать
дополнительные плагины называемые zimlets существенно расширяющие возможности
Zimbra. Используя зимлеты достаточно просто интегрировать в ZCS продукты и
сервисы, разработанные третьими лицами или новые функции, создав единую среду,
обладающую нужной функциональностью. И кстати именно благодаря зимлетам
Zimbra получил такую популярность и функциональность. В стандартной поставке
сервера идет несколько десятков зимлетов, по умолчанию устанавливается лишь
малая часть из них.
Как водится в таких случаях приложение использует клиент-серверную
архитектуру. Серверная часть Zimbra Server написана на Java, является POP3/IMAP
сервером, и базируется на нескольких OpenSource проектах, среди которых nginx,
Apache Lucene, OpenLDAP, MySQL, Postfix, POP3/IMAP4 прокси Perdition, ClamAV,
DSPAM и некоторые другие.
Веб-клиент Zimbra Web Client — обеспечивает интерактивный, удобный и что не
менее важно локализованный веб-интерфейс для получения доступа к данным
пользователя. Построен с применением технологии AJAX, что упрощает
взаимодействие пользователя и выполнение ряда операций. Например, достаточно
навести курсор на дату в календаре, как будет высвечены все события дня, если
навести мышку на адрес в сообщении или контакте, сразу будет показана схема
проезда, щелчок на телефонном номере запустит Skype или Ekiga, позволяя сразу
поговорить с этим человеком и так далее.
И, наконец, клиент совместной работы Zimbra Desktop, который обеспечивает
подключение к серверу и синхронизацию данных (почта, контакты, календарь и так
далее), может использоваться в качестве почтового клиента для любого IMAP/POP3
почтового сервиса.
ZCS предлагается в трех версиях: Open Source Edition, Network Edition (Starter,
Standard и Professional) и Zimbra Appliance (Basic, Standard). Первая
распространяется свободно под OpenSource-подобной ZPL лицензией (Zimbra Public
License). Поддерживает неограниченное количество пользователей, и хотя имеет
некоторые ограничения по сравнению с платными версиями, но они никоим образом не
мешают использованию Zimbra в организациях малого и среднего размера.
Несколько сокращены инструменты администратора, отсутствует возможность
синхронизации с внешними устройствами MS Outlook, отсутствует встроенный
механизм резервного копирования и восстановления, невозможность работы в
кластере и другие (см.
таблицу). Хотя отчаиваться не стоит, некоторые "пропущенные" в OpenSource
версии вопросы давно уже решены мощным комюнити проекта. Так, например в Wiki
можно найти несколько вариантов скриптов, предназначенных для резервирования
текущей установки Zimbra.
С Open Source Edition мы и будем знакомиться далее.
Установка ZCS OpenSource Edition
На момент написания этих строк актуальной является версия 6.0.8, которую мы и
будем далее устанавливать в Ubuntu 10.04 LTS. Серверная часть доступна для х32 и
x64 битных версий Linux (Red Hat Enterprise, Fedora, Ubuntu, Debian, Mandriva,
SUSE Linux) и Mac OS X. Кроме этого доступны исходные тексты и последние патчи.
К слову из Ubuntu официально поддерживается установка на 6.06 и 8.04 LTS, версия
10.04 пока находится в бета-стадии и официально пока не поддерживается. Но на
самом деле это не говорит, что это невозможно.
Перед установкой следует правильно настроить разрешение имен на DNS сервере,
мастер установки будет проверять A и MX и в случае неудачи завершит работу с
ошибкой.
Сам процесс установки очень прост и если все требования выполнены, займет не
более 10 минут времени.
Качаем архив, под требуемую платформу. В моем примере используется 64-битная
версия ОС.
$ wget -c
http://files2.zimbra.com/downloads/6.0.8_GA/zcs-6.0.8_GA_2661.UBUNTU8_64.20100820044710.tgz
Распаковываем и запускаем установочный скрипт.
$ tar xzvf zcs-6.0.8_GA_2661.UBUNTU8_64.20100820044710.tgz
$ cd zcs-6.0.8_GA_2661.UBUNTU8_64.20100820044710
Так как Ubuntu 10.04 не поддерживается, используем дополнительный параметр
"--platform-override":
$ ./install.sh --platform-override
Скрипт проверит наличие предыдущих установок Zimbra, и предложит
принять условия лицензии. Затем важная часть проверка записи имени узла в /etc/hosts
и зависимостей. Сама программа установки ничего из репозитария не ставит, это
нужно сделать админу. Если какого-то пакета не будет найдено, напротив его имени
выводится MISSING, а скрипт по окончании анализа заканчивает свою работу.
Доустанавливаем что не хватает, и повторяем.
$ sudo apt-get install libpcre3 libgmp3c2 libgmp3-dev sysstat libexpat1
wget
Если этот шаг пройден нормально, скрипт проверяет наличие пакетов в архиве и
запрашивает разрешение на установку каждого (всего их 11). По умолчанию мастер
предлагает установить все компоненты, за исключением zimbra-memcached и
zimbra-proxy (прокси POP3, IMAP и HTTP). Причем, если выбран zimbra-proxy, то
memcached будет установлен автоматически. Далее выдается запрос на разрешение
модификации системы. Соглашаемся, и начинается собственно процесс установки
пакетов и настройки параметров. Теперь скрипт запросит DNS сервер на предмет
имени узла Zimbra, если ответ (A и MX) не будет совпадать с записью в /etc/hosts,
последует вопрос о смене. Далее проверка конфликта портов и выводится меню
установки, в котором можно откорректировать любое значение. Особое внимание
следует обратить на пункты, отмеченные несколькими звездочками, это означает не
настроенный параметр. Как минимум один такой есть - "Admin Password", означающий
на отсутствие пароля администратора. Для изменения нужного пункта нажимаем
соответствующую ему цифру. Так чтобы установить пароль, выбираем 3, появляется
еще одно меню, ищем "Admin Password" и нажимаем цифру (она опять будет
подсвечена ***), после чего вводим дважды пароль.
Чтобы перейти в старшее меню, нажимаем "r", клавишей "s" или "a" сохраняем
настройки (скрипт выдаст имя файла) и для выхода из меню используем "q". Вот
собственно и весь процесс установки. Еще некоторое время будут настраиваться
сервисы, вся информация по установке будет сохранена в /opt/zimbra/log.
К слову убрать Zimbra так же просто, как и установить. Вначале вводим
команду:
$ ./install.sh --uninstall
Затем обязательно удаляем каталог /opt/zimbra, в нем даже после удаления
сохраняются все настройки.
Веб-интерфейсы Zimbra
После установки серверной части будет доступно два интерфейса. Обычные
пользователи для работы с почтой, документами и календарем должны набирать в
браузере URL сервера без указания номера порта. При входе можно будет выбрать
один из трех вариантов, который подходит для разных условий - стандартный (HTML),
расширенный (AJAX) и мобильный телефон. В стандартном варианте отсутствует все,
что связано с AJAX, то есть встроенная работа с документами, всплывающие
подсказки и прочие удобства. Так если выбрать созданный документ находящийся в
Портфеле его будет предложено сохранить на локальном диске или открыть во
внешней программе, в расширенном сразу откроется редактор. В стандартном
интерфейсе доступны календарь, задачи, ежедневник, работа с почтой, адресная
книга и портфель. Разобраться, как работать с пользовательским интерфейсом очень
просто. Особенно учитывая, что доступна он-лайн справка на русском языке, в
которой достаточно подробно описаны все тонкости работы. Собственно из-за
простоты и любят Zimbra админы, всего пара команд и толковый почтовый
сервер развернут.
Управление Zimbra из консоли
Кроме веб-интерфейса, настройками Zimbra можно управлять и с
помощью большого количества команд, выполнять которые необходимо под учетной
записью zimbra. Список всех команд доступен в документации на сайте проекта
"Zimbra
CLI Commands". Например системная команда "service zimbra status" по
сути обращается к утилите zmcontrol.
zmcontrol (status | stop | start | maintenance | startup)
Чтобы обратиться к отдельному сервису просто указываем его имя. По
умолчанию идет опрос на локальной системе, но добавив параметр -H можно
указать удаленный сервер.Утилита zmaccts позволяет получить данные об аккаунтах, zmprov
модифицировать данные LDAP, с его помощью можно например настроить алиасы
для домена, создать учетные данные и так далее. Плюс для каждого сервиса
можно найти специфическую команду.
Веб-интерфейс администратора "находится" на 7071 порту. Набираем в браузере
ссылку https://server.com:7071, для входа используем логин admin и пароль
указанный во время установки.
После входа попадаем во вкладку "Состояние сервера", где показан статус всех
установленных сервисов. Основное управление находится в пяти меню:
- Адреса – управление аккаунтами пользователей, создание алиасов, листами
распространения и ресурсами, просмотра почты пользователей и смена пароля; - Конфигурация – глобальные настройки доступных возможностей сервера, тем,
глобальные настройки (квоты, длина и время жизни пароля) и класс
обслуживания, включение и установка zemlets и расширений администрирования,
настройки домена и серверного пула; - Мониторинг – вывод статуса сервисов и статистики сервера за разный
период времени (количество сообщений, вирусная и спам активность, при
необходимости легко можно добавить график загруженности CPU, отдельного
сервиса и так далее); - Сервис – управление почтовыми очередями и сертификатами, обновление ПО
сервера; - Профили поиска - вкладка содержит несколько шаблонов позволяющих быстро
выполнить поиск с определенными условиями (неактивные, блокированные,
административные учетные записи и так далее).
При таком большом количестве опций, система на самом деле очень проста в
администрировании, все настройки находятся на своих местах и производятся так
как ожидаешь, без каких-либо "сюрпризов". Поэтому разобраться с управлении
человеку, понимающему чего он хочет в итоге получить, очень легко.
После установки в системе присутствует несколько учетных записей -
администратора, wiki и обучения спам-фильтра. Чтобы добавить нового пользователя
достаточно выполнить "Учетные записи – Создать – Учетная запись" и заполнить
предложенные поля. Предусмотрен импорт с файла в формате CSV, для этого
достаточно выбрать Другие действия - Групповая подготовка. Файл должен содержать
строки - логин, имя и пароль, разделенные запятой. Например:
user@domain.com,name,password
Если пароль не указан, пользователю будет задан случайный пароль, который он
должен будет сменить при первом входе. Аналогично просто создаются псевдонимы,
списки рассылок и ресурсы. В интернет можно найти несколько готовых решений
позволяющих произвести миграцию почтовых ящиков, календарей и т.п. в Zimbra
из других систем. Чтобы их найти просто вбей в гугле, что-то вроде "to Zimbra
migration". Основную информацию по переносу пользовательских аккаунтов можно
получить по ссылкам на
Wiki
проекта.
Следует отметить удобство при администрировании большого количества серверов
и доменов. Так изначально для всех серверов действуют установки указанные в двух
подпунктах Конфигурация – Глобальные настройки и Класс обслуживания. Последние
представляют своего рода политики для аккаунтов пользователей, серверов и
доменов. По умолчанию присутствует один класс default, который и наследует
сервер или группы серверов Zimbra.
В том случае если для каждого сервера необходимо использовать разные
параметры, следует создать новый класс сервера, в котором их и указать.
Настройка класса содержит 7 вкладок, в которых настраиваются возможности
сервера, параметры клиента (HTML и AJAX), поиск, отправка и получение почты,
отправка получение приглашений календаря, доступные темы и модули Zimlet, лимиты
ресурсов и многие другие. Следует внимательно пройтись по всем вкладкам и
выставить параметры в соответствии с требованиями.
Например, в классе default отключена функция Мессенджер отвечающая за работу
системы мгновенного обмена сообщения, если такой сервис нужен, его следует
включить.
Язык интерфейс выбирается автоматически по установкам браузера, но в
большинстве случаев его лучше сразу зафиксировать во вкладке Настройки - Язык.
Здесь же в подразделе "Параметры еженедельника" указываем часовой пояс и первый
день недели в календаре (по умолчанию воскресенье это неудобно). По окончанию не
забываем нажать кнопку Сохранить.
При создании нового домена или редактирования настроек имеющегося, просто
выбираем нужный класс, и все настройки которого будут наследованы. Некоторые из
них можно затем переопределить в индивидуальном порядке. Аналогично настройки
переопределяются для каждого отдельного сервера. Например, выбрав вкладку Службы
можно отключить ненужные сервисы.
В Глобальных настройках указывается максимальный размер файла в Портфеле,
список запрещенных расширений файлов, которые будут блокироваться, настройки MTA,
POP, IMAP, взаимодействие с Exchange и другие.
Таким образом, параметры будут применены в таком порядке – Глобальные
настройки – Класс сервера и персональные настройки. В настройках сервера есть
кнопки позволяющие сбросить параметр до глобального значения.
По умолчанию вместе с сервером устанавливается только 6 zimlets. Все
остальные находятся в нескольких каталогах /opt/zimbra/zimlets*. Чтобы добавить
любой из доступных, следует выбрать ссылку Zimlets, нажать Инсталляция и указать
на выбранный zip архив. При следующей регистрации пользователя новый zimlets (за
исключением некоторых) появится в списке. В дальнейшем пользователь
самостоятельно настраивает параметры зимлета при помощи контекстного меню.
Заключение
Итак, практически не прилагая особых усилий, всего лишь введя несколько
команд, мы получили полнофункциональный сервер, обеспечивающий все необходимые
инструменты для организации коллективной настройки. В дальнейшем управлять им
может любой пользователь, не обладающий продвинутыми знаниями по
администрированию *nix систем и сетевых сервисов. Используя дополнительные
модули расширения можно еще больше нарастить его возможности.
INFO
Список портов которые необходимо открыть в брандамауэре для работы
Zimbra - 22, 25, 80, 110, 143, 389, 443, 993, 995, 7025.