Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

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

profile picture
Author
ntimo
Published
2019-03-18
Time to read
4 minutes reading time

Введение

В этом руководстве мы установим свой собственный почтовый сервер на базе Ubuntu в Hetzner Cloud.
С Mailcow вы можете разместить свой собственный почтовый сервер с вашим собственным доменным именем. Mailcow также позволяет синхронизировать ваши контакты и календарь.

Официальная документация: https://docs.mailcow.email/
Веб-сайт проекта: https://mailcow.email
GitHub: https://github.com/mailcow/mailcow-dockerized

Требования

  • Доменное имя
  • Немного знаний о работе Docker

Шаг 1 - Создание нового сервера Cloud

  • Войдите в Cloud панель через [https://console.hetzner.cloud]
  • Создайте новый проект и назовите его как вам нравится
  • Выберите локацию сервера которая вам больше подходит
  • Нажмите Add Server и выберите Ubuntu 18.04 из доступных образов
  • Выберите необходимую по мощности модель сервера
  • Кликните в поле User Data и введите следующее #include https://get.docker.com (эта опция автоматически установит docker)
  • Выберите SSH-ключ
    • Вы можете прочитать данное руководство, чтобыы узнать как сгенерировать SSH-ключ
  • В поле name укажите имя сервера (mail.example.com)
  • Нажмите Create & Buy Now

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

По сути, вы хотите сделать новую DNS запись с именем mail.example.com и добавить адреса IPv4 (A запись) и IPv6 (AAAA запись) вашего сервера. Затем вы можете настроить MX запись своего домена так, чтобы она указывала на ваш поддомен mail.example.com, который вы только что создали. Вам также необходимо настроить поддомены autodiscover.example.com и autoconfig.example.com, они оба должны иметь тип CNAME и указывать на mail.example.com

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

# Name              Type       Value
mail                IN A       10.0.0.1
mail                IN AAAA    2001:db8:1234::1
autodiscover        IN CNAME   mail
autoconfig          IN CNAME   mail

@                   IN MX 10   mail

Дополнительная информация

Шаг 2 - Установка обновлений на сервер (опционально)

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

apt update && apt upgrade -y

Шаг 4 - Установка Docker Compose

Теперь вам нужно установить Docker compose, сделать это можно выполнив:

curl -L https://github.com/docker/compose/releases/download/$(curl -s "https://api.github.com/repos/docker/compose/releases/latest" | awk -F '"' '/tag_name/{print $4}')/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

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

Теперь мы собираемся клонировать репозиторий Mailcow GitHub, поэтому сначала вам нужно перейти в /opt:

cd /opt

теперь, когда вы находитесь в /opt выполните:

git clone https://github.com/mailcow/mailcow-dockerized

Шаг 6 - Создание файла конфигурации

Перейдите в директорию /opt/mailcow-dockerized командой cd /opt/mailcow-dockerized и выполните скрипт ./generate_config.sh который сгенерирует файл конфигурации. Теперь вам нужно ввести свое доменное имя (должно быть что-то вроде mail.example.com)

Шаг 7 - Получение Docker-контейнеров

Мы почти закончили. Теперь вы должны запустить docker-compose pull, чтобы получить образы Docker.

Шаг 8 - Запуск Mailcow

Для запуска Mailcow выпоните docker-compose up -d

Шаг 9 - Настройка обратной DNS записи

Войдите в панель Cloud, выберите свой проект, выберите сервер который только что создали, перейдите в раздел networking, нажмите на три точки в строке с IPv4 адресом и выберите Edit Reverse DNS и введите имя своего домена (mail.example.com). Тоже самое необходимо сделать для IPv6 адреса просто введя ::1 в поле, где указан IP-адрес и ниже вновь ваше имя домена (mail.example.com).

Шаг 10 - Вход в систему и смена пароля

Теперь вы можете открыть mail.example.com в браузере и войти с логином/паролем по-умолчанию
логин: admin пароль: moohoo

Пожалуйста смените пароль по-умолчанию :)

Шаг 11 - Добавление домена в Mailcow

Для добавления домена в Mailcow перейдите в Configuration -> Mail setup. Добавьте свой домен.

Шаг 12 - Настройка DKIM

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

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

В меню Configuration -> Mail setup вы сможете создать почтовый ящик и зайти в него по следующей ссылке https://mail.example.com/SOGo

Шаг 14 - Обновление Mailcow

Конечно, о почтовом сервере необходимо заботиться и обновлять его время от времени. Обновление Mailcow - супер простая задача, просто запустите ./update.sh и следуйте инструкциям :)

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get 20€ free credit!

Valid until: 31 December 2024 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more