Advertisement
  1. Code
  2. Cloud & Hosting
  3. Web Servers

Запуск собственного сервера электронной почты с открытым исходным кодом

Scroll to top
Read Time: 6 min
This post is part of a series called Running Your Own Open Source Email Server.
Running Your Own Open Source Email Server: Administering iRedMail

() translation by (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

После откровений Эдварда Сноудена о 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:

iRedMail Open Source Email Architecture and FlowiRedMail Open Source Email Architecture and FlowiRedMail Open Source Email Architecture and Flow

Изображение: http://workaround.org/ispmail/lenny/bigpicture

Он предоставляет интегрированную веб-почту через Roundcube, в которой есть собственное сообщество разработчиков, предлагающее темы и плагины.

iRedMail Roundcube Webmail ClientiRedMail Roundcube Webmail ClientiRedMail Roundcube Webmail Client

Вот полный список возможностей RoundCube.

Установка iRedMail

Настройка операционной системы

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

iRedMail Use the Default Ubuntu InstallationiRedMail Use the Default Ubuntu InstallationiRedMail Use the Default Ubuntu Installation

Конечно, вы можете использовать любой виртуальный сервер какой захотите.

Если вы используете память объемом 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 запустит свой мастер установки. Часто вы можете принять ответы по умолчанию.

iRedMail Installation WelcomeiRedMail Installation WelcomeiRedMail Installation Welcome

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

iRedMail Installation Mail Storage PathiRedMail Installation Mail Storage PathiRedMail Installation Mail Storage Path

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

iRedMail Installation Choose Web ServeriRedMail Installation Choose Web ServeriRedMail Installation Choose Web Server

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

iRedMail Installation Choose Mail StoreiRedMail Installation Choose Mail StoreiRedMail Installation Choose Mail Store

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

iRedMail Installation Set MySQL Admin passwordiRedMail Installation Set MySQL Admin passwordiRedMail Installation Set MySQL Admin password

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

iRedMail Installation Set First Virtual Domain NameiRedMail Installation Set First Virtual Domain NameiRedMail Installation Set First Virtual Domain Name

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

iRedMail Installation Set Password for AdministratoriRedMail Installation Set Password for AdministratoriRedMail Installation Set Password for Administrator

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

iRedMail Installation Configuration CompleteiRedMail Installation Configuration CompleteiRedMail Installation Configuration Complete

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

iRedMail Installation Automated Installation CompleteiRedMail Installation Automated Installation CompleteiRedMail Installation Automated Installation Complete

Поздравляем, вы готовы к запуску iRedMail. Перезагрузите сервер и давайте посмотрим, что мы создали.

Использование Roundcube

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

iRedMail RoundCube LoginiRedMail RoundCube LoginiRedMail RoundCube Login

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

Roundcube Client DesktopRoundcube Client DesktopRoundcube Client Desktop

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

Roundcube Send MailRoundcube Send MailRoundcube Send Mail

В следующем уроке мы рассмотрим Roundcube и его параметры настройки.

Администрирование iRedMail

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

iRedMail Administration LoginiRedMail Administration LoginiRedMail Administration Login

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

iRedMail Administration DashboardiRedMail Administration DashboardiRedMail Administration Dashboard

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

iRedMail Administration DomainsiRedMail Administration DomainsiRedMail Administration Domains

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

iRedMail Administration AdminsiRedMail Administration AdminsiRedMail Administration Admins

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

iRedMail Administration Add UseriRedMail Administration Add UseriRedMail Administration Add User

Что дальше?

В следующем учебном пособии я расскажу вам о дополнительных настройках iRedMail и покажу его консоль администрирования.

Пожалуйста, оставляйте свои комментарии, исправления или дополнительные идеи ниже. Вы можете просмотреть мои другие Tuts + уроки на моей странице инструктора или найти меня в Twitter @reifman.

Ссылки по теме

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.