Гид по технологиям

Как установить Mailcow на Ubuntu: пошаговое руководство

• 6 min read • Инфраструктура • Обновлено 21 Nov 2025
Установка Mailcow на Ubuntu — пошагово
Установка Mailcow на Ubuntu — пошагово

Установка почтового сервера Mailcow на Ubuntu

Почему запускать собственный почтовый сервер? Приватность, контроль над данными и гибкая кастомизация. Но это требует ответственности: DNS, безопасность, резервные копии и мониторинг — всё это на администраторе.

Что такое Mailcow

Mailcow — это набор готовых сервисов (Postfix, Dovecot, Rspamd, SOGo/roundcube, MariaDB и др.) упакованных в Docker и управляемых через docker-compose. В одной строке: комплексное решение для среднего и продвинутого администратора почты.

Ключевые термины (одно предложение каждый):

  • Docker — инструмент для запуска приложений в изолированных контейнерах.
  • docker-compose — менеджер мультиконтейнерных приложений Docker.
  • DKIM/SPF/DMARC — DNS-политики и подписи, которые помогают доставке почты.

Требования перед началом

  • Доступ к серверу Ubuntu (рекомендовано LTS), root или sudo.
  • Свой домен и доступ к управлению DNS у провайдера хостинга.
  • Минимум 2 ГБ RAM (рекомендуется 4+ ГБ для стабильной работы).
  • Открытые публичные статические IP-адреса предпочтительны.

Важно: этот гайд не покрывает полный цикл эксплуатации (например, накладные расходы на поддержку, SLA, автоматизацию бэкапов) — он фокусируется на установке и базовой настройке.

1. Установка Docker

Mailcow работает в Docker. Если Docker у вас не установлен, установите его командой от официального скрипта:

sudo curl -sSL https://get.docker.com/ | CHANNEL=stable sh

Добавьте пользователя в группу docker, чтобы запускать команды без sudo (замените username на ваш логин):

sudo usermod -aG docker username

Включите автозапуск Docker и запустите сервис:

sudo systemctl enable docker.service
sudo systemctl start docker.service

Проверьте работу Docker:

docker --version

2. Установка docker-compose

Официальные пакеты в репозиториях Ubuntu часто устарели. Скачайте бинарник напрямую и установите:

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

Проверка:

docker-compose --version

(В зависимости от версии Docker Engine может потребоваться другой способ установки docker-compose — проверьте совместимость в документации Docker.)

3. Клонирование Mailcow и генерация конфигурации

Установите git, если его нет, и разместите mailcow в /opt:

sudo apt update
sudo apt install -y git
cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

Сгенерируйте конфигурацию и укажите имя хоста (поддомен, например mail.example.com):

sudo ./generate_config.sh

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

4. Загрузка зависимостей и запуск

Скачайте образы контейнеров:

sudo docker-compose pull

Запуск в фоне:

sudo docker-compose up -d

Проверьте состояние контейнеров:

sudo docker-compose ps
sudo docker-compose logs -f

5. Первый запуск и вход в интерфейс

Откройте в браузере адрес, который вы указали при генерации конфигурации (например https://mail.example.com). На экране входа по умолчанию логин и пароль:

  • username: admin
  • password: moohoo

При первом входе система предложит сменить логин/пароль — обязательно сделайте это.

Экран входа Mailcow

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

Панель администратора Mailcow

6. Обязательная настройка DNS (чтобы письма доходили)

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

  • A (или AAAA) — укажите IP сервера для mail.example.com.
  • MX — укажите приоритет и хост mail.example.com.
  • TXT SPF — строка, описывающая, какие хосты имеют право отправлять почту от имени домена.
  • TXT DKIM — Mailcow сгенерирует DKIM-ключи; опубликуйте публичную часть в DNS.
  • TXT DMARC — политика для обработки сообщений, которые не прошли SPF/DKIM.
  • PTR — обратная запись для вашего публичного IP (настраивается у провайдера хостинга/ISP).

Важно: без корректных SPF/DKIM/PTR ваша почта с высокой вероятностью будет отклоняться или маркироваться как спам.

Пример минимального SPF: “v=spf1 mx -all” — разрешает отправку с MX-серверов домена.

7. Брандмауэр и безопасность

Рекомендуемые порты (открыть в брандмауэре только необходимые):

  • 25 TCP — SMTP
  • 587 TCP — Submission (SMTP с аутентификацией)
  • 443 TCP — HTTPS (веб-интерфейс)
  • 80 TCP — HTTP (перенаправление на HTTPS)
  • 993 TCP — IMAPS (если используете прямой доступ IMAP)

Пример базовой настройки ufw:

sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw enable

Рекомендуется:

  • Включить fail2ban для защиты от подборов паролей.
  • Регулярно обновлять систему и образы Docker.
  • Минимизировать список пользователей с привилегиями.

8. Резервное копирование и обновления

Что сохранять:

  • Конфигурационные файлы /opt/mailcow-dockerized/data и mailcow.conf.
  • Ключи DKIM.

Простой подход к бэкапу: периодическое архивирование важной папки и её отправка на удалённое хранилище (rsync/scp/облачный бэкап).

Обновление Mailcow:

cd /opt/mailcow-dockerized
sudo git pull
sudo docker-compose pull
sudo docker-compose up -d

Перед обновлением делайте бэкап и читайте release notes проекта.

9. Тесты и проверка

Базовые тесты после запуска:

  • Отправить письмо с внешнего аккаунта (Gmail/Yandex) на новый ящик и наоборот.
  • Проверить заголовки письма: SPF/DKIM/DMARC должны проходить.
  • Использовать инструменты проверки почты (mail-tester.com, MXToolbox) для диагностики.

Команды для диагностики на сервере:

sudo docker-compose logs -f mailcow-mailserver
sudo docker ps
sudo docker-compose exec postfix postconf -n

10. Технические советы и часто встречающиеся ошибки

  • Проблема: письма выиграют статус «в спаме». Причина: неправильно настроенные SPF/DKIM/DMARC или отсутствие PTR. Решение: проверить и исправить соответствующие DNS-записи, дождаться обновления зоны.
  • Проблема: контейнеры не запускаются. Проверьте логи: sudo docker-compose logs -f и свободное место на диске.
  • Не забудьте открыть порты на провайдере облака (внешний firewall), а не только на сервере.

Чек-листы по ролям

Администратор (установка):

  • Установлен Docker и docker-compose
  • Клонирован репозиторий mailcow
  • Сгенерирован mailcow.conf
  • Контейнеры подняты и проверены
  • Доступ к веб-интерфейсу проверен

Оператор (эксплуатация):

  • Настроены DNS: A/MX/SPF/DKIM/DMARC/PTR
  • Настроена система бэкапов
  • Мониторинг и алерты настроены
  • Периодические обновления и тесты

Инженер безопасности:

  • Брандмауэр настроен
  • fail2ban и защита от брутфорса активированы
  • Минимизация прав для сервисных учётных записей

Критерии приёмки

  • Веб-интерфейс Mailcow доступен по HTTPS.
  • Отправка/приём почты между внешним аккаунтом и сервером проходит успешно.
  • SPF, DKIM и DMARC проходят проверку в отправленных письмах.
  • Наличествует реализованный план резервного копирования.

Короткие советы по масштабированию и альтернативы

Если у вас большой объём почты или высокие требования по доступности, рассмотрите разграничение сервисов (разделение баз данных, использование отдельного SMTP-шлюза), или коммерческие SaaS-решения почты. Альтернатива Mailcow: iRedMail, Modoboa, или управляемые почтовые сервисы.

Часто задаваемые вопросы

Нужно ли менять порт 25?

Нет: ограничения со стороны провайдеров часто запрещают доступ к порту 25. Если у провайдера блокировка, используйте внешний SMTP-шлюз или прокси. Но для приёма почты от других серверов порт 25 требуется.

Можно ли использовать Let’s Encrypt для сертификатов?

Да. Mailcow поддерживает автоматическую генерацию и обновление сертификатов Let’s Encrypt для веб-интерфейса и TLS для почты.

Итог

Запуск Mailcow на Ubuntu даёт мощную и управляемую почтовую платформу в контейнерах. Однако полноценная эксплуатация требует настройки DNS, безопасности, резервного копирования и мониторинга. Следуйте чек-листам, тестируйте доставку и периодически обновляйте систему.

Ключевые шаги: установить Docker → docker-compose → клонировать mailcow → сгенерировать конфиг → запустить → настроить DNS → протестировать.

Почтовый ящик в Mailcow

Полезные команды для быстрого доступа:

sudo docker-compose ps
sudo docker-compose logs -f
sudo git pull && sudo docker-compose pull && sudo docker-compose up -d

Important: перед вводом в эксплуатацию убедитесь, что SPF/DKIM/PTR настроены и что у вас есть план резервного копирования.


Краткое резюме:

  • Установка Mailcow возможна на Ubuntu за 30–60 минут при наличии доступа к серверу и DNS.
  • Настройка DNS и безопасность требуют отдельного внимания.
  • После стартовой установки следуйте чек-листам и регулярно обновляйте систему.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро