Linux для всех

индекс
247,21

Обзор и установка почтового сервера iRedMail

Доброго времени суток!

Представляю вашему вниманию обзор, установку и настройку замечательного пакета iRedMail на базе Debian Lenny.

iRedMail — это:

1) Полноценный почтовый сервер.
2) Работает под управлением Red Hat® Enterprise Linux (5.x), CentOS (5.x), Debian(5.0.x), Ubuntu (8.04, 9.04, 9.10), FreeBSD (7.x, 8.0).
3) Работает как и на обычной системе, так и под управлением виртуальной машины: пр. VMware, OpenVZ, Xen.
4) Поддержка архитектур i386 и x86_64.
5) Использует для установки и настройки совместимые компоненты, такие как Postfix, Dovecot, SpamAssassin и т.д.
6) При установке использует бинарные пакеты из вашего дистрибутива.
7) Проект с открытым исходным кодом, распространяемый под лицензией GPL v2.
8) Поддержка двух бэкэндов для хранения виртуальных доменов и пользователей: OpenLDAP и MySQL.
9) Безлимитное число поддержки доменов, пользователей, почтовых алиасов.
10) Поддержка двух Web-Интерфейсов (RoundCube и SquirrelMail).

Этот пакет очень удобен в настройке и установке.

1) Удобен этот пакет в том, что:
а. Не нужно много знаний, т.е. процесс установки и настройки совсем не сложный.
б. Требует минимум времени на разворот корпоративной почты. Я потратил на установку этой сборки буквально 20 минут.
в. В комплекте идет весь необходимый софт для почтового сервера.(Антивирус, Антиспам, 2 Web-Интерфейса(по выбору)

2) Аналогов данного пакета не существует.

Схема работы iRedMail:

image

Анти-Спам и Анти-вирус.
В качестве антиспама и антивируса выступают 2 популярных пакета, это SpamAssassin и ClamAV

Что поддерживает iRedMail для защиты почты:
1. Поддержка SPF (Sender Policy Framework).
2. Поддержка DKIM (DomainKeys Identified Mail).
3. Поддержка Greylist.
4. Поддержка «Белых списков» ( на основании DNS имени и IP адреса)
5. Поддержка «Черных списков» ( на основании DNS имени и IP адреса)
6. Поддержка «Черного списка» HELO запросов.
7. Поддержка HPR (HELO Randomization Prevention)
8. Поддержка Spamtrap.
9. Интерграция SpamAssassin
10. Интеграция ClamAV, автообновление вирусных баз.

Поддержка почтовых клиентов:

Почтовые клиенты с поддержкой POP3/POP3S и IMAP/IMAPS. Haпример: Mozilla Thunderbird, Microsoft Outlook, Sylpheed.

Установка iRedMail.

В качестве почтового сервера я выбрал iRedMail. Это сборка Postfix+LDAP(MySQL)+SpamAssassin+ClamAV+AmaViS+Dovecot+RoundCube (SquirrelMail) и т.д. В данной статье мы будем рассматривать настройку этого замечательного сервера на базе OpenLDAP.

Внимание! Не забудьте сменить example.com на имя вашего домена.

Немного поправим наше имя хоста:
vi /etc/hosts

127.0.0.1 mail.example.com localhost localhost.localdomain

vi /etc/hostname
mail.example.com

Сохраняем изменения командой:
/etc/init.d/hostname.sh start

Проверим FQDN имя хоста:
hostname –f

Вся установка проводится под пользователем root!

Скачиваем в директорию /tmp данный файл:

cd /tmp && wget iredmail.googlecode.com/files/iRedMail-0.6.0.tar.bz2

Установим архиватор:
apt-get install bzip2

Нужно распаковать данный архив:
tar -xvjf iRedMail-0.6.0.tar.bz2

Переходим в директорию /tmp/iRedMail-0.6.0/pkgs/ и запускаем установочный скрипт:
bash get_all.sh

Пойдет загрузка необходимых пакетов.
Для работы dovecot нужно поставить Candidate версию пакета. C другой работать не будет!
apt-cache policy dovecot-common dovecot-pop3d dovecot-imapd | grep 'Candidate'
Команда отдаст пустой результат.

Переходим в директорию установочного скрипта:
cd /tmp/iRedMail-0.6.0/

Запускаем установочный скрипт:
bash iRedMail.sh
Появится окно инсталлятора:
image

Выбираем путь, где будет храниться вся наша почта:
image

