Настройка Mailcow для управления почтовым сервером

20/12/2023 |
Loading...

Введение: В этом руководстве вы узнаете, как настроить собственный почтовый сервер с помощью Mailcow на сервере Ubuntu. Mailcow позволяет разместить собственный почтовый сервер с такими функциями, как настройка домена, синхронизация контактов и интеграция календаря.

Предварительные требования:

  • Доменное имя
  • Базовые знания Docker
  • Примечание: На некоторых облачных серверах порты 25 и 465 могут быть заблокированы по умолчанию в рамках мер по борьбе со спамом.

Шаг 1 — Создание нового облачного сервера

  1. Войдите в свою Cloud Console.
  2. Создайте новый проект и присвойте ему соответствующее имя.
  3. Выберите расположение и тип сервера в соответствии с вашими потребностями (для Mailcow требуется не менее 7 ГБ ОЗУ).
  4. Нажмите "Add Server" и выберите образ сервера. Хотя это руководство основано на Ubuntu 22.04, вы можете адаптировать его для Debian 11.
  5. В разделе "Cloud config" введите: #include https://get.docker.com (для установки Docker).
  6. Выберите свой SSH-ключ. Вы можете сгенерировать SSH-ключ, если у вас его нет.
  7. Введите имя хоста сервера (например, mail.example.com).
  8. Нажмите "Create & Buy Now".

Шаг 2 — Настройка DNS

  1. Создайте DNS-записи для вашего домена:
    • Создайте A-запись для "mail.example.com" с IPv4-адресом вашего сервера.
    • Создайте AAAA-запись для "mail.example.com" с IPv6-адресом вашего сервера.
    • Настройте MX-запись, указывающую на "mail.example.com".
    • Создайте CNAME-записи "autodiscover.example.com" и "autoconfig.example.com", указывающие на "mail.example.com".

Ваша конфигурация DNS должна выглядеть следующим образом:

# Name Type Value mail IN A <IPv4_address> mail IN AAAA <IPv6_address> autodiscover IN CNAME mail autoconfig IN CNAME mail @ IN MX 10 mail

Обратитесь к документации Mailcow для расширенных конфигураций DNS.

Шаг 3 — Установка обновлений и Docker Compose

  1. Дождитесь запуска сервера и подключитесь к нему по SSH с помощью вашего приватного ключа.
  2. Установите доступные обновления и выполните апгрейд:
apt update && apt upgrade -y
  1. Рассмотрите возможность перезагрузки сервера, если были установлены обновления ядра.

Шаг 4 — Клонирование репозитория Mailcow

  1. Перейдите в рабочий каталог /opt:
cd /opt
  1. Клонируйте репозиторий Mailcow с GitHub:
git clone https://github.com/mailcow/mailcow-dockerized

Шаг 5 — Создание конфигурации, загрузка Docker-контейнеров и запуск Mailcow

  1. Перейдите в рабочий каталог /opt/mailcow-dockerized:
cd /opt/mailcow-dockerized
  1. Сгенерируйте конфигурацию Mailcow:
./generate_config.sh
  1. Когда появится запрос, введите ваше доменное имя (например, mail.example.com).

  2. Загрузите Docker-образы:

docker-compose pull
  1. Запустите Mailcow:
docker-compose up -d

Шаг 6 — Настройка обратных DNS-записей

  1. Откройте консоль вашего облачного сервера.
  2. Настройте обратные DNS-записи (PTR) для IPv4 и IPv6 адресов вашего сервера.

Шаг 7 — Первый вход в Mailcow

  1. Откройте ваш экземпляр Mailcow по адресу https://mail.example.org.
  2. Войдите с учетными данными по умолчанию:
    • Имя пользователя: admin
    • Пароль: moohoo

Важно: Немедленно смените пароль в целях безопасности.

Шаг 8 — Добавление домена(ов) в Mailcow

  1. Перейдите в "Configuration" -> "Mail setup".
  2. На вкладке "Domain" добавьте ваш домен.

Шаг 9 — Настройка DKIM

  1. В разделе "Configuration" -> "Configuration & Details" выберите "DKIM" на боковой панели.
  2. Прокрутите вниз до поля, где можно ввести ваш домен.
  3. Нажмите "Select domains with missing keys", чтобы автоматически заполнить имя вашего домена.
  4. Выберите ключ длиной 2048 бит и нажмите "Add".
  5. Скопируйте публичный ключ и создайте DNS TXT-запись с именем "dkim._domainkey", вставив скопированное содержимое.

Шаг 10 — Создание почтового ящика

  1. В разделе "Configuration" -> "Mail setup" создайте почтовый ящик.
  2. Откройте SOGo по адресу https://mail.example.com/SOGo.

Шаг 11 — Создание резервных копий

  1. Создание ручных резервных копий:

    • Подключитесь к серверу по SSH.
    • Перейдите в каталог Mailcow со скриптом резервного копирования: /opt/mailcow-dockerized/helper-scripts.
    • Запустите скрипт резервного копирования: ./backup_and_restore.sh backup all --delete-days 7. При необходимости измените количество дней для удаления.
  2. Создание автоматических резервных копий:

    • Выполните crontab -e, чтобы войти в список задач cron.
    • Вставьте следующее и обновите детали при необходимости:
      javascript
      0 5 * * * MAILCOW_BACKUP_LOCATION=/opt/mailcow-backups /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all --delete-days 7

Шаг 12 — Обновление вашего экземпляра Mailcow

  1. Перед обновлением проверьте наличие текущих резервных копий.
  2. Подключитесь к серверу по SSH.
  3. Перейдите в каталог Mailcow: /opt/mailcow-dockerized.
  4. Выполните: ./update.sh.
  5. Подтвердите обновление и следуйте инструкциям на экране.
  6. После обновления не выключайте сервер или Docker-контейнеры, чтобы избежать повреждения данных.

Общие рекомендации:

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

Получайте эксклюзивные предложения и акции!

Будьте в курсе последних предложений, скидок и специальных акций.

Update cookies preferences