Сервер коллективной работы Zimbra

21 Янв
2008

Статья напечатана в журнале Системный Администратор

Организация совместной работы нескольких сотрудников дело весьма не простое, сегодня существует множество решений альтернативных таким известным продуктам как Microsoft Exchange, IBM Lotus Notes и SUSE Linux Openexchange Server. Я уже писал о своих впечатлениях об одной из систем для групповой работы eGroupware http://www.tux.in.ua/articles/17, там же дано его краткое сравнение с имеющимися решениями. Проект Zimbra Collaboration Suite (ZCS) (http://www.zimbra.com/) хотя по своим функциональным возможностям и уступает названным выше решениям, но зато имеет ряд интересных свойств позволяющих в некоторых случаях составить им весьма серьезную конкуренцию.

Что представляет собой Zimbra?

В состав Zimbra входит вообщем то стандартный набор для систем коллективной работы. Это почтовый сервер позволяющий работать с почтой как через веб-интерфейс, так и с помощью клиентских программ по протоколам POP/POPS и IMAP/IMAPS. Причем из коробки поддерживается фильтрация спама и антивирусная проверка. Простота настройки этой почтовой системы не осталась не замеченной, поэтому некоторые администраторы используют Zimbra просто в качестве почтового сервера. Но это не все. Кроме этого в состав Zimbra входит система управления контактами, календарь с возможностью планирования событий и он-лайн редактор документов Zimbra Document .

Работа с Zimbra Document

Если календарь стандартен, то о Document нужно сказать пару слов. В его состав входит текстовый редактор позволяющий создавать документы в WYSIWYG режиме в формате Rich Text или HTML. Поддерживается работа с буфером обмена, что пока еще редкость для подобных решений, и что особенно важно редактор понимает кириллические шрифты. Поэтому проблем с набором документов не будет. Есть возможность вставки таблиц и изображений. Интересен пункт Insert Spreadsheet, который позволяет вставить в документ электронную таблицу (для ее работы нужно включить в браузере JavaScript). К документу другие пользователи могут получить доступ через веб-браузер, но необходимо точно знать его URL. Чтобы другие пользователи могли узнать о новом документе, ссылку на него можно публиковать в виде RSS/Atom.

Не заблудиться в больших объемах информации, позволяет мощная система контекстного поиска. Используя Advanced Search можно искать нужное слово по любому полю электронного письма, включая тексты сообщений, вложения и документы. А чтобы не потерять сообщения, содержащие определенную тематику, но полученные от разных пользователей можно задействовать систему тегов (Tags). При получении такого письма просто выбираем в меню пункт “Tag Conversation” и указываем, к какому тегу относится это сообщение. Если тега по данной теме еще нет, то выбираем “New Tag” и создаем новый тег. Все просто и одновременно удобно.

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

Управление учетными записями

Если это дата, то появится окно календаря показывающее запланированные события на этот день, при чем понимаются некоторые английские слова вроде tomorrow, today. Аналогично при наведении мышки на рисунок во вложении во всплывающем окне будет показано его изображение. Если это имя документа, то показывается его создавшего имя пользователя, URL по которому можно его прочитать остальным пользователям.

В качестве браузера можно использовать любое популярное сегодня решение -Internet Explorer, Mozilla Firefox или Safari. Поэтому при использовании Zimbra нет необходимости соблюдать единообразие программной среды в организации.

Но это еще не все сюрпризы. Разработчики предоставили специальное API, позволяющее создавать дополнительные плагины расширяющие возможности Zimbra, называемые zimlets. Зимлеты предназначены для интеграции c ZCS продуктов и сервисов разработанных третьими лицами. Все что сказано выше как раз и реализуется с помощью zimlets, но это далеко не все. Например если навести мышку на адрес в сообщении, зимлет подключившись к Yahoo Maps покажет карту с местонахождением этой точки. Или щелчок на телефонном номере запустит Skype, Cisco VoIP или GnomeMeeting позволяя сразу поговорить с этим человеком. Посетив демо-страницу проекта (http://zimbra.com/demo/) или скачав ролик можно познакомиться с основными возможностями zimlets.

Настройки сервера

Дополнительно компания разрабатывает Zimbra Desktop, который пока находится в состоянии альфы. Zimbra Desktop позволяет работать с почтой, документами как при наличии соединения с сервером, так и автономно. В последнем случае при появлении соединения вся информация будет автоматически синхронизирована с сервером.

Интерфейс Zimbra локализован, хотя и не полностью, но на вполне достаточном уровне, чтобы пользователи могли работать без проблем. Некоторую информацию о процессе локализации можно получить на странице http://wiki.zimbra.com/index.php?title=Translations.

Серверная часть написана на Java, при этом использованы сторонние открытые разработки, среди которых Apache, MySQL, Sleepycat, OpenLDAP, Postfix, POP3/IMAP4 прокси Perdition, Cyrus-SASL и некоторые другие. В настоящий момент бинарные версии доступны для различных дистрибутивов Linux (RedHat/Fedora 4 и 5, SUSE 9/10, Debian 3.1, Ubuntu 6.*, Mandriva 2006) и Mac OS X. В принципе если бы была версия почтового сервера Postfix для Windows, возможно был бы и вариант и под эту систему, так как все остальные компоненты кроссплатформенные. Можно скачать и CVS версию.

Есть два варианта распространения Zimbra. Платные версии Network Standard Edition, Network Professional Edition исвободная Open Source Edition, предоставляемая бесплатно. Если посмотреть документ “Zimbra Collaboration Suite Feature List” то можно заметить, что особых функциональных ограничений, которые бы мешали его использовать в организациях среднего размера в Open Source Edition нет. Несколько сокращены инструменты администратора (например, нет инструмента миграции с Microsoft Exchange), отсутствует возможность синхронизации с Apple iSync и Outlook, нет системы резервного копирования и восстановления документов, возможности поиска в почтовых вложениях, создания писем в формате HTML и работы в кластере. Также следует обратить внимание, что некоторые функции не доступны в Mac OS X и SUSE Linux. Zimbra Desktop свободен для пользователей обеих лицензий.

Установка Zimbra в Ubuntu

Использование Java наложило свой отпечаток на системные требования. Так разработчиками для тестирования рекомендуется компьютер с 32 или 64-битным процессором с частотой 1,5 Гц, 1 Гб оперативной памяти и 5 Гб свободного места на жестком диске, без учета места требуемого при обновлении продукта и почтовых ящиков пользователей. При попытке использовать более слабое оборудование, вы столкнетесь с жуткой медлительностью Zimbra. А для рабочей системы эти требования выше.

В списке поддерживаемых дистрибутивов Ubuntu есть, но пытаться установить Zimbra на “Feisty Fawn” 7.04 даже не стоит пробовать, следует использовать версии 6.06 LTS “Dapper Drake” или Ubuntu 6.10 “Edgy Eft”. Причем в варианте Server. Если целью установки является знакомство, то можно попробовать установить Zimbra и на десктопный (K)Ubuntu, но в этом случае следует обязательно удалить все связанное с Apache, почтовыми серверами, LDAP и прочее, что может вызвать конфликт портов. Также следует в файл /etc/hosts записать FQHN имя своего сервера, а запись для localhost должна выглядеть так:

127.0.0.1 localhost.localdomain localhost

Любое недоразумение сразу же приведет к ошибке при установке. Дальше все просто. Скачиваем архив под свой дистрибутив (чуть больше 200 Мб), распаковываем его и запускаем установочный скрипт.

$ tar xzvf zcs-4.5.6_GA_1044.UBUNTU6.tgz

$ cd zcs

$ sudo ./install.sh

Вначале скрипт проверит наличие всех необходимых пакетов.

Checking for prerequisites…

NPTL…FOUND

sudo…FOUND sudo-1.6.8p12-1ubuntu6

libidn11…FOUND libidn11-0.5.18-1

curl…FOUND curl-7.15.1-1ubuntu2

fetchmail…MISSING

libpcre3…FOUND libpcre3-6.4-1.1ubuntu4

libgmp3c2…FOUND libgmp3c2-4.1.4-11ubuntu2

libexpat1…FOUND libexpat1-1.95.8-3

libxml2…FOUND libxml2-2.6.24.dfsg-1ubuntu1

libstdc++6…FOUND libstdc++6-4.0.3-1ubuntu5

libstdc++5…FOUND libstdc++5-1:3.3.6-10

openssl…FOUND openssl-0.9.8a-7ubuntu0.3

Если какого-то пакета не будет найдено, напротив его имени выводится MISSING, а скрипт по окончании анализа заканчивает свою работу. Устанавливаем недостающее и повторяем попытку. Если этот шаг пройден нормально, скрипт проверяет наличие пакетов и запрашивает разрешение на установку каждого. Последнее несколько непонятно, так как в состав Zimbra входит 8 пакетов и только один zimbra-snmp отмечен в документации как опциональный, без остальных вся система работать просто не будет. Вероятно это наследие версии Network. Далее выдается запрос на разрешение модификации системы.

The system will be modified. Continue? [N]

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

Change domain name? [Yes]

Create Domain: [server.com]

Далее проверка конфликта портов и выводится меню установки.

Checking for port conflicts

Main menu

1) Hostname: server.com

2) Ldap master host: server.com

3) Ldap port: 389

4) Ldap password: set

5) zimbra-ldap: Enabled

6) zimbra-store: Enabled

+Create Admin User: yes

+Admin user to create: admin@server.com

******* +Admin Password UNSET

+Enable automated spam training: yes

+Spam training user: spam.vzq5qdm1@server.com

+Non-spam(Ham) training user: ham.oq548wueku@server.com

+Global Documents Account: wiki@server.com

+SMTP host: server.com

+Web server HTTP port: 80

+Web server HTTPS port: 443

+Web server mode: http

+Enable POP/IMAP proxy: no

+IMAP server port: 143

+IMAP server SSL port: 993

+POP server port: 110

+POP server SSL port: 995

+Use spell check server: yes

+Spell server URL: http://server.com:7780/aspell.php

7) zimbra-mta: Enabled

8) zimbra-snmp: Enabled

9) zimbra-logger: Enabled

10) zimbra-spell: Enabled

r) Start servers after configuration yes

s) Save config to file

x) Expand menu

q) Quit

Address unconfigured (**) items (? – help)

Любое значение указанное выше, сейчас можно откорректировать. Особое внимание следует обратить на пункты отмеченные звездочками, означающие не настроенный параметр. В нашем случае это “Admin Password” показывающее на отсутствие пароля администратора. Для вызова нужного пункта нажимаем соответствующую ему цифру, в нашем случае это 6, появляется еще одно меню в котором “Admin Password” стоит четвертым по списку. Нажимаем 4 и вводим пароль.

Password for admin@server.com (min 6 characters): [4HkOvKOtNw] p@ssw()rd

Чтобы перейти в старшее меню, нажимаем “r”, клавишей “s” сохраняем настройки и для выхода из меню используем “q”. Некоторое время еще понадобится для создания всех настроек, по окончании скрипт предложит информировать компанию-разработчика о новом сервере.

Notify Zimbra of your installation? [Yes]

Можно отказаться от этого шага. Вот собственно и весь процесс установки.

В некоторых случаях скрипт иногда и без объяснимых причин завершает работу с ошибкой. Перед повторной установкой следует деинсталлировать все пакеты.

$ ./install.sh -u

Или введя “sudo dpkg –r имя_пакета”, и обязательно удалить каталог /opt/zimbra.

$ sudo rm –Rf /opt/zimbra. После этого повторяем процесс установки.

Локализация Zimbra

Русская локализация в отличие от некоторых других языков в поставку по умолчанию не входит. Вероятно это связано с тем, что работа еще далека от завершения так из 8 файлов на сегодняшний день частично переведены только 4. Нужные файлы можно найти на странице http://zimbra-xtras.svn.sourceforge.net/viewvc/zimbra-xtras/trunk/ZimbraTranslations/data/Russian_ru/messages/. Копируем их в каталог сервера.

$ sudo cp *.properties /opt/zimbra/tomcat/webapps/zimbra/WEB-INF/classes/msgs/

$ sudo cp *.properties /opt/zimbra/tomcat/webapps/zimbraAdmin/WEB-INF/classes/msgs/

Следующего файла для русского языка пока нет, но возможно он скоро появится.

$ sudo cp ZsMsg*.properties /opt/zimbra/conf/msgs/

После этого перезапускаем Zimbra.

$ sudo /etc/init.d/zimbra restart

Или воспользуемся утилитой zmcontrol.

$ su – zimbra

$ zmcontrol restart

Параметр status должен показать список сервисов.

$ zmcontrol status
Host server.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
snmp Running
spell Running

Выставляем в браузере язык, предпочитаемый для отображения страниц (в Firefox Настройки – Дополнительно – Общие) и можно регистрироваться.

Использование веб-интерфейса

Для регистрации в системе используем логин вида admin@server.com и пароль введенный во время установки. Доступно два интерфейса. Обычные пользователи для работы с почтой, документами и календарем должны набирать в браузере URL сервера без указания номера порта. Следует также отметить, что здесь можно работать в одном из двух вариантов веб-клиента: расширенном и базовом. Переход между которыми осуществляется по ссылке на странице регистрации пользователя. В базовом варианте отсутствует все, что связано с AJAX, то есть работа с документами, всплывающие подсказки и прочее. Доступны только календарь и работа с почтой, интерфейс в базовом варианте в настоящее время не переведен. Разобраться, как работать с почтой в любом варианте очень просто.

Чтобы получить доступ к административной консоли следует набрать ссылку

https://server.com:7071/. Принимаем сертификат сервера и регистрируемся. Администратору доступны четыре вкладки:

- Адреса – управление аккаунтами пользователей, создание алиасов, листами распространения и ресурсами, просмотра почты пользователей и смена пароля (см.рис.2);

