Поиск по сайту:

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


Введение

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

Для защиты сервера Mail-in-a-Box использует Fail2ban и SSL-сертификат (по умолчанию самоподписанный). Он автоматически настраивает брандмауэр UFW со всеми открытыми портами. Его защита от спама и другие функции безопасности включают серый список, 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 ГБ).
  • Убедитесь, что сервер настроен в соответствии с инструкциями, приведенными в этом руководстве, включая добавление пользователя sudo и отключение доступа по паролю SSH для пользователя root (и, возможно, для всех пользователей, если ваши ключи SSH настроены)
  • При настройке дроплета DigitalOcean имя должно быть задано как box.example.com. Установка имени хоста обсуждается далее в этом руководстве.
  • Мы подробнее остановимся на этом позже, но ваш регистратор доменов должен поддерживать настройку пользовательских серверов имен и связующих записей, чтобы вы могли разместить свой собственный DNS в своем дроплете. часто используется термин именные серверы тщеславия
  • (Необязательно) Приобретите SSL-сертификат для использования вместо самозаверяющего; это рекомендуется для производственных сред.

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

Error
Your 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 ГБ оперативной памяти.

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

Шаг 1 — Настройте имя хоста

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

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

  1. ssh sammy@your_server_ip

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

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

  1. hostname

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

Output
box.example.com

Если вывод не соответствует имени, отображаемому на панели инструментов DigitalOcean, исправьте его, набрав:

  1. sudo echo "box.example.com" > /etc/hostname

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

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

  1. sudo nano /etc/hosts

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

127.0.0.1 localhost.localdomain localhost
your_server_ip box.example.com box

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

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

Шаг 3 — Создайте связующие записи

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

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

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

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

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

  1. Устанавливайте клеевые пластинки сами. Это включает в себя создание пользовательских адресов серверов имен, которые связывают полное имя хоста сервера, а также префиксы ns1 и ns2 с его IP-адресом. Они должны быть следующими:
    • ns1.box.example.com your_server_ip
    • ns2.box.example.com your_server_ip
  2. Перенесите обязанности DNS на сервер Mail-in-a-Box.
    • example.com NS ns1.box.example.com
    • example.com NS ns2.box.example.com

Примечание. Обе задачи должны быть выполнены правильно. В противном случае сервер не сможет функционировать как почтовый сервер. (Кроме того, вы можете настроить все соответствующие записи MX, SPF, DKIM и т. д. на другом сервере имен.)

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

Пример: Namecheap

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

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

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

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

  • ns1.box.example.com
  • ns2.box.example.com

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

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

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

  • ns1.box.example.com
  • ns2.box.example.com

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

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

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

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

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

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

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

  1. cd ~

Установите почтовый ящик:

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

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

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

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

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

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

Output
Okay. I'm about to set up contact@example.com for you. This account will also have access to the box's control panel. password:

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

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

Output
mail user added added alias hostmaster@box.example.com (=> administrator@box.example.com) added alias postmaster@example.com (=> administrator@box.example.com) added alias admin@example.com (=> administrator@box.example.com) updated DNS: example.com web updated alias added added alias admin@box.example.com (=> administrator@box.example.com) added alias postmaster@box.example.com (=> administrator@box.example.com) ----------------------------------------------- Your Mail-in-a-Box is running. Please log in to the control panel for further instructions at: https://your_server_ip/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://ваш_сервер_ip/admin#

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

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

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

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

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

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

Примечание. Если есть выходные данные, выделенные красным цветом, о неверных MX-записях DNS для настроенного домена, значит, шаг 3 выполнен неправильно. Повторите этот шаг или обратитесь за помощью в службу технической поддержки вашего регистратора.

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

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

Шаг 6 — Получите доступ к веб-почте и отправьте тестовое письмо

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

  • https://box.example.com/mail

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

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

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

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

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

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

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

Во-первых, как настроить Apache с помощью бесплатного подписанного SSL-сертификата в руководстве по VPS.

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

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

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

Заключение

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

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

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

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

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