Выбираем бэкэнд для нашего сервера. Поддерживаются MySQL и OpenLDAP. Мы выберем OpenLDAP:
image

LDAP суффикс для нашего сервера добавляется так: dc=example,dc=com
image

Введем пароль для администратора LDAP сервера. Учетная запись администратора по умолчанию находиться в /etc/ldap/slapd.conf. Обычно это: cn=Manager,dc=example,dc=com
image

Вводим имя нашего домена:
image

Вводим пароль администратора(postmaster):
image

Первый пользователь который будет создан, это пользователь: www@example.com. Нам требуется придумать для него пароль:
image

Включаем проверку SPF и функцию проверки DKIM:
image

Ставим доп. компоненты:
image

Сделаем алиас для юзера root:
image

Конфигурация завершена.
Появляется сообщение:
Configuration completed.

*************************************************************************
**************************** WARNNING ***********************************
*************************************************************************
* *
* Please do remember to *REMOVE* configuration file after installation *
* completed successfully. *
* *
* * /root/iRedMail-x.y.z/config
* *
*************************************************************************
<<>> Continue? [Y|n] # <- Type 'Y' or 'y' here, and press 'Enter' to continue


Жмем Y и дожидаемся окончания установки.
Создание пользователя проходит на странице: https://example.com/postfixadmin
Входим в postfixadmin пользователем postmaster@example.com и в меню выбираем “Создать ящик”
image

Пользователь создан!

Также PostfixAdmin позволяет:
1. Добавить нового администратора.
2. Добавить домен.
3. Создать почтовый ящик.
4. Создать алиас.
5. Изменить пароль администратора.
6. Просматривать журнал действий для домена.
7. Устанавливать и управлять квотами пользователей.

Список доступа к компонентам:
image

Сервер установлен и настроен!

UPD: Для корректной работы почтового сервера обязательно нужна MX запись на DNS сервере, к которому привязан ваш домен!

Ссылки на проекты:
Debian
iRedMail
Posftix
OpenLDAP
MySQL
SpamAssasin
ClamAV
AMaViS
Dovecot
RoundCube
SquirrelMail
Awstats
phpLDAPAdmin
phpMyAdmin

Копирование статьи допускается только с разрешения её авторов.
r0ster (http://exbyte.ru) и t1mbo (http://greentale.ru)
+48
12 июня 2010, 20:58
128

комментарии (79)

–6
silentroach #
А в чем смысл этого топика? Показать картинки установки?
+17
r0ster #
Смысл в том, чтобы рассказать людям о таком замечательном пакете как iRedMail.
Кстати, о нем еще не писали.
–6
silentroach #
так опишите его, а не его установку в скриншотах ;)
+4
r0ster #
По ходу установки видно какие компоненты используются
–10
silentroach #
ну чего ты уперся? никому не интересна эта установка, ну опиши ты человеческим языком, да объясни как это удобно и чем лучше аналогов. и увидишь как твой топик оценивают не в два балла, а намного больше.
+3
r0ster #
Дописал, извиняюсь если казался грубым :)
+4
silentroach #
тут скорее я грубым кажусь, извините
спасибо что дописали, сразу ведь другое дело.
+4
denver #
> Внимание! Под катом очень много фото! Осторожно траффик!

десять «фоток» по 10 кило, осторожно трафик :)
0
r0ster #
Учел, спасибо :)
0
prefer #
А как связывается ClamAV и SpamAssasin с этим добром?
0
r0ster #
Связывается ClamAV и SpamAssasin через AMaViS, который слушает TCP порт 10024 и передает на сканирование спама и вирусов SpamAssasin и ClamAV соответственно, возвращая все в MTA через TCP порт 10025.
+1
missTerr #
Благодарю. Не знал про существование столь удобного пакета.
+1
Yanovsky #
Я свой первый хабратопик тоже с куча скринами сделал — отхабрили, т.к. это немного по детски… всё таки…
+2
r0ster #
Зато наглядно :)
0
bear11 #
А если это сравнить с zimbra?
+1
DLag #
Все равно что сравнить кухонный комбайн с вилкой.
0
Condorious #
Интересный почтовик.
Да и установка расписана просто и наглядно.
Всяко проще ставить и настраивать, чем sendmail.
+1
parta #
путаете теплое и мягкое. sendmail — это MTA. сабж — это связкого всякого разного, в том числе и MTA, в данном случае это postfix. касательно шлимыла, ничего сложного там нет, в некоторых случаях подкрутить две гайки в коробочном шлимыле проще и быстрее, чем заменять его на постфиксы и ексимы.
+3
amarao #
М… Я в своё время пытался. Потом понял, что придётся учить местый ассемблер, плюнул, поставил постфикс.
0
bigazzzz #
Вы все-таки не до конца разобралисись.
1)Не ассемблер, а язык макрокоманд m4
2)У sendmail вменяемые конфигурационные файлы, которые «компилятся» в m4

p.s. до сих пор пользуюсь sendmail. Позволяет делать, все что я хочу, к тому же нативно стоит в FreeBSD. Честно скажу, другой MTA просто не пробовал, потому что полностью устроил sendmail.
+3
amarao #
Разобрался, разобрался (во всём, кроме синтаксиса cf'а). И уткнулся в состояние, когда все гвайдлайны говорили «а теперь пойти и пропиши вот эту кракозябру, чтобы SPF/name-blacklist/etc заработал». Я подумал-подумал, что без изучения этого языка я не смогу адекватно контролировать и понимать сендмыл. И ещё я подумал, что мне не нравится его синтакисис.

Сендмылом пользовался 3 года (достался от предыдущего админа). В какой-то из раз, когда из-за опечатки закомменченная только '#' строчка попала в конфиг, я понял «стоп, всё, хватит».

Постфикс осваивается за микроскопическое время. Наличие в FreeBSD как штатного клиента… Ну, для тех, кто пользуется фрёй, это, наверное, плюс. Но в дебиане «штатно» есть на выбор и sendmail, и postfix, и exim4 (и ещё кто-то, не помню), так что для линукса это не аргумент.

А вот что для меня стало киллерфичей postfix'а — так это наличие транспорта (т.е. обработчика писем) mailman'а. После чего простыни -subscribe/-unsubscribe из конфигов исчезли, а создание списка стало делом одной команды (или вообще, веб-морды).
0
slimlv #
вот они, любители bsd — свято верят что конфиги sendmail-a это «язык макрокоманд m4» а другие просто «не до конца разобрались»
0
bigazzzz #
я прекрасно знаю в какие кракозябры компилица m4 и честно скажу в cf ручками не пришлось ни разу слазить, только чтобы посмотреть. править ни разу не приходилось
0
parta #
боже упаси, какие ассемблеры? О_О руками править сырой sendmail.cf прекратили наверно еще в первой половине 90ых годов прошлого столетия :) ну или как минимум необходимость его трогать на каждый чих отпала точно.

не то чтобы я был любителем шлимыла, мне лично очень нравится exim за его гибкость фильтров и вообще. создание «годного» почтаря на шлимыле вопрос отдельный и не тривиальный, да. но если не хотеть звезд с неба, то коробочное шлимыло во фре и салярисе вполне устраивает :)
0
Ice_venom #
Спасибо, проект заинтересовал.
+2
deseven #
> Аналогов данного пакета не существует
Да неужели? :)
–1
Labinskiy #
Приведите пример, пожалуйста.
+1
deseven #
Да я тут как раз недавно советовал бесплатную версию Axigen Все примерно то же самое — визард для инсталляции, веб-мейл, веб-админка, модули для антивирусного и антиспам-контроля + куча всего еще. Работает на удивление стабильно в любых условиях.
Ну конечно это не GPL — вот пожалуй единственное отличие.
0
Labinskiy #
Спасибо, обязательно возьму на заметку ;)
+1
kljaver #
Для win есть такой сервачёк(open source):
www.hmailserver.com/
www.hmailserver.com/index.php?page=functionality
Для небольшой конторки годится.
0
klimin007 #
Небольшая конторка — это сколько? 50 пользователей потянет?
0
kljaver #
50 уже возможно многовато, если активно будет использоваться. Я испытывал на 20-25 рабочих местах. В общем, попробуйте на 50. Возможно будет нормально. К этому серверу я прикручивал www.roundcube.net Хорошая вещь.
+3
burik #
Странный обзор. О возможностях и составных частях упомянули, а вот как именно происходит управление отдельными компонентами и насколько оно удобно устроенно — ни слова.
Как происходит управление белыми/черными списками, можно ли тюнить спамассассин, как задаются квоты, и т.д. и т.п. это было бы гораздо интереснее услышать.

О том что какая-то единая панель управления таки есть (Official web-based iRedMail Admin Panel), видно только на одном скриншоте установки, при этом ни одного скриншота этой самой панели нет.
0
Pas #
Это постфиксадмин и никакого отношения к iRedMail он не имеет.
0
burik #
Да нет, автор поста видимо поменял скриншоты уже. Там был скриншот, где показывался выбор компонентов при установке, в том числе компонента «Official web-based iRedMail Admin Panel».
0
WaZZuP #
кстати полнофункциональный Official web-based iRedMail клиент платный:(
и работает только с LDAP.
–1
non7top #
типа автонастраиватель
–3
Levsha100 #
ClamAV- что это такое?
Мне нужны принципиально новые решения! xD
0
maxkoryukov #
А какие нагрузки пакет рассчитан?
+2
alexeym #
минус таких вот сборок где всё работает «изкаробки», в случае каких-либо проблем «администратор» столкнется с большими проблемами. И причина будет не в этом пакете, а в том что он не удосужится разобраться в каждом отдельном компоненте и в связывании оных…

так что мой совет: сначала установите всё самостоятельно (т.е. соберите свой iRedMail) и когда будете уже знать что к чему, можно пользоваться подобными сборками (если останется желание...)
+1
r0ster #
Думаю например для новичков будет приятно увидеть, что все настроилось и работает правильно и потом можно взяться за более глубокое изучение почтовых систем в целом.
0
amarao #
Для «новичков» отлично сойдёт дефолтный postfix/exim из дебиана. Сделал make install, ответил на два вопроса — и оно уже работает. И почту принимает, и отправляет.
+1
amarao #
Традиционный вопрос: и? Это действительно почтовый сервер организации? Он готов выдержать 300 ящиков по 10Гб на сервере и тыкание пользователем кнопочки «перенести эти 30000 сообщений в соседнюю папку»?

Я ничего плохого не хочу сказать, но я пока не видел схемы почтового сервера для юникса, которая бы могла работать как хранилище почты. Если у кого-то на примете есть, говорите, интересно посмотреть.
0
r0ster #
Насчет таких нагрузок как вы написали я не знаю, но у знакомого на работе стоит этот пакет, обслуживающий чуть более 100 компьютеров, говорит что проблем никаких никогда не возникало.
0
parta #
какой меткий вопрос у товарища maxkoryukov'а несколькими комментами выше (:

все эти tcp-анализаторы-почты-прокладки как-то не очень хорошо выглядат, и по перфомансу сомнения сразу вызывают и по надежности. например в контексте данного пакета что будет когда амавис рухнет? надеюсь не одминчег рукаме побежит поднимать рухнувший амавис, да и почта от этого не встанет колом :)

да и dovecot вызывает сомнения, ибо на большом количестве писем распиханых на ящиках начинает тупить или вовсе виснуть, проводили измерения, да. правда не так что бы сегодня или вчера, возможно с того времени что-то поменялось радикально, хотя я конечно сомневаюсь :)

вобщем, да, не торт. но на офес в десять пользователей, регулярно чистящих свою почту сгодится :)

0
g0dlike #
В таких случаях помогает разнесение компонентов на отдельные машинки, если этот пакет умеет такое, конечно.
+1
amarao #
Каких компонент? В описанной конфигурации нагрузка на mta/mda стремится к нулю (на современном железе пропустить через себя 10-20 тысяч писем в день — ерунда).

Проблема же в некоем M?A (которого нет в оригинальном разделении) и который вынужден хранить почту и выполнять запросы пользователей, т.е. работать базой данных на сотни гигабайт, и разделение которого на несколько серверов в рамках SMTP/IMAP не предусмотрено.
0
AlienZzzz #
а нужно прописывать МХ запись на свой сервер, или еще что, я как то не нашел ни слова про это.

Вы говорите про антивирусы, а в настройке не слова не сказано как их подключить( да вы сказали про порт), но где это в настройке?

0
r0ster #
Антивирус и антиспам настраиваются и подключаются автоматически при установке.

MX запись само собой прописывать надо, но моя статья описывает и показывает только лишь процесс настройки сервера :)
0
alexeym #
можно не писать
тогда почта будет идти прямо на домен
т.е. отправляете на user@example.com
почта пойдет на почтовый сервер запущенный на example.com
+1
AlienZzzz #
ну а смысл. вот новичок настроит все что вы написали. и дальше что будет сидеть ждать у моря погоды.

