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.