Mailcow – готовий поштовий сервер на основі Postfix, Dovecot і іншого програмного забезпечення з відкритим вихідним кодом, який забезпечує зручний сучасний веб-інтерфейс для адміністрування і використання електронної пошти. В якості поштового web клієнта використовується SOGo.

Mailcow це простий, універсальний комбайн з простим інтерфейсом, який заснований на docker контейнерах і можна використовувати для швидкого розгортання повнофункціонального поштового сервісу в невеликих організаціях. За простотою і функціоналом він перевершує популярний iRedMail.

У цій статті ми розглянемо, як налаштувати необхідні DNS записи для роботи пошти і розгорнути поштовий сервер mailcow на Ubuntu 20.04.

Додаємо офіційний репозиторій Docker

Mailcow заснований на контейнерах, тому потрібно спочатку встановити Docker. Оновлення існуючий перелік пакетів:

sudo apt update

Потім встановіть пакети, які дозволяють apt використовувати пакети по HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Наступні команди дозволяє завантажити і встановити офіційний ключ GPG Docker. Ключ використовується для перевірки пакетів, встановлених з репозиторію Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Тепер, коли офіційний ключ GPG встановлений, виконайте наступні команди, щоб додати сховище stable Docker в Ubuntu:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Потім поновіть базу даних пакетів інформацією з знову доданого сховища:

sudo apt update

Далі встановлюємо Docker:

sudo apt install docker-ce

Переконайтеся, що Docker CE встановлений правильно, запустивши образ hello-world:

sudo docker run hello-world

Ви повинні побачити рядки, схожі на показані нижче:

Установка Docker Compose

В Ubuntu Linux ви можете завантажити Docker Compose зі сторінки випуску сховища Скласти на GitHub . Для завантаження останньої версії 1.28.6 виконайте наступні команди:

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Після завантаження зробимо файл виконуваним і створимо символічне посилання на / usr / двійковий файл

sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Перевірте, що Docker Compose працює:

docker-compose –version

Встановлення MailCow

Тепер, коли Docker і Docker Compose встановлені, можна приступити до установки Mailcow.

Спочатку встановіть Git:

sudo apt install git

Після цього перейдіть в каталог / опт і клонують репозиторій mailcow-dockerized:

cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

Потім запустіть скрипт щоб завантажити залежності Mailcow і згенерувати конфиг файл:

sudo ./generate_config.sh

Спочатку потрібно вказати ім’я поштового сервера (host name), наприклад mail.example.ru:

Вкажіть тимчасову зону (Europe / Moscow).

Timezone [Etc/UTC]: Europe/Moscow

Ми згенерували конфиг mailcow.conf на основі якого буде збиратися зв’язка з docker-контейнерів. При необхідності можна змінити порти якщо вони у вас вже зайняті, наприклад, іншими докер контейнерами, а також змінити hostname (MAILCOW_HOSTNAME = mail.example.ru)

Порти за замовчуванням:

SMTP_PORT=25
SMTPS_PORT=465
SUBMISSION_PORT=587
IMAP_PORT=143
IMAPS_PORT=993
POP_PORT=110
POPS_PORT=995
SIEVE_PORT=4190
DOVEADM_PORT=127.0.0.1:19991
HTTP=80
HTTPS=443

Запускаємо установку всіх пов’язаних контейнерів командою:

sudo docker-compose up -d

Установка може зайняти від 5 до 15 хвилин. Після закінчення встановлення ви побачимо щось схоже …

Creating mailcowdockerized_dockerapi-mailcow_1 ... done
Creating mailcowdockerized_olefy-mailcow_1 ... done
Creating mailcowdockerized_memcached-mailcow_1 ... done
Creating mailcowdockerized_watchdog-mailcow_1 ... done
Creating mailcowdockerized_unbound-mailcow_1 ... done
Creating mailcowdockerized_sogo-mailcow_1 ... done
Creating mailcowdockerized_ejabberd-mailcow_1 ... done
Creating mailcowdockerized_clamd-mailcow_1 ... done
Creating mailcowdockerized_solr-mailcow_1 ... done
Creating mailcowdockerized_redis-mailcow_1 ... done
Creating mailcowdockerized_php-fpm-mailcow_1 ... done
Creating mailcowdockerized_mysql-mailcow_1 ... done
Creating mailcowdockerized_nginx-mailcow_1 ... done
Creating mailcowdockerized_dovecot-mailcow_1 ... done
Creating mailcowdockerized_postfix-mailcow_1 ... done
Creating mailcowdockerized_acme-mailcow_1 ... done
Creating mailcowdockerized_netfilter-mailcow_1 ... done
Creating mailcowdockerized_rspamd-mailcow_1 ... done
Creating mailcowdockerized_ipv6nat-mailcow_1 ... done

Тепер ви можете отримати доступ до веб інтерфейсу mailcow https://${MAILCOW_HOSTNAME} з обліковими даними за замовчуванням адміністратор і паролем адміністратора муху. (У мене це http://192.168.140.134/)

вхід в панель адмінстрірованія mailcow

Налаштування DNS записів для поштового сервера

PTR-запис

Переконайтеся, що запис PTR вашого IP-адреси відповідає FQDN вашого хоста mailcow: $ {MAILCOW_HOSTNAME}. Ця запис зазвичай встановлюється у провайдера, у якого ви орендували IP-адреса (сервер).

Мінімальна конфігурація DNS

У цьому прикладі показаний набір записів для одного домену, керованого mailcow. Кожному домену, доданому в mailcow, для правильної роботи необхідний як мінімум цей набір записів:

# Ім’я Тип Значення
поштою В 1.2.3.4
автовідкриття В CNAME mail.example.ru. (ваш $ {MAILCOW_HOSTNAME})
автоконфігурація В CNAME mail.example.ru. (ваш $ {MAILCOW_HOSTNAME})
@ В MX 0 mail.example.ru. (ваш $ {MAILCOW_HOSTNAME})

MX-запис вид DNS-записи, призначений для реєстрації поштових SMTP серверів. Саме з її допомогою поштовий агент відправника визначає smtp сервер, на які буде виконуватися доставку листа.

Запис DKIM

Настійно рекомендується створити запис DKIM TXT в інтерфейсі mailcow і встановити відповідний запис TXT в записах DNS.

генерація записів dkim для

# Ім’я Тип Значення
dkim._domainkey У ТХТ «V = DKIM1; k = rsa; t = s; s = електронна пошта; p = MIIB…»

SPF-запис

SP дозволяє власнику домену вказати в TXT-запису, що відповідає імені домену, список серверів, які мають право відправляти email-повідомлення із зворотними адресами в цьому домені.
Приклад SPF-даних в TXT-записи DNS:

# Ім’я Тип Значення
поштою У ТХТ «V = spf1 a mx -всі»

DMARC-запис

DMARC – призначена для зниження кількості спамових і фішингових електронних листів, заснована на ідентифікації поштових доменів відправника на підставі правил і ознак, заданих на поштовому сервері одержувача

Приклад DMARS-даних в TXT-записи DNS:

# Ім’я Тип Значення
_dmarc У ТХТ «V = DMARC1; p = карантин; rua = mailto: admin@example.ru; ruf = mailto: admin@example.ru; sp = карантин »

Управління Docker контейнерами Mailcow

Управління контейнерами, їх стан, перезапуск і перегляд журналів, можна здійснювати за допомогою призначеного для користувача інтерфейсу mailcow, а також через стандартні команди docker-compose.

перевірка статусу mailcow, що використовується місце, пам'ять, управління контейнерами

Створення поштового домену, ящика і перевірка працездатності

Тепер вам потрібно додати допустимий домен через веб інтерфейс mailcow. Вгорі, в основних вкладках виберіть “конфігурація ” -> “Поштовий сервіс “.

настройка поштового сервера mailcow

Далі: на вкладці “Домени “. У меню праворуч, натискаємо на “Додати домен “.

управління доменами в mailcow

Потім: у вікні заповніть основні параметри (Максимальна кількість ящиків, їх розмір, чи потрібно створювати глобальну адресну книгу і т.д.) і натискаємо на “Додати домен і перезапустити SOGo “.

mailcow додати і налаштувати новий поштовий домен

Для створення поштової скриньки необхідно перейти на вкладку “Поштові ящики” і натиснути на “Додати поштовий акаунт “

як додати новий ящик в mailcow

Потім у вікні заповнюємо основні параметри (ім’я, розмір ящика, пароль) і натискаємо на “Додати “

додавання поштової скриньки в mailcow

Тепер можна зайти в веб інтерфейс поштової скриньки перейшовши за адресою http: //$ {MAILCOW_HOSTNAME} / SOGo (у мене це http://192.168.140.134/SOGo/).

веб інтерфейс sogo

Після успішної автарізаціі ми побачимо головне екран поштового клієнта.

web інтерфейс поштового клієнта mailcow

Mailcow це набір контейнерів docker, який дозволить вам максимально швидко загорнути простий і сучасний поштовий сервер з дружніми інтерфейсом.

Leave a Reply

Your email address will not be published. Required fields are marked *