Имхо лучше дописать хоть в двух словах.
0
r0ster #
Дописал, спасибо.
+1
logan #
iRedMail — пакет для тех, кто сам не в состоянии настроить себе postfix :)
0
yuhenobi #
Да, так и есть.
Данное решение максимум уживется в маленькой компании (5-50 ящиков) с небольшим потоком писем т.к. amarao уже сказал — а что будет если кинуть 30000 писем из папки «Входящие» в папку «Потом разберу эти рассылки».

Но, есть одно большое «но»! Спрашивается — зачем заморачиваться со своим сервером и каким-то iRedMail если есть Google Apps который будет работать лучше и бесплатно?
0
klimin007 #
Бесплатно? 50 баксов на пользователя в год.
0
alevgpopov #
где то выше писали о неуместности сравнения iRedMail с пакетом ZImbra OSE хотя в большинстве установок zimbta она используется как просто почтовый сервер, так вот к чему это я — Зебра вполне успешно перемещает папки большого (около 2гиг) и оченьбольшого объема с места на место при этом никакой задержки не наблюдается
0
Sov1et #
Только железо нужно хорошее ;)
0
alevgpopov #
У меня пользователей 120, железо: cpu 2.6 х4 xeon, 8gb ram (java всетаки), 2х1000мб sata mirror — и ничего так все ворочается
0
Sov1et #
Ну я об этом и говорил, на такой железке даже 1С будет без тормозов
+1
kikaha #
Спасибо за статью — занес в избранное, потом, подумав, добавил в букмарки… и тут же поставил звездочку в rss-ридере — теперь не пропадет. Ибо установка почты — всё-таки не каждый день делается, и не каждый месяц — а для малого офиса такой серверок развернуть, особенно если сроки, как обычно «надо еще вчера»!
0
r0ster #
Приятно слышать, спасибо :)
0
LuckyRaul #
Мне как-то проще ручками настроить все это =)
0
eigrad #
Спасибо, хороший туториал.
0
pitbull #
Интересно, а поддержка DKIM у него входящяя или исходящяя (в смысле отправленные имейлы подписаны сертификатами)?
0
r0ster #
Поддержка DKIM у него входящяя
+1
r0ster #
Входящая* *упс*
0
pitbull #
Жаль, что нет исходящей, так как ее сложнее настроить ручками…
+1
pitbull #
Исходящая* *упс*
+1
SemperFi #
30 секунд буквоедства=)

«Это сборка Postfix+LDAP(MySQL)+SpamAssanin» — Assassin, очепятки по всему тексту =)

сорри, всегда читаю внимательно. статья хорошая, сделал из нее пдфку и положил в библиотеку.
пишите еще.
+1
r0ster #
Спасибо, исправил.
Рад что понравилась статья.
0
StrangeAttractor #
У меня плчему-то hostname –f выдаёт «hostname: the specified hostname is invalid», хотя, вроде, всё работает.
0
r0ster #
Прочтите пожалуйста по-внимательнее тему, начинаю со слов: «Внимание! Не забудьте сменить example.com на имя вашего домена.»…
0
StrangeAttractor #
Вы думаете я идиот? Разумеется я это не забыл, точнее вообще у меня в hosts и в hostname всё давно прописано, просто мне никогда не приходило в голову делать команду hostname –f.
0
r0ster #
Проверьте все ли верно прописано, на всякий случай выполните команду:
/etc/init.d/hostname.sh start
0
StrangeAttractor #
hostname.sh e у меня там вообще нет, есть просто /etc/init.d/hostname, и от его запуска ситуайия не меняется (кстати, я перезагружался, если что). Я уже и реально на DNS сервере этот свой сервер прописал, и он норально ресолвится и из Internet и через hosts. В hostname пробовал прописывать и FQDN и просто имя. Всё один хрен — hostname: the specified hostname is invalid.
0
StrangeAttractor #
Не ставится. Ubuntu 10.04 Server.

Бага: https://bugs.launchpad.net/ubuntu/+source/postfix-policyd/+bug/560144
0
r0ster #
>> Ubuntu (Only 8.04, 9.04, 9.10)
0
StrangeAttractor #
Жаль. Смысла немного тогда сегодня в нём. Я уж было обрадовался (как раз задача встала мэйл-сервер поднять срочно (а я только с винды слез две недели как), и тут фигак — эта статья). Но ничего, разберёмся…
0
nick5 #
Чудесная почтовая система. Рекомендую всем!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.