CentOS: Zimbra — хороший почтовик, и не только.
Поиск идеальной почтовый системы — это, пожалуй, одно из самых сложных занятий на *nix платформе. Существует огромнейшее количество всевозможных комбинаций различного ПО, для создания полноценной почтовой системы, что порой даже удивляешься — откуда их столько? Просто по тому что на *nix платформах немного другой подход к созданию приложений — одно приложение должно выполнять одну функцию, но делать это хорошо, эт традиция началась на заре компьютерных технологий, когда объёмы оперативной памяти исчислялись десятками килобайт. По этому такая связка как Postfix + Dovecot + MySQL + Spamassassin + spamass-milter + Postfixadmin + Roundcubemail + ClamAV вполне нормальна для создания полноценной почтовой системы. Но в то же время — такая конструкция крайне сложная для начинающих админов, желающих перейти с Windows платформы (и отказать от вареза или покупки лицензии для новой версии ОС/почтовика). Но ни что не стоит на месте, в том числе и разработчики ПО. За последние года вычислительные мощность процессоров выросли на порядок, а цены на оперативную память упали до неприличных значений, по этому в наше время создание ПО для *nix систем «всё в одном», выглядит вполне нормально. Об одной такой системы мы сегодня и поговорим — Zimbra Collaboration Suite (ZCS).
Zimbra была разработана компанией Zimbra, в 2007-м году её купила Yahoo, а в 2010 выкупила VMware.
ZCS предлагается в пяти версиях: Open Source Edition, Consumer Edition, Business Email Edition, Standard Edition, Professional Edition. Версии Consumer Edition и Business Email Edition доступны только для хостинг-провайдеров. Мы будем говорить о Open Source Edition. Помимо серверной части, Zimbra так же предлагает и клиентское ПО ка кдля десктопов (Windows, Linux, Mac OS), так и для мобильных устройств (Nokia Eseries, BlackBerry, Windows Mobile, iPhone). Я не буду говорить о клиентах, по той простой причине что не вижу особой надобности — работать с Zimbra сервером можно из любого, любимого вами почтового клиента, календаря, записной книги. В частности я спокойно подключил почтовый ящик
адресную книгу
и календарь
и всё это замечательно работает.
При этом, у нас так же, естественно, есть и web-интерфейс для всего этого
Я не буду вдаваться в подробности настройки самой ZCS, я ду маю что как-нибудь напишу отдельную заметку на эту тему, а пока мы его просто установим. В качестве ОС я снова использую CentOS, по тому установка будет простой и быстрой.
Для начала нам нужно избавится от postfix`а, который идёт в комплекте с ситемой.
korp # service postfix stop
korp # chkconfig postfix off
Устновить необходимые модули
korp # yum install nc libstdc++.i686 sysstat
Внесём небольшие изменения, что бы можно было выполнить sudo без терминала
korp # nano /etc/sudoers
#Defaults requiretty
Обязательно в hosts дольжна быть запись такого вида о вашем сервере, иначе установщик Zimbra будет очень сильно ругаться (а так же верный HOSTNAME в /etc/sysconfig/network).
korp # nano /etc/hosts
192.168.0.10 mail.korphome.ru mail
Теперь можно скачать последнюю версия ZCS с сайта разработчиков.
korp # wget http://files2.zimbra.com/downloads/8.0.3_GA/zcs-8.0.3_GA_5664.RHEL6_64.20130305090204.tgz
Распаковываем, заходим
korp # tar xvf zcs-8.0.3_GA_5664.RHEL6_64.20130305090204.tgz
korp # cd zcs-8.0.3_GA_5664.RHEL6_64.20130305090204
Запускаем инсталятор
korp # ./install.sh --platform-override
Сам процесс установки описывать не буду, он достаточно прост и понятен без подсказок, установщик прекрасно пишет что он делает и чего он хочет от вас. В крайнем случае можно посмотреть видео по установке на youtube
После установки добавляем в автозапуск
korp # chkconfig zimbra on
Что мне ещё понравилось в Zimbra, так это ежедневные отчёты, вот пример стандартного ежедневного отчёта:
Grand Totals ------------ messages 27 received 59 delivered 0 forwarded 4 deferred (14 deferrals) 16 bounced 0 rejected (0%) 0 reject warnings 0 held 0 discarded (0%) 34048 bytes received 125547 bytes delivered 4 senders 4 sending hosts/domains 5 recipients 4 recipient hosts/domains Per-Hour Traffic Summary time received delivered deferred bounced rejected -------------------------------------------------------------------- 0000-0100 0 0 0 0 0 0100-0200 0 0 0 0 0 0200-0300 0 0 0 0 0 0300-0400 1 1 0 2 0 0400-0500 0 0 0 0 0 0500-0600 0 0 0 0 0 0600-0700 0 0 0 0 0 0700-0800 0 0 0 0 0 0800-0900 0 0 0 0 0 0900-1000 0 0 0 0 0 1000-1100 0 0 0 0 0 1100-1200 0 0 0 0 0 1200-1300 2 6 0 2 0 1300-1400 0 0 0 0 0 1400-1500 6 6 0 12 0 1500-1600 0 0 0 0 0 1600-1700 0 0 0 0 0 1700-1800 0 0 0 0 0 1800-1900 0 0 0 0 0 1900-2000 0 0 0 0 0 2000-2100 5 10 14 0 0 2100-2200 4 17 0 0 0 2200-2300 8 16 0 0 0 2300-2400 1 3 0 0 0 Host/Domain Summary: Message Delivery (top 50) sent cnt bytes defers avg dly max dly host/domain -------- ------- ------- ------- ------- ----------- 31 32913 3 1.9 m 56.6 m mail.korphome.ru 23 73675 11 9.1 m 1.4 h korphome.ru 3 3368 0 1.3 s 2.5 s bk.ru 2 15591 0 2.0 s 2.4 s me.com Host/Domain Summary: Messages Received (top 50) msg cnt bytes host/domain -------- ------- ----------- 17 7921 mail.korphome.ru 6 20959 me.com 2 3677 gmail.com 2 1491 korphome.ru top 50 Senders by message count ------------------------------- 17 zimbra@mail.korphome.ru 6 e.elizarov@me.com 2 korpmac@gmail.com 2 eli.ei@korphome.ru top 50 Recipients by message count ---------------------------------- 30 admin@mail.korphome.ru 23 eli.ei@korphome.ru 3 korp@bk.ru 2 e.elizarov@me.com 1 virus-quarantine.xmc3kb7do@mail.korphome.ru top 50 Senders by message size ------------------------------ 20959 e.elizarov@me.com 7921 zimbra@mail.korphome.ru 3677 korpmac@gmail.com 1491 eli.ei@korphome.ru top 50 Recipients by message size --------------------------------- 73675 eli.ei@korphome.ru 30203 admin@mail.korphome.ru 15591 e.elizarov@me.com 3368 korp@bk.ru 2710 virus-quarantine.xmc3kb7do@mail.korphome.ru message deferral detail ----------------------- error (total: 1) 1 7025: Connection refused lmtp (total: 13) 13 7025: Connection refused message bounce detail (by relay) -------------------------------- none (total: 16) 9 Host not found 7 mail.korphome.ru message reject detail: none message reject warning detail: none message hold detail: none message discard detail: none smtp delivery failures: none Warnings -------- proxymap (total: 2) 1 dict_ldap_connect: Unable to bind to server ldap://mail.korphom... 1 dict_ldap_lookup: Search error -5: Timed out qmgr (total: 5) 5 problem talking to service rewrite: Connection timed out trivial-rewrite (total: 9) 5 write resolver reply: Broken pipe 2 proxy:ldap:/opt/zimbra/conf/ldap-transport.cf lookup error for "*" 1 proxy:ldap:/opt/zimbra/conf/ldap-vad.cf: table lookup problem 1 virtual_alias_domains lookup failure Fatal Errors: none Panics: none Master daemon messages ---------------------- 2 daemon started -- version 2.10-20121007, configuration /opt/zimbra/postfix-2.10-20121007.2z/conf 2 terminating on signal 15
ну а так же очень милые уведомления о спаме и вирусах. В общем то ничего особенного, мелочь, но всё-равно приятно.
Что касается управления сервером из консоли — он производится под пользователем zimbra, полный список комманд можно найти в мане.
Чёрные и белые списки антиспама
Ящики заносятся в файл /opt/zimbra/conf/amavisd.conf.in в секии a hash-type lookup table. Разрешения на ящик определяются на основе очков, присвоенных ящику. Что бы ящик был в белом списке — кол-во очков должно быть отрицательным, а для добавления в чёрный список соответственно — положительным.
{ # a hash-type lookup table (associative array) ‘nobody@cert.org’ => -3.0, ‘my-email@my-domain.ru’ => -3.0, ‘not-my-email@not-my-domain.ru’ => 10.0,
На этом пожалуй всё. Советую читать внимательно документацию и wiki. А для себя я понял, что это крайне неплохая замена MS Exchange.