Запуск собственного сервера электронной почты с открытым исходным кодом
() translation by (you can also view the original English article)



После откровений Эдварда Сноудена о NSA PRISM я начал изучать альтернативные почтовые системы. Австралийская FastMail привлекла мое внимание из-за рекомендации друга и, казалось бы, лучшей защиты частной переписки в своей стране:
«В Австралии нет эквивалента US National Security Letter, поэтому нас не могут ни к чему принуждать».
Однако некоторые из серверов FastMail фактически размещены в США, а электронная почта может быть скомпрометирована различными способами. Независимо от того, используете ли вы стороннюю службу или размещаете свою собственную электронную почту, если ваши личные проблемы связаны с конфиденциальностью и безопасностью, вам необходимо усовершенствовать свой набор навыков на нескольких уровнях.
У меня нет иллюзий, что использование собственного сервера электронной почты на своем хостинге будет препятствовать правительству читать ее, если оно того захочет. Например, Amazon недавно получила контракт на сумму 600 миллионов долларов для управления облачными операциями ЦРУ. Но это несколько усложнит ситуацию и побудит новаторов с открытым исходным кодом продвигать свои платформы в более частную и безопасную сторону.
Если вы хотите свести к минимуму расходы, помните, что запуск собственного почтового сервера не будет для вас бесплатным - он может легко обойтись вам в пределах от 7 до 15 долларов США в месяц или даже больше в зависимости от вашей конфигурации. И я настоятельно рекомендую использовать отдельный выделенный сервер, не стоит смешивать другие приложения и почту на одном сервере, это может подвергнуть вашу почту множеству разных угроз.
Одной из таких платформ, с которой я начал экспериментировать, является iRedMail, это серверное решение с открытым исходным кодом, работающее на обычных Linux-системах. IRedMail связан с RoundCube, клиентом с открытым исходным кодом для веб-почты. Оба вместе обеспечивают довольно приличную альтернативу Gmail. И iRedMail поддерживает IMAP и POP, поэтому вы можете запускать его с помощью различных приложений для смартфонов и планшетов и почтовых клиентов для настольных ПК.
В этой серии уроков я расскажу вам об основных принципах установки и настройки iRedMail и RoundCube. Если вам нужна дополнительная помощь, iRedMail также предлагает превосходную административную консоль, а так же платные установку и поддержку.
Не обманывайте себя, думая, что это будет так же просто, как запуск WordPress. Это не так. Помимо вопросов безопасности и конфиденциальности, вам нужно убедить другие почтовые серверы доверять вашему почтовому серверу. Итак, вы хотели бы отправить некие письма (через код), описывает некоторые сложности управления этой системой, в том числе настройка Reverse PTR и DomainKeys Identified Mail.
Обзор функций iRedMail
IRedMail - бесплатное полнофункциональное решение почтового сервера с открытым исходным кодом. Он обеспечивает простую автоматическую процедуру установки и работает на семи версиях Linux: Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, FreeBSD и OpenBSD. Это проект с открытым исходным кодом, лицензированный под GPLv2.
С iRedMail вы можете управлять своими собственными данными. Все ваши личные данные хранятся на вашем сервере, а не на сторонних. Почта может храниться в PostgreSQL, MySQL или OpenLDAP.
Для отправки и доставки почты он предоставляет SMTP через Postfix и использует Dovecot для предоставления POP3/POP3S и IMAP/IMAPS. Он обеспечивает несколько уровней защиты от спама и угроз, включая Amavisd, SpamAssassin, ClamAV и Fail2ban.
Вот илююстрация, которая показывает общую архитектуру iRedMail:
Изображение: http://workaround.org/ispmail/lenny/bigpicture
Он предоставляет интегрированную веб-почту через Roundcube, в которой есть собственное сообщество разработчиков, предлагающее темы и плагины.



Вот полный список возможностей RoundCube.
Установка iRedMail
Настройка операционной системы
Теперь я расскажу вам об установке iRedMail с MySQL на Ubuntu 14.x. Я буду использовать это руководство для установки и настройки Digital Ocean в Ubuntu, но с одной существенной разницей. Вместо использования стека LAMP на вкладке «Приложения» мы хотим использовать стандартную установку Ubuntu 14.04 на вкладке « Distributions», как показано ниже во время процесса установки:



Конечно, вы можете использовать любой виртуальный сервер какой захотите.
Если вы используете память объемом 512 Мбайт, вам нужно будет создать файл подкачки (прокрутите до Configuring Your Droplet) , иначе антивирусное программное обеспечение, скорее всего, предотвратит доставку почты.
Настройка вашего доменного имени
После того как вы получили свой IP-адрес, вам необходимо сопоставить DNS вашего домена с IP-адресом. И вам понадобится дополнительный домен для почтовых служб.
Например, я использую red.lookahead.me в качестве субдомена для моей установки - это мое имя основного сервера:
red.lookahead.me A 104.236.52.19
Но во время установки iRedMail также потребует домен или субдомен почтового сервера. Я использую mailserver.lookahead.me:
mailserver.lookahead.me A 104.236.52.19
Важно: выбор доменов по умолчанию
Я выбрал домены для демонстрационных целей, и эти варианты отражены в скриншотах на протяжении всего процесса установки.
Другой способ настроить iRedMail - настроить сервер с именем хоста mail.yourexampledomain.com и получить электронную почту в корневом домене. Итак, еще раз, когда вы создаете свой экземпляр сервера, задайте имя хоста как mail.yourexampledomain.com. И, когда будет предложено заполнить iRedMail для вашего виртуального сервера, укажите корневой домен.
Другими словами: вместо red.lookahead.me, сконфигурируйте имя хоста как mail.yourexampledomain.com. Вместо mailserver.lookahead.me укажите yourexampledomain.com.
Это позволит вам входить в веб-почту Roundcube по адресу http://mail.yourexampledomain.com и отправлять и получать электронную почту от youremail@yourexampledomain.com прямо из коробки.
Конечно, вам также нужно будет добавить записи MX с регистратором доменных имен для выбранного домена для маршрутизации сообщений на ваш сервер iRedMail. Вот пример:
1 |
lookahead.me. 1800 MX red.lookahead.me. 10 |
Смотрите также Настройка DNS-записей для вашего сервера iRedMail.
Запуск сценария установки iRedMail
Мы запускаем установку iRedMail из \root. Поэтому сначала мы загружаем код и извлекаем его из архива BitBucket:
1 |
cd /root
|
2 |
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.0.tar.bz2 |
3 |
tar xjf iRedMail-0.9.0.tar.bz2
|
Затем запустим установочный скрипт:
1 |
cd iRedMail-0.9.0
|
2 |
bash iRedMail.sh |
IRedMail запустит свой мастер установки. Часто вы можете принять ответы по умолчанию.



Во-первых, вы можете указать путь для хранилища почтовых ящиков:



Затем вы можете выбрать, использовать ли Nginx или Apache:



Затем вы можете выбрать хранилище почты. Мы используем MySQL для этой демонстрации:



Укажите пароль для учетной записи администратора сервера MySQL:



Затем укажите вторичное доменное имя для почтового сервера, а не имя вашего сервера. Я использую mailserver.lookahead.me:



Укажите пароль для учетной записи администратора:



Это завершает первоначальную настройку. Файл будет записан в /root/iRedmail-0.9.0/config
, который необходимо защитить:



Нажмите «Продолжить», чтобы начать процесс автоматической установки. Когда все будет сделано, вам будут показаны URL-адреса серверов для использования Roundcube и административной панели iRedAdmin.



Поздравляем, вы готовы к запуску iRedMail. Перезагрузите сервер и давайте посмотрим, что мы создали.
Использование Roundcube
В своем браузере зайдите на свой адрес электронной почты, например. http://yourexampledomain.com/mail. Вас встретит экран входа в систему Roundcube.



Когда вы войдете в систему, вы увидите консоль почтового ящика Roundcube:



Нажмите «Написать», чтобы отправить первое сообщение:



В следующем уроке мы рассмотрим Roundcube и его параметры настройки.
Администрирование iRedMail
Теперь давайте рассмотрим панель администрирования iRedMail. Откройте страницу http://yourexampledomain.com/iredadmin, чтобы увидеть панель входа в систему:



Когда вы войдете в систему, вы увидите панель iRedAdmin:



Здесь вы можете управлять доменами и учетными записями, настроенными для вашего почтового сервера:



И вы можете управлять администраторами:



Используя меню «Добавить», вы можете добавлять пользователей:



Что дальше?
В следующем учебном пособии я расскажу вам о дополнительных настройках iRedMail и покажу его консоль администрирования.
Пожалуйста, оставляйте свои комментарии, исправления или дополнительные идеи ниже. Вы можете просмотреть мои другие Tuts + уроки на моей странице инструктора или найти меня в Twitter @reifman.
Ссылки по теме
- Веб-сайт и документация iRedMail
- Веб-сайт RoundCube
- Как установить свой собственный личный почтовый сервер в облаке
- Итак, вы хотите отправлять почту (с помощью кода)