- Конфигурация – глобальные настройки доступных возможностей сервера, тем, параметров по умолчанию (квоты, длина и время жизни пароля), серверного пула, включение и установка zemlets, настройки домена, виртуальных узлов и прочее;

- Мониторинг – вывод статуса и статистики сервера;

- Tools – управление почтовыми очередями.

Система очень проста в администрировании, все находится на своих местах, без «сюрпризов», поэтому разобраться со всеми настройками человеку, понимающему процесс очень просто. Так чтобы завести новую учетную запись достаточно нажать “Учетные записи – Новый – Учетная запись” и заполнить поля. Аналогично создаются и любые другие объекты.

Следует отметить удобство при администрировании большого количества серверов и доменов. Так изначально для всех серверов действуют установки указанные в “Конфигурация – Глобальные настройки” . Если необходимо создать несколько групп серверов с различными параметрами, следует создать новый класс сервера, в котором их и указать. Затем при создании нового домена выбираем нужный класс, и все настройки будут наследованы. Затем уже во вкладке серверы эти настройки можно будет переопределить персонально для каждого. Таким образом, параметры будут примененные в таком порядке – Глобальные настройки – Класс сервера и персональные настройки. В настройках сервера есть кнопки позволяющие сбросить параметр до глобального значения.

По умолчанию устанавливается только 5 zimlets. Все остальные находятся в каталогах /opt/zimbra/zimlets и zimlets-extra. Чтобы добавить любой из них следует выбрать ссылку Zimlets, нажать кнопку “Deploy New” и указать на выбранный архив. При следующей регистрации пользователя новый zimlets (не все, работа некоторых скрыта) появится в поле Зимлеты. В дальнейшем пользователь самостоятельно настраивает параметры зимлета, вызвав контекстное меню.

Кроме веб-интерфейса настройками Zimbra можно управлять и с помощью большого команд, запускать которые необходимо от имени пользователя zimbra. Подробно команды расписаны в приложении A “Zimbra OS Admin Guide”.

Итак Zimbra весьма интересный функционально и главное простой в установке и администрировании сервер коллективной работы с настройками которого справится и администратор с небольшим опытом. Используя дополнительные модули расширения можно еще больше нарастить его возможности.

Ссылки:1. Яремчук С. Устанавливаем eGroupware – Журнал “Системный администратор”, № 3, 2007 г. – 36 – 41 с.

2. Сайт проекта Zimbra – http://www.zimbra.com/

3. Демо-версия Zimbra – http://zimbra.com/demo/

4. Локализация Zimbra – http://wiki.zimbra.com/index.php?title=Translations

5. Пакеты для локализации Zimbra – http://zimbra-xtras.svn.sourceforge.net/viewvc/zimbra-xtras/trunk/ZimbraTranslations/data/Russian_ru/messages/

9 Комментариев к Сервер коллективной работы Zimbra

Аватар

ZAmir

Февраль 13th, 2008 | 15:23

можно ли для клиентов использующих the bat создать сертификат на zimbra сa.pem
если да то подскажите пожалуста как?

Аватар

grinder

Февраль 13th, 2008 | 18:04

Аватар

samba

Март 10th, 2008 | 19:50

Если скрипту что-то будет непонятно с действительным именем домена, то возможно последует вопрос о его смене.
Также следует в файл /etc/hosts записать FQHN имя своего сервера, а запись для localhost должна выглядеть так:
127.0.0.1 localhost.localdomain localhost
А можно подробнее в этом моменте
далее в файле hosts
xx.xx.xx.xx server1.mydomain.ru … что такое FQHN

Аватар

grinder

Март 10th, 2008 | 20:29

FQHN – Fully Qualified Host Name

/etc/hosts
11.22.33.44 server.domain.com

Аватар

Demeo

Ноябрь 4th, 2008 | 8:43

Русская локализация в коробку уже входит :)

Аватар

oticket

Сентябрь 24th, 2009 | 16:44

статья на 4, сервер на 3:
попробуйте восстановить этот «сервер» после падения.

одноразовый софт!

Аватар

Plastilin

Декабрь 2nd, 2009 | 23:20

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

Аватар

Александр

Март 31st, 2010 | 11:04

Есть ли возможность на действующем сервере Zimbra сменить пользователя admin@мой_домен на другое имя пользователя?

Аватар

Почтовый сервер на базе Ubuntu – Zimbra Collaboration Suite (ZCS)

Апрель 2nd, 2010 | 22:42

[...] начала можно почитать обзор сервера коллективной работы ZCS и попробовать демонстрационную версию. Почтовый [...]

Комментировать

Наверх