Обновление iredmail с версии 0.9.9 до 1.0
Содержание:
Аналоги iRedMail
Бесплатных аналогов данной системы, на данный момент, не существует. Максимум, можно самостоятельно настроить что-то подобное, установив все компоненты вручную.
Из платных готовых почтовых систем можно отметить:
- Microsoft Exchange Server (на Windows).
- Zimbra (на Linux).
Введение
Сегодня мы рассмотрим установку и настройку Mail in a Box на Ubuntu Server 18.04. Mail in a Box — это готовая сборка почтового сервера с открытым исходным кодом. Состоит из postfix, dovecot, spamassassin, roundcube, nsd и nginx. Postfix — это агент передачи почты (mail transfer agent, сокращенно MTA). Dovecot — IMAP/POP3 сервер. Spamassassin — средство фильтрации спама. Roundcube — веб-клиент для работы с электронной почтой. Nginx — веб-сервер. NSD — DNS сервер. Так же в сборку включена автоматическая интеграция с Let’s Encrypt. Mail in a Box поддерживает только ОС Ubuntu. На другие дистрибутивы поставить его не получиться.
Установка
Для установки нам понадобиться чистая ОС Ubuntu 18.04. Предполагаю что она у вас уже установлена. Если нет, то можете воспользоваться моей статьей «Установка Ubuntu Server 18.04». Так же у вас должно быть купленное доменное имя и настроенная DNS зона. Если вы используете DNS сервера вашего доменного регистратора, то необходимо в разделе управления доменной зоной сделать две записи: A запись для поддомена и MX запись для почтового сервера. Так же можно использовать DNS, входящий в сборку почтового сервера. Для этого необходимо изменить NS сервера в личном кабинете регистратора.
Настройка доменной зоны при использовании DNS регистратора
Обратите внимание! Время вступления настроек DNS в силу от нескольких часов до трех суток. Пока настройки не вступят в силу почтовый сервер не будет корректно работать
Установка Mail in a Box осуществляется путем запуска скрипта установки, который можно скачать с официального сайта продукта. Для запуска скрипта необходимо установить программу «curl»:
sudo apt install curl
Теперь запускаем скрипт установки:
Установка Mail in a Box
На этапе нужно будет указать ряд сведений, таких как электронный адрес администратора, имя сервера в формате имя.домен, регион и часовой пояс.
Электронный адрес администратора
Задаем пароль учетной записи администратора.
Пароль учетной записи администратора
По окончанию установки система сообщит данные для входа в панель управления почтовым сервером: https://домен или адрес сервера/admin. Переходим по указанному адресу.
Вход в панель управления почтовым сервером
Вводим электронный адрес администратора, который мы создали при установке и пароль. Для начала защитим соединение сертификатом. Переходим в раздел TLS (SSL) Certificates и нажимаем на «Provision». Ваш сертификат должен автоматически сгенерироваться.
Панель управления сервером
Для применения изменений необходимо перезапустить nginx, но лучше перезагрузить весь сервер. Выполняем:
После перезагрузки заново заходим в панель управления. Соединение уже должно быть защищено сертификатом.
На странице «Checking and Sending Mail» в разделе «Webmail» указан адрес веб-клиента электронной почты: https://доменное имя или адрес/mail. Переходим и попадаем в веб-интерфейс клиента.
Веб-клиент электронной почты
Теперь давайте протестируем работу нашего почтового сервера. Для этого сначала отправим письмо на другой почтовый ящик, а затем ответим на него.
Смотрим, что у нас с этого получилось:
Как видим все работает, письмо получено. Теперь проверим работу в обратном направлении. Пишем письмо на электронный адрес, который обслуживает наш сервер.
Отправка ответного письма
Переходим в roundcube:
И видим, что письмо получено. Почтовый сервер работает нормально. Работать с почтой можно как через интерфейс roundcube, так и через любой почтовый клиент. Настройки для почтового клиента можно посмотреть в панели управления почтовым сервером.
Настройки для почтового клиента
Для создания пользователей перейдите на страницу «Users». Существуют две роли пользователей: Normal User и Administrator. Их отличие в том, что Administrator может создавать новых пользователей, а Normal User нет.
Страница создания пользователей
Выводы
На этом установка и настройка Mail in a Box закончена. В принципе можно создавать пользователей и пользоваться. Все довольно просто и быстро настраивается. Так же из панели управления можно делать резервные копии, настраивать почтовые алиасы и управлять DNS сервером. Если вам для тех или иных целей нужна более тонкая настройка программ, входящих в сборку, то это вполне реализуемо, но только уже через консоль.
Плюсы и минусы Microsoft Exchange Server
У меня нет большого опыта администрирования exchange. Я его когда-то давно тестировал, когда решал, с какими почтовыми серверами буду работать. Устанавливал, изучал функционал. Потом один раз настроил почтовый сервер для организации. Они хотели именно exchange. Проблем не возникло, быстро настроил по многочисленным гайдам в интернете. Порог входа в настройщики почтового сервера exchange очень низкий. С базовым функционалом может справиться даже эникей.
Для средних организаций реально полезным и трудно заменимым функционалом считаю общие календари. И конечно же удобство интеграции с AD, если она есть. А чаще всего AD есть, так как я не представляю себе администрирование сети больше чем на 20-30 человек без Active Directory. Считаю, что тут бессмысленно экономить и надо покупать Microsoft Server.
- Большой функционал при относительной простоте настройки. Развернуть сервер с базовым функционалом по силе любому админу. Причем этот базовый функционал может быть больше, чем у какой-нибудь сборке под линуксом.
- Интеграция с Active Directory. Вы создаете новую учетную запись пользователя и почтовый ящик ему сразу же готов. Не нужно никаких специальных настроек, если у пользователя Microsoft Outlook. Подключение к серверу настраивается в несколько кликов мышкой.
- Удобные средства администрирования в виде готовых оснасток Windows Server. Тут все традиционно для решений от Microsoft.
Минусы Exchange Server такие же характерные, как и плюсы, для большинства продуктов от Microsoft:
- Цена, цена и еще раз цена. Microsoft Exchange Server стоит дорого. Нужно считать и прикидывать, будет ли оправдано его приобретать. Для использования всего заложенного функционала, необходимо будет на каждое рабочее место купить редакцию Microsoft Office c аутлуком в комплекте. Это еще дополнительные расходы.
- Для хорошей производительности требуется значительно более мощное железо, по сравнению с серверами на линуксе. А для поддержки больших почтовых ящиков, например на 50 гигабайт, понадобится очень мощное железо. Хотя такие ящики для того же dovecot не представляют особых проблем. В exchange вы скорее всего будете использовать квоты для ограничения максимального размера почтового ящика.
- Для бэкапа скорее всего придется так же приобретать приличной мощности железо и платный софт. Тут я только предполагаю, реально я не знаю, что нужно для удобного бэкапа exchange. Знаю платный софт от популярных вендоров. Возможно есть что-то бесплатное.
Вывод по Exchange Server у меня таков — он почти во всем хорошо, кроме цены. Если бы он был бесплатен, я скорее всего пользовался бы именно им. По вполне объективным причинам, это невозможно. Хороший и удобный софт сам по себе не появляется. Его нужно создать, а на это потратить средства, которые захочется вернуть с прибылью.
На сегодняшний день, с учетом стоимости Microsoft Exchange Server и Microsoft Office, я не использую эти продукты Microsoft. Мало кто согласен выложить необходимую сумму для почтового сервера. Мне бы хотелось посмотреть на Exchange поближе в реальных условиях хотя бы человек на 60-80, чтобы оценить более объективно этот сервер. Но пока такой возможности не представилось.
Запуск установщика iRedMail
Теперь, когда все готово к началу запуска установщика iRedMail, нужно подготовиться к ответам на ряд вопросов, которые этот установщик будет задавать в процессе своей работы, а затем запустить сценарий установки командой
bash iRedMail.sh
Вид экрана с запущенным установщиком приведен на рисунке 1:
Рис.1. Вид стартового окна инсталлятора
Следующим шагом нужно ввести каталог для хранения почтовых сообщений. По умолчанию предлагается /var/mail. Далее предлагается выбрать способ хранения почтовых аккаунтов. В виде ассортимента будут предложены на выбор OpenLDAP, MySQL или PostgreSQL (см. рисунок 2).
Рис.2. Выбор СУБД для хранения почтовых аккаунтов
Забегая чуть вперед скажу, что в виде webmail предполагается использование Roundcube, а в качестве средства управления iRedAdmin, phpLDAPadmin, phpMyAdmin и phpPgAdmin (см. рисунок 3).
Рис.3. Опциональный выбор компонентов
При выборе MySQL (в этой статье будет рассматриваться эта СУБД) нужно будет задать пароль администратора MySQL, затем перейти к вводу имени первого виртуального домена и задать пароль почтового администратора в этом виртуальном почтовом домене. Эта учетная запись (а именно postmaster) используется только системным администратором и не должна использоваться как учетная запись почтового пользователя. К примеру, под этой учетной записью нельзя будет «залогиниться» и войти в webmail, но можно будет зайти в iRedMail admin panel для выполнения административных задач в рамках почтовой системы. Ввод пустого пароля здесь недопустим.
На следующем этапе нужно ввести имя первого пользователя почтовой системы. Он необходим для того, чтобы после установки войти под ним в webmail и там получить два системных письма с крайне важными подсказками и сбором системной информации по установленной почтовой системе. Примечание: имя пользователя должно вводиться в виде полного почтового адреса, например, «www@mymail.ru»
Следующий этап очень важен. Он подразумевает опциональное задание тех компонентов почтовой системы, которые действительно вам необходимы и которыми вы сможете затем управлять. Настоятельно рекомендуется предварительно ознакомиться с официальной документацией для каждого компонента и решить для себя, что именно вам потребуется, а что нет. На рисунке 4 приведен показ компонентов комплекса для предварительного ознакомления.
Рис.4. Показ компонентов комплекса для предварительного ознакомления
После ответа на все вопросы установщика и выбора всех требуемых опций процесс переходит в стадию непосредственной установки. Выглядеть на экране монитора это будет так:
Configuration completed. ************************************************************************* **************************** WARNING *********************************** ************************************************************************* * * * Please do remember to *REMOVE* configuration file after installation * * completed successfully. * * * * * /root/iRedMail-x.y.z/config * * ************************************************************************* <<< iRedMail >>> Continue? # <- Type 'Y' or 'y' here, and press 'Enter' to continue
После завершения всех установочных действий вид новых рабочих процессов должен быть похожим на изображенный (см. рисунок 5), что символизирует наличие нужных служб в системе и их функционирование.
Рис.5. Вид системных процессов после установки и запуска iRedMail
Основная информация для дальнейшего изучения и конфигурирования этой системы может быть получена на сайтах разработчиков каждого компонента, входящего в систему, а также почерпнута в файле /root/iRedMail-x.y.z/iRedMail.tips.
What is iRedMail?
iRedMail is a shell script that automatically installs and configures all necessary mail server components on your Linux/BSD server, thus eliminating manual installation and configuration. With iRedMail, you can easily create unlimited mailboxes and unlimited mail domains in a web-based admin panel. Mailboxes can be stored in MariaDB/MySQL, PostgreSQL database, or OpenLDAP. The following is a list of open-source software that will be automatically installed and configured by iRedMail.
- Postfix SMTP server
- Dovecot IMAP server
- Nginx web server to serve the admin panel and webmail
- OpenLDAP, MySQL/MariaDB, or PostgreSQL for storing user information
- Amavised-new for DKIM signing and verification
- SpamAssassin for anti-spam
- ClamAV for anti-virus
- Roundcube webmail
- SOGo groupware, providing webmail, calendar (CalDAV), contacts (CardDAV), tasks and ActiveSync services.
- Fail2ban for protecting SSH
- mlmmj mailing list manager
- Netdata server monitoring
- iRedAPD Postfix policy server for greylisting
Настройка DKIM
Отдельно рассмотрим процесс настройки подписи DKIM на почтовом сервере Zimbra. Формирование ключей выполняется для каждого из доменов из командной строки. Подключаемся к серверу по SSH и вводим команду:
su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -a -d dmosk.ru»
* данная команда создаст последовательности ключей для домена dmosk.ru.
Мы должны получить ответ на подобие:
Public signature to enter into DNS:
5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey IN TXT ( «v=DKIM1; k=rsa; »
«p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5iLy58AJ1fdB15BZgh/VtGfZsi+TrDyvqqZaL5pJ+MQaQrpqHW8AF5kyxW2QzAMjyKzySMZX0PoHUuV93Yxf2t52IFihvb7ivqmRwlqFV3gU7j8zqbAGWHfZo4Ydw0kUmU6pm+Z85aWt4k7rQ7vWXludQGf8yIaSMMmodxze9E5VUOtUA18dIEEPcbwSgOO6YhQLuC78T4FiF5»
«8epQnsX0voSfg9tMW+r+P1b5fTy5Guyqh1plWYseKxPzHKHbc4Lokcgo1AZzKG5Mvo5OCXsKUE1fSoc366AFSoUnWr23P7oUbf+NjXzPMS8ESGA9TfpDA6eRJT4QEpi72AdIy4rQIDAQAB» ) ; —— DKIM key 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 for dmosk.ru
В данном ответе нас интересуют записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey — это имя для TXT в домене dmosk.ru; «v=DKIM1; k=rsa; » «p=M…AB» — содержимое записи.
В настройках домена необходимо добавить данную запись, после чего подождать, минут 15. После выполняем проверку:
opendkim-testkey -d dmosk.ru -s 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 -x /opt/zimbra/conf/opendkim.conf
* где dmosk.ru — наш домен; 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 — селектор, который мы видели в записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey.
* если при вводе команды мы получим ошибку «Command ‘opendkim-testkey’ not found», необходимо установить opendkim-tools командой apt-get install opendkim-tools (deb) или yum install opendkim-tools (RPM).
Для просмотра имеющихся записей DKIM можно воспользоваться командой:
su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -q -d dmosk.ru»
CommuniGate Pro
Название: CommuniGate Pro
Сайт проекта: communigate.com
Лицензия: Free/платная
Платформа: *nix, Windows, Mac OS X
Веб-интерфейс администрирования CommuniGate Pro
Популярная платформа для обмена электронной почтой, IM, VoIP, с функциями календаря и автоматизацией совместной работы. Например, VoIP обеспечивает передачу голоса/видео и обеспечивает такие возможности, как конференции, автосекретарь (IVR), автоматическое распределение звонков, управление очередями вызовов, голосовая почта. При этом CommuniGate поддерживает установку на большое количество ОС и архитектур (всего около тридцати), IPv4 и IPv6, стандартные протоколы SMTP, SIP, IMAP, XMPP, LDAP, RADIUS, XIMSS, CalDAV, WebDAV, MAPI и другие. Пограничный контроллер сессий (Session Border Controller) обеспечивает корректную работу через NAT-устройства. Входящий в состав CGP LDAP-сервер может использоваться и другими приложениями. Возможна синхронизация данных с BlackBerry при помощи AirSync (лицензия на каждое устройство приобретается отдельно). Менеджер рассылок позволяет автоматизировать рассылку новостей с возможностью самостоятельной подписки пользователем. Рассылка создается администратором, в дальнейшем управляется одним из пользователей сервера.
Пользователи могут подключиться через любую программу-клиент, поддерживающую эти протоколы, или локализованный веб-интерфейс. Причем веб-интерфейс очень просто настроить таким образом, что он принимает вид обычного почтового клиента (чтобы юзвери меньше путались). Также возможно использование упрощенного интерфейса для экономии трафика при работе с PDA и доступ по протоколу WAP с мобильных телефонов. Вызвать пользователя для разговора через VoIP можно одним щелчком из веб-клиента или адресной книги. Администратор в настройках устанавливает доступные пользователю функции — сортировку и пересылку почты, автоответчик, загрузку писем с внешних POP3-ящиков, список контактов, задач и календарь.
Настройки позволяют пользователю открыть доступ к своему ящику или отдельным папкам другим пользователям сервера. Это полезно, когда в организации должна быть заведена служебная учетная запись для связи с клиентами, которую используют несколько человек.
Один сервер может обслуживать несколько доменов. Узлы кластера способны обрабатывать только определенный вид трафика (например, по региону), для распределения запросов используется технология SIP Farm. Решение легко масштабируется до любых размеров. К слову, на CommuniGate Pro построена сеть IP-телефонии оператора SIPNET.
Возможна аутентификация пользователя при помощи внутренней БД, Active Directory или внешней программы, в том числе поддерживаются сертификаты клиента. В настройках можно указать IP-адреса, с которых разрешено или запрещено подключение клиентов. Вся информация, хранящаяся на сервере и передаваемая между клиентом и сервером, может быть зашифрована с помощью технологий SSL, TLS, S/MIME и других.
Открытые API упрощают интеграцию с системами биллинга и управления. Поддержка плагинов позволяет подключать решения сторонних производителей для фильтрации спама и вирусов. В настоящее время поддерживается интеграция с решениями от Касперского, Sophos, McAfee, MailShell, Cloudmark.
Реализованы и стандартные средства защиты — проверка обратного адреса отправителя, поддержка DNSBL (RBL), запрет приема почты с определенных IP-адресов и сетей, проверка определенной строки в заголовке или теле письма. Установка в любой ОС несложна, по сути, нужно лишь распаковать архив и запустить сервер. Все настройки сервера, доменов и учетных записей производятся при помощи веб-интерфейса (работает на 8010-м порту, после запуска нужно подключиться к нему в течение десяти минут и задать пароль администратора). Система прав позволяет делегировать администрирование домена другим пользователям, указав только те функции, которые им действительно необходимы.
В настоящее время доступно несколько версий сервера, отличающихся лицензиями. Бесплатно предлагается Community Edition, в которой активно пять аккаунтов, за плату предлагаются Corporate Edition и Service Provider с дополнительными функциями.
Отправляем первое сообщение
Чтобы сервер мог отправить сообщение, необходимо, чтобы почтовая система соответствовала минимальным требованиям большинства антиспам проверок:
- Создана A-запись для имени сервера в DNS.
- Создана PTR-запись для A-записи.
Создание А-записи
А-запись — это базовая запись в системе доменных имен, которая указывает на соответствие между удобочитаемым именем и IP-адресом. Для ее создания заходим в панель управления доменной зоной и пользуемся встроенным инструментом.
Ниже представлено несколько различных примеров, как выглядит правильная настройка.
На REG.RU:
В Timeweb:
В RU center (nic.ru):
На собственном DNS-сервере bind:
mailer IN A 156.91.13.102
* обратите внимание, что прописаны различные IP-адреса. В вашем случае будет свой адрес
Создание PTR-записи
Данные записи могут создавать только держатели IP-адресов, то есть, Интернет-провайдеры. Для того, чтобы создать такую запись, необходимо написать письмо поставщику Интернета, примерно, следующего содержания:
Здравствуйте, мой номер договора XXXXXXXX.
Прошу создать PTR-запись mailer.dmosk.ru для IP 90.156.242.197.
Некоторые Интернет провайдеры позволяют создавать подобные заявки через личный кабинет.
Если сервер арендован, то необходимо создать соответствующий тикет поставщику услуги по аренде сервера.
Проверяем отправку сообщений
Прежде чем отправлять сообщения, необходимо подождать от 4 до 8 часов. Как правило, этого достаточно, чтобы созданные ранее записи стали доступны всем промежуточным серверам DNS.
Для отправки сообщений из командной строки CentOS сначала необходимо установить следующую утилиту:
yum install mailx
После можно отправлять первое сообщение:
echo «Test text» | mail -s «Test title» -r postmaster@dmosk.ru master@dmosk.ru
* где Test text — текст сообщения, Test title — тема, postmaster@dmosk.ru — отправитель, master@dmosk.ru — получатель.
Лучше отправить несколько сообщений на разные почтовые системы, особенно распространенные:
- mail.ru (он же bk.ru, list.ru);
- yandex.ru;
- gmail.com;
- rambler.ru.
Если сообщения вовсе не отправляются, открываем на просмотр следующий log-файл и изучаем, что именно послужило причиной проблемы:
tail /var/log/maillog
Отсутствие вышеописанных записей, кстати, также могут повлечь отказ почтовых систем принимать Ваши письма. В таком случае, мы увидит в логах, примерно, такой текст:
postfix/smtp: BED8CC0000C3: to=<master@dmosk.ru>, relay=mx1.masterhost.ru:25, delay=0.54, delays=0.26/0.1/0.12/0.06, dsn=5.0.0, status=bounced (host mx1.masterhost.ru said: 550-Verification failed for <root@mailer.dmosk.ru> 550-Unrouteable address 550 Sender verify failed (in reply to MAIL FROM command))
Что такое Zimbra
Для начала расскажу, из чего состоит Zimbra. Это известные open source продукты.
- Почтовый сервер — Postfix.
- Сервер баз данных — MariaDB.
- Ldap сервер — OpenLDAP.
- Сервер приложений — Jetty.
- Web сервер apache и nginx в качестве прокси к нему.
- Поисковой движок — Lucene.
- Антивирус и антиспам — ClamAV и SpamAssassin и Amavisd в виде интерфейса для взаимодействия этих инструментов с MTA.
- Предпросмотр документов на базе LibreOffice.
В общих чертах появляется понимание о том, что из себя представляет Zimbra. Открытый вопрос с imap сервером. Ожидаешь увидеть здесь dovecot, но на самом деле у зимбры свой imap сервер. Все перечисленные компоненты связаны через web приложения, написанные на Java, в том числе интерфейс пользователя. Это накладывает свои особенности в эксплуатации, которые характерны для всех java приложений. Ожидать небольшого потребления системных ресурсов не приходится.
Системные требования
Минимальные системные требования для Zimbra следующие:
Система | Centos 7 и прочие клоны RHEL либо Ubuntu 16 |
Процессор | Intel/AMD 2.0 GHZ+ 64-bit, 2-4 CPU |
Память | 8 Gb Ram |
Диск | 5 GB для компонентов сиcтемы + место под почту |
Я в своем примере буду использовать операционную систему Centos 7.
Функционал
Рассмотрим теперь, какой функционал предоставляет бесплатная версия Zimbra из коробки.
- Непосредственно почтовый сервер с web интерфейсом. Доступен следующий функционал — почта, задачи, календарь, адресная книга, автоответы, алиасы и др.
- Простой чат через web клиент.
- Хороший функциональный поиск по почтовой базе.
- Шифрование почтовых сообщений.
- Предпросмотр документов в web интерфейсе.
- Антиспам и антивирус.
- Web консоль управления сервером для администратора.
- Приложение для компьютера Zimbra Desktop. К сожалению, больше не поддерживается.
В целом, ничего особенного. Весь этот функционал можно настроить так или иначе самостоятельно. Но это под силу не только лишь всем 🙂 Объем работы будет очень большой. Нужно хорошее знание linux и понимание устройства и работы почтовых серверов.
Zimbra хороша тем, что дает готовое, единое, комплексное решение, которое ставится практически автоматически и не требует больших знаний linux для развертывания и управления. После установки доступен web интерфейс, через который все управляется. Лазить в консоль сервера практически не нужно. Только если траблшутить какие-то проблемы. Если у вас хороший бэкграунд на тему почтового сервера на базе postfix, но вам просто надоело все настраивать руками, то проблем быть не должно. Если его нет, то как повезет. Но в целом, продукт стабилен и надежен. При типовом использовании проблем быть не должно.