0

Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian

07.03.2023

Mail-in-a-Box — это бесплатный инструмент с открытым исходным кодом, позволяющий создавать почтовые серверы. Его разработчиком является программист, хакер и активист Джошуа Тауберер. Стоит отметить, что благодаря существованию Mail-in-a-Box все желающие могут создать почтовый сервер за пару часов. И сделать это можно на базе облачного сервиса, что особенно удобно. Помимо всего прочего, это решение обеспечивает поддержку нескольких доменных имен. При этом в качестве основы для Mail-in-a-Box была использована операционная система Ubuntu версии 18.04 LTS (64-bit). Инструмент имеет все основные функции, необходимые современным пользователям:

  • фильтрацию спама;
  • автоматическую настройку DNS;
  • серые списки;
  • резервное копирование на Amazon S3;
  • статический хостинг веб-сайтов;
  • упрощенную установку сертификата SSL.

Все это существенно повышает уровень популярности Mail-in-a-Box в среде системных администраторов.

Архитектура Mail-in-a-Box

Прежде всего, разобраться в устройстве почтового сервера Mail-in-a-Box поможет приведенная ниже схема.

Mail-in-a-Box

Установка Mail-in-a-Box на Ubuntu 18.04

Стоит отметить, что установить данное решение для реализации почтового сервера крайне просто. И сделать это под силу даже тем, кто не имеет особого опыта системного администрирования Linux.

Системные требования данного почтового сервера

Прежде всего, чтобы настроить почтовый сервер с помощью Mail-in-a-Box, Ваша система должна соответствовать следующим требованиям:

  • ОС Ubuntu версии 18.04 64 bit (server edition);
  • не менее 768 МБ ОЗУ (разработчик рекомендует хотя бы 1 ГБ);
  • свыше 30 ГБ свободного места на жестком диске;
  • соответствующие MX-записи для Вашего DNS-сервера;
  • разрешения на использование отдельных портов, если Ваш почтовый сервер защищен брандмауэром / маршрутизатором — 22 (SSH), 25 (SMTP), 53 (DNS, как для TCP так и для UDP), 80 (HTTP), 443 (HTTPS), 587 (SMTP submission) и 993 (IMAP).

Как использовать Mail-in-a-Box

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

  • iRedMail;
  • Sovereign;
  • Modoboa.

Настройка Mail-in-a-Box

Давайте попробуем произвести настройку Mail-in-a-Box на сервере под управлением Ubuntu версии 18.04. Прежде всего, следует выполнить обновление пакетов ПО сервера с помощью следующей комбинации команд:

1sudo apt update2sudo apt upgrade

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

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

Пример вывода:

1Installing git . . .2Selecting previously unselected package liberror-perl.3(Reading database ... 55887 files and directories currently installed.)4Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...5Unpacking liberror-perl (0.17-1.1) ...6Selecting previously unselected package git-man.7Preparing to unpack .../git-man_1%3a1.9.1-1ubuntu0.1_all.deb ...8Unpacking git-man (1:1.9.1-1ubuntu0.1) ...9Selecting previously unselected package git.10Preparing to unpack .../git_1%3a1.9.1-1ubuntu0.1_amd64.deb ...11Unpacking git (1:1.9.1-1ubuntu0.1) ...12Processing triggers for man-db (2.6.7.1-1ubuntu1) ...13Setting up liberror-perl (0.17-1.1) ...14Setting up git-man (1:1.9.1-1ubuntu0.1) ...15Setting up git (1:1.9.1-1ubuntu0.1) ...16​17Downloading Mail-in-a-Box v0.13b. . .18​19Installing packages needed for setup...20[...]

Если все было сделано правильно, спустя пару минут на экран будет выведено такое сообщение:

Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian

Далее нажмите клавишу «Ввод» (Enter), чтобы продолжить настройку.

Во-первых, введите идентификатор Вашей почты. Потому что в дальнейшем он будет нужен, чтобы управлять почтовым сервером. Помимо всего прочего, этот аккаунт будет обладать доступом к панели управления admin.

sk@server-~_002

Во-вторых, ведите в соответствующую строку доменное имя полностью:

Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian

В-третьих, укажите страну (выберите из списка), в которой Вы живете или где находится Ваша компания:

sk@server-~_004

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

Создание учетной записи с правами администратора

Конечно же, далее Mail-in-a-Box предложит Вам создать учетную запись с правами администратора. В качестве примера мы возьмем адресexample@edu-cisco.local.

В результате в конце Вы должны увидеть сообщение об успешном завершении установки приложения.

Пример вывода:

1Primary Hostname: edu-cisco.org2Public IP Address: xxx.xxx.xx.xx3Private IP Address: 192.168.1.1014Mail-in-a-Box Version: v0.13b5​6Updating system packages...7Installing system packages...8Firewall is active and enabled on system startup9Creating initial SSL certificate and perfect forward secrecy Diffie-Hellman parameters...10Generating DH parameters, 2048 bit long safe prime, generator 211This is going to take a long time12....................................+............+....................................................................................................................................................................................................................+.............+..........................................................................................................................+..................................................................+........+........................................................................+....................................................................................................+....+...........................................................................................................................................................+..............................................................+..................................................+.......+............................................................................................................................................................................+...................................................................................................................................................................................................+.......+............+....................................................................+...............................................++*++*13Installing nsd (DNS server)...14Generating DNSSEC signing keys. This may take a few minutes...15Installing Postfix (SMTP server)...16Installing Dovecot (IMAP server)...17Creating new user database: /home/user-data/mail/users.sqlite18Installing OpenDKIM/OpenDMARC...19Installing SpamAssassin...20Installing Nginx (web server)...21Installing Roundcube (webmail)...22Installing ownCloud (contacts/calendar)...23creating sqlite db24ownCloud is already latest version25Installing Z-Push (Exchange/ActiveSync server)...26Installing Mail-in-a-Box system management daemon...27Installing Munin (system monitoring)...28updated DNS: example@edu-cisco.local29web updated30​31Okay. I'm about to set up example@edu-cisco.local for you. This account will also32have access to the box's control panel.33password: ## Enter the password to administrative account password34(again): ## Enter the password again35​36mail user added37​38 39​40-----------------------------------------------41​42Your Mail-in-a-Box is running.43​44Please log in to the control panel for further instructions at:45​46https://xxx.xxx.xx.xx/admin47​48You will be alerted that the website has an invalid certificate. Check that49the certificate fingerprint matches:50​51AC:15:B9:14:9B:BD:C6:B2:FD:98:94:75:E4:0T:14:B0:D5:F2:0G:5A52​53Then you can confirm the security exception and continue.54Now, let us access Mail-in-a-Box admin control panel.

Панель управления почтовым сервером Mail-in-a-Box

Чтобы получить доступ к панели управления, откройте свой веб-браузер. И перейдите по URL-адресу https://domain-name/admin либо же https://IP-address/admin. В результате Вы должны увидеть окно авторизации (ввода логина и пароля учетной записи администратора):

Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian

Стоит отметить, что после ввода данных начнутся проверки состояния установленной системы. Инструмент будет заниматься анализом настроек, включая введенные записи DNS Glue. Также — проверит доменное имя, открытые ключи SSH и многое другое. Об успешном завершении каждого теста будет сигнализировать зеленый цвет текста с названием указанного типа проверяемых параметров. Тогда как красный цвет текст будет сигнализировать о провале данной проверки.

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

Важно: выполнение всех операций по установке в реальной облачной системе с открытым IP-адресом приведет к тому, что проверки будут успешно пройдены.

server.local---Mail-in-a-Box-Control-Panel---Google-Chrome_006

Добавление учетных записей пользователей почты

Прежде всего остального, попробуем наконец-то добавить несколько аккаунтов в список пользователей почтового сервиса. Для этого откройте вкладку «Почта» => «Пользователи».

Скорее всего, появится следующий экран. Введите имя пользователя (пример. your_name@edu-cisco.local) и пароль.

Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian

Стоит отметить, что по точной такой же методике можно добавить любое количество пользователей.

В том случае, если новый пользователь должен иметь почтовый адрес с новым доменом, следует действовать чуть иначе. Прежде всего, откройте меню «Почта» => «Пользователи» в панели управления. И просто добавьте нового пользователя с другим доменом почты. В таком случае почтовый сервер Mail-in-a-box обновит конфигурацию в автоматическом режиме. Безусловно, предварительно обязательно придется обновить записи DNS с учетом наличия нового домена.

Однако проверить актуальную конфигурацию DNS довольно просто. Для этого в панели управления просто откройте меню «Система» => «Внешний DNS». Добавление записей осуществляется через пункт меню «Система» => «Пользовательский DNS».

Проверка списка контактов и календаря

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

  • «Контакты» — по адресу https://domain-name/cloud/contacts;
  • «Календарь» — по адресу https://domain-name/cloud/calendar.

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

Помимо всего прочего, нужно указать значение параметра «trusted_domain» в файле config/config.php. Если Вам нужен пример правильного оформления — его можно найти в документе config/config.sample.php.

Веб-интерфейс почтового ящика Mail-in-a-Box

Безусловно, Вам и другим пользователям нужно иметь доступ к почтовому ящику Mail-in-a-Box. Сделать это довольно просто — достаточно перейти по следующему адресу: https://domain-name/mail. В результате Вы увидите окно авторизации, куда нужно ввести имя пользователя и пароль, сгенерированные ранее.

Mail-in-a-Box-Roundcube-Webmail--Welcome-to-Mail-in-a-Box-Roundcube-Webmail---Google-Chrome_009

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

user’s-mail-box

Стоит отметить, что в качестве почтового клиента для сервера Mail-in-a-Box по умолчанию используется программа Roundcube mail.

Свежие комментарии

Подписка

Лучшие статьи


Fatal error: Uncaught Error: Call to a member function have_posts() on null in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php:380 Stack trace: #0 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/widget.php(257): fox56_blog_grid(NULL, Array) #1 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/register.php(33): include('/home/host18670...') #2 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/class-wp-widget.php(394): Wi_Widget_Latest_Posts->widget(Array, Array) #3 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/widgets.php(837): WP_Widget->display_callback(Array, Array) #4 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(417): dynamic_sidebar('sidebar') #5 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(136): fox56_single_sidebar() #6 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(7): fox56_single_inner() #7 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/single.php(23): fox56_single() #8 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/template-loader.php(106): include('/home/host18670...') #9 /home/host1867038/the-devops.ru/htdocs/www/wp-blog-header.php(19): require_once('/home/host18670...') #10 /home/host1867038/the-devops.ru/htdocs/www/index.php(17): require('/home/host18670...') #11 {main} thrown in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php on line 380