Как запустить свой собственный почтовый сервер с помощью Mail-in-a-Box в Ubuntu 14.04

Вступление

Mail-in-a-Box - это пакет программного обеспечения с открытым исходным кодом, который позволяет легко превратить ваш сервер Ubuntu в полнофункциональное почтовое решение для нескольких доменов.

Для защиты сервера Mail-in-a-Box использует Fail2ban и сертификат SSL (самозаверяющий по умолчанию). Он автоматически настраивает брандмауэр UFW со всеми открытыми необходимыми портами. Его антиспам и другие функции безопасности включают в себя graylisting, SPF, DKIM, DMARC, оппортунистический TLS, надежные шифры, HSTS и DNSSEC (с DANE TLSA).

Mail-in-a-Box предназначен для обработки SMTP, IMAP / POP, фильтрации спама, веб-почты и даже DNS как части комплексного решения. Поскольку сам сервер обрабатывает ваш DNS, вы получите готовое решение DNS, оптимизированное для почты. По сути, это означает, что вы получите сложные записи DNS для своей электронной почты (включая записи SPF и DKIM) без необходимости исследовать и настраивать их вручную. После этого вы можете настроить параметры DNS по мере необходимости, но настройки по умолчанию должны работать очень хорошо для большинства пользователей, размещающих свою собственную почту.

Из этого туториала Вы узнаете, как настроить Mail-in-a-Box на капле DigitalOcean под управлением Ubuntu 14.04 x86-64.

Предпосылки

Mail-in-a-Box очень внимательно относится к ресурсам, которые ему доступны. В частности, это требует:

  • Ubuntu 14.04 x86-64 Капелька

  • На сервере должно быть не менее 768 МБ ОЗУ (рекомендуется 1 ГБ)

  • Убедитесь, что сервер настроен в соответствии с инструкциями, приведенными в thutorial, включая добавление sudo пользователь и отключение пароля доступа SSH для пользователя root (и, возможно, всех пользователей, если ваши ключи SSH настроены)

  • При настройке DigitalOcean Droplet имя должно быть установлено на **. Настройка имени хоста обсуждается позже в этом руководстве

  • Мы более подробно рассмотрим позже, но ваш регистратор домена должен поддерживать настройку пользовательских серверов имен и склеивать записи, чтобы вы могли разместить свой собственный DNS на своей Droplet; термин vanity nameservers часто используется

  • (Необязательно) Приобретите SSL сертификат, чтобы использовать его вместо самоподписанный; это рекомендуется для производственных сред

При требовании к ОЗУ сценарий установки будет прерван со следующими данными, если требование ОЗУ не выполнено:

ErrorYour Mail-in-a-Box needs more memory (RAM) to function properly.
Please provision a machine with at least 768 MB, 1 GB recommended.
This machine has 513 MB memory

Прежде чем приступить к этому, убедитесь, что у вас есть сервер Ubuntu с 1 ГБ ОЗУ.

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

Шаг 1 - Настройка имени хоста

На этом шаге вы узнаете, как правильно установить имя хоста, если оно еще не установлено. Затем вы измените файл + / etc / hosts + для соответствия.

С этого момента предполагается, что вы вошли в свою учетную запись DigitalOcean, а также вошли на сервер как пользователь sudo через SSH, используя:

ssh

Официально рекомендуется, чтобы имя хоста вашего сервера было установлено на ++. Это также должно быть имя капли в том виде, в каком оно отображается на панели инструментов DigitalOcean. Если в качестве имени капли указано только имя домена, переименуйте его, нажав на имя капли, затем * Настройки> Переименовать *.

После установки имени капли в соответствии с рекомендациями, убедитесь, что оно совпадает с тем, что появляется в файле + / etc / hostname +, введя команду:

hostname

Вывод должен выглядеть примерно так:

Output

Если выходные данные не совпадают с именем, отображаемым на информационной панели DigitalOcean, исправьте его, набрав:

sudo echo "" > /etc/hostname

Шаг 2 - Изменить файл / etc / hosts

Файл + / etc / hosts + необходимо изменить, чтобы связать имя хоста с IP-адресом сервера. Чтобы отредактировать его, откройте его с помощью nano или вашего любимого редактора, используя:

sudo nano /etc/hosts

Измените адреса IPv4, чтобы они читались следующим образом:

/ и т.д. / хосты

127.0.0.1

Вы можете точно скопировать строку ++. Используйте свой собственный IP и домен во второй строке.

Сохраните и закройте файл.

Шаг 3 - Создание записей клея

Хотя возможно иметь внешнюю службу DNS, например, предоставляемую вашим регистратором домена, обрабатывать все разрешения DNS для сервера, настоятельно рекомендуется делегировать обязанности DNS серверу Mail-in-a-Box.

Это означает, что вам нужно настроить glue records при использовании Mail-in-a-Box. Использование склеенных записей облегчает безопасную и правильную настройку сервера для электронной почты. При использовании этого метода очень важно, чтобы все обязанности DNS были делегированы серверу Mail-in-a-Box, даже если существует активный веб-сайт, использующий целевой домен.

Настройка склеенных записей (также называемых private nameservers, vanity nameservers и child nameservers) должна быть выполнена вашим регистратором домена.

Чтобы настроить клейкую запись, необходимо выполнить следующие задачи:

  1. Установите клейкие записи сами. Это включает создание пользовательских адресов серверов имен, которые связывают полное имя хоста сервера, а также префиксы * ns1 * и * ns2 * с его IP-адресом. Это должно быть следующим:

    • * Ns1.box. *

    • * Ns2.box. *

  2. Перенесите обязанности DNS на сервер Mail-in-a-Box.

    • * NS ns1.box. *

    • * NS ns2.box. *

    • Пример: Namecheap *

Для начала войдите в свою учетную запись регистратора домена. Как выглядит панель управления учетной записью вашего регистратора доменов, зависит от используемого вами регистратора доменов. В примере используется Namecheap, поэтому шаги и изображения, используемые в этом руководстве, будут такими же, какими вы их найдете, если у вас есть учетная запись Namecheap. Если вы используете другого регистратора, позвоните в его службу технической поддержки или просмотрите их базу знаний, чтобы узнать, как создать клейкую запись.

После входа в систему найдите список доменов, которыми вы управляете, и нажмите на целевой домен; то есть тот, который вы собираетесь использовать для настройки почтового сервера.

Найдите пункт меню, который позволяет вам изменить информацию об адресе сервера имен. На панели управления Namecheap этот пункт меню называется * Регистрация сервера имен * в категории меню * Дополнительные параметры *. Вы должны получить интерфейс, который выглядит следующим образом:

изображение: http: //i.imgur.com/HGGLt7q.png [Изменение серверов имен]

Мы собираемся установить две клейкие записи для сервера:

  • **

  • **

Поскольку предоставляется только одно настраиваемое поле, их необходимо настраивать последовательно. Как показано на рисунке ниже, введите **, где появляется число * 1 *, затем введите IP-адрес сервера Mail-in-a-Box в поле IP-адрес (обозначается номером * 2 *). Наконец, нажмите кнопку * Добавить сервер имен *, чтобы добавить запись (номер * 3 *).

Повторите для другой записи, убедившись, что используете ** вместе с тем же доменным именем и IP-адресом.

После того, как обе записи будут созданы, найдите другой пункт меню, который говорит * Перенос DNS на Webhost *. Вы должны получить окно, которое выглядит так же, как показано на рисунке ниже. Выберите пользовательский параметр DNS, затем введите первые два поля:

  • **

  • **

изображение: http: //i.imgur.com/LmXg3ZW.png [Пользовательский DNS]

Нажмите, чтобы применить изменения.

Изменения в DNS занимают некоторое время для распространения. Это может занять до 24 часов, но для распространения изменений, внесенных в тестовую область, потребовалось всего около 15 минут.

Вы можете убедиться, что изменения DNS были распространены, посетив https://www.whatsmydns.net [whatsmydns.net]. Найдите записи * A * и * MX * целевого домена. Если они соответствуют настройкам, указанным на этом шаге, вы можете перейти к шагу 4. В противном случае повторите этот шаг или обратитесь к вашему регистратору за помощью.

Шаг 4 - Установите Mail-in-a-Box

На этом шаге вы запустите скрипт для установки Mail-in-a-Box на свой дроплет. Сценарий установки Mail-in-a-Box устанавливает каждый пакет, необходимый для запуска полноценного почтового сервера, поэтому все, что вам нужно сделать, это запустить простую команду и следовать подсказкам.

Предполагая, что вы все еще вошли на сервер, перейдите в свой домашний каталог:

cd ~

Установите Mail-in-a-Box:

curl -s https://mailinabox.email/bootstrap.sh | sudo bash

Скрипт предложит вам вводное сообщение на следующем рисунке. Нажмите + ENTER.

изображение: http: //i.imgur.com/rwyVRUO.png [Установка по почте]

Теперь вам будет предложено создать первый адрес электронной почты, который вы позже будете использовать для входа в систему. Вы можете ввести ** или другой адрес электронной почты в вашем домене. Примите или измените предложенный адрес электронной почты и нажмите + ENTER +. После этого вам будет предложено указать и подтвердить пароль для учетной записи электронной почты.

изображение: http: //i.imgur.com/Y2MHRk0.png [Ваш адрес электронной почты]

После настройки электронной почты вам будет предложено подтвердить имя хоста сервера. Он должен совпадать с тем, который вы установили на шаге 1, в данном примере это **. Нажмите + ENTER.

Изображение: Http: //i.imgur.com/LGHOcar.png [Hostname]

Далее вам будет предложено выбрать вашу страну. Выберите его, прокручивая вверх или вниз с помощью клавиш со стрелками. Нажмите + ENTER после того, как вы сделали правильный выбор.

изображение: http: //i.imgur.com/6WxmdC3.png [код страны]

В какой-то момент вы получите это приглашение:

OutputOkay. I'm about to set up  for you. This account will also have access to the box's control panel.
password:

Укажите пароль для учетной записи электронной почты по умолчанию, которая также будет учетной записью администратора веб-интерфейса по умолчанию.

После успешного завершения установки вы должны увидеть вывод после установки, который включает в себя:

Outputmail user added
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])
updated DNS: example.com
web updated

alias added
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])


-----------------------------------------------

Your Mail-in-a-Box is running.

Please log in to the control panel for further instructions at:

https:///admin

You will be alerted that the website has an invalid certificate. Check that
the certificate fingerprint matches:

1F:C1:EE:C7:C6:2C:7C:47:E8:EF:AC:5A:82:C1:21:67:17:8B:0C:5B

Then you can confirm the security exception and continue.

Шаг 5 - Войдите в панель управления Mail-in-a-Box

Теперь вы войдете в административный интерфейс Mail-in-a-Box и узнаете свой новый почтовый сервер. Чтобы получить доступ к интерфейсу администратора, используйте URL, указанный в выводе после установки. Это должно быть:

  • + Https: /// админ # +

Поскольку были использованы HTTPS и самозаверяющий сертификат, вы получите предупреждение о безопасности в окне вашего браузера. Вам нужно создать исключение безопасности. Как это сделать, зависит от браузера, который вы используете.

Например, если вы используете Firefox, вы увидите окно браузера со знакомым предупреждением, показанным на следующем изображении.

Чтобы принять сертификат, нажмите кнопку * Я понимаю риски *, а затем кнопку * Добавить исключение *.

изображение: http: //i.imgur.com/oSERTMV.png [Соединение не доверено в Firefox]

На следующем экране вы можете убедиться, что отпечаток сертификата совпадает с отпечатком в выводе после установки, а затем нажмите кнопку «Подтвердить исключение безопасности» *.

изображение: http: //i.imgur.com/jvRbbqX.png [Добавить исключение безопасности в Firefox]

После создания исключения войдите в систему, используя имя пользователя и пароль учетной записи электронной почты, созданной во время установки. Обратите внимание, что имя пользователя - это полный адрес электронной почты, например + contact @ +.

Когда вы входите в систему, начинается проверка состояния системы. Mail-in-a-Box проверит, что все аспекты сервера, включая склеенные записи, настроены правильно. Если это правда, вы должны увидеть море зеленого (и немного желтовато-зеленого) текста, за исключением части, относящейся к SSL-сертификатам, которая будет красного цвета. Вы также можете увидеть сообщение о перезагрузке, о котором вы можете позаботиться.

Если вы видите только красные тексты из-за SSL-сертификатов, поздравляем! Теперь вы успешно настроили свой собственный почтовый сервер, используя Mail-in-a-Box.

Если вы хотите вернуться к этому разделу (например, после ожидания распространения DNS), он находится в разделе * Система> Проверка состояния *.

Шаг 6 - Доступ к веб-почте и отправка тестового электронного письма

Чтобы получить доступ к интерфейсу веб-почты, нажмите * Mail> Инструкции * в верхней панели навигации и получите доступ к URL-адресу, указанному на этой странице. Это должно быть что-то вроде этого:

  • + Https: /// почта +

Войдите с адресом электронной почты (включая часть @example.com) и паролем, который вы установили ранее.

Mail-in-a-box использует Roundcube в качестве приложения для веб-почты. Попробуйте отправить тестовое письмо на внешний адрес электронной почты. Затем ответьте или отправьте новое сообщение на адрес, управляемый вашим сервером Mail-in-a-Box.

Исходящее электронное письмо должно быть получено почти сразу, но, поскольку на сервере Mail-in-a-box действует graylisting, потребуется около 15 минут, прежде чем появится входящее электронное письмо.

Это не будет работать, если DNS настроен неправильно.

Если вы можете отправлять и получать текстовые сообщения, у вас теперь есть собственный почтовый сервер. Поздравляем!

(Необязательно) Шаг 7 - Установите сертификат SSL

Mail-in-a-box по умолчанию генерирует собственный самозаверяющий сертификат. Если вы хотите использовать этот сервер в производственной среде, мы настоятельно рекомендуем установить официальный сертификат SSL.

Во-первых, purchase ваш сертификат. Или, чтобы узнать, как создать бесплатный подписанный сертификат SSL, обратитесь к https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-with-a-free-signed-ssl- сертификат-на-vps [Как настроить Apache с бесплатным подписанным сертификатом SSL на VPS].

Затем в админ-панели Mail-in-a-Box выберите «Система»> «Сертификаты SSL» * в верхнем меню навигации.

Оттуда используйте кнопку * Install Certificate * рядом с соответствующим доменом или поддоменом. Скопируйте и вставьте свой сертификат и любые цепные сертификаты в предоставленные текстовые поля. Наконец нажмите кнопку * Установить *.

Теперь вы и ваши пользователи должны иметь доступ к веб-почте и административной панели без предупреждений браузера.

Заключение

Добавлять домены и дополнительные адреса электронной почты на сервер Mail-in-a-Box очень просто. Чтобы добавить новый адрес в новом или существующем домене, просто добавьте еще одну учетную запись электронной почты из * Mail> Users * на панели администратора. Если адрес электронной почты находится в новом домене, Mail-in-a-box автоматически добавит соответствующие новые настройки для него.

Если вы добавляете новый домен, убедитесь, что вы установили для серверов имен доменов и (те же, которые мы настраивали ранее для первого домена) у своего регистратора доменов. Ваша Droplet будет обрабатывать все DNS для нового домена.

Чтобы увидеть текущие настройки DNS, посетите * Система> Внешний DNS *. Чтобы добавить свои собственные записи, посетите * Система> Пользовательский DNS *.

Mail-in-a-Box также предоставляет функциональные возможности, выходящие за рамки данной статьи. Он может служить размещенным контактом и менеджером календаря благодаря ownCloud. Он также может быть использован для размещения статических сайтов.

Дополнительную информацию о Mail-in-a-Box можно получить на домашней странице project.

Related