Введение
В этом руководстве вы настроите свой собственный почтовый сервер на сервере Ubuntu в облаке Hetzner. С помощью Mailcow вы можете разместить свой почтовый сервер на собственном домене. Mailcow также предлагает возможность синхронизации контактов и календаря.
Предпосылки
- Вам необходимо доменное имя.
- Немного знаний о том, как работает Docker
- Серверы Hetzner Cloud по умолчанию блокируют порты 25 и 465 для защиты от спама. Вы можете запросить разблокировку портов после оплаты первого счёта. По сути, это простая проверка того, что вы не спамер.
Шаг 1 — Создайте новый облачный сервер
- Войдите в облачную консоль
- Создайте новый проект и назовите его как хотите.
- Выберите местоположение и тип сервера в зависимости от ваших потребностей. Если вы не уверены, воспользуйтесь советами ниже.
- Нажмите «Добавить сервер» и выберите образ сервера. Это руководство основано на Ubuntu 22.04, но его можно легко адаптировать для Debian 11, который более стабилен и легковесен.
- Выберите необходимые вам ресурсы из поля «Тип».
- Нажмите на поле «Конфигурация облака» и введите следующее: #include https://get.docker.com (это установит Docker)
- Выберите свой SSH-ключ
- Введите имя хоста вашего сервера в поле «Имя» (mail.example.com).
- Нажмите «Создать и купить сейчас».
Как выбрать правильное местоположение и тип сервера
Выберите сервер, расположенный ближе всего к вам или вашей базе пользователей. Что касается подходящего типа сервера, учтите, что для корректной работы Mailcow требуется не менее 7 ГБ оперативной памяти. Mailcow — это полнофункциональное решение для групповой работы. Поэтому минимальный доступный тип сервера — CX31* или CPX31.
Шаг 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Для более сложной настройки в документации Mailcow есть дополнительные записи DNS, на которые следует обратить внимание.
Шаг 3 — Установка обновлений и Docker Compose на сервер
Подождите несколько секунд, пока сервер запустится, а затем подключитесь к нему по SSH, используя свой закрытый ключ. Теперь вы сможете войти, выполнив команду:
apt update && apt upgrade -yЭто подходящее время для перезагрузки сервера после завершения всех обновлений, особенно если были выполнены какие-либо обновления ядра.
Шаг 4 — Клонируйте репозиторий Mailcow
Теперь мы хотим клонировать репозиторий Mailcow GitHub, поэтому сначала вам нужно войти в /opt с помощью:
cd /optПерейдя в /opt, вы можете выполнить:
git-клон https://github.com/mailcow/mailcow-dockerized
Шаг 5 — Создайте конфигурацию, извлеките контейнеры Docker и запустите Mailcow
Чтобы создать конфигурацию, измените рабочий каталог на /opt/mailcow-dockerized с помощью команды cd /opt/mailcow-dockerized и запустите ./generate_config.sh для генерации конфигурации. Теперь вам нужно ввести свое доменное имя (например, mail.example.com). Мы почти закончили. Теперь вам нужно запустить Docker Compose Pull, чтобы загрузить образы Docker. Чтобы запустить Mailcow, выполните команду docker Compose Up -d .
Шаг 6 — Настройте обратные записи DNS
Чтобы настроить обратные записи DNS, выполните следующие действия:
- Перейдите в консоль Hetzner Cloud и нажмите на свой проект.
- Выберите созданный вами сервер и перейдите на вкладку СЕТЬ.
- Нажмите на три точки рядом с вашим адресом IPv4, выберите «Изменить обратный DNS», введите свой домен (mail.example.com) и подтвердите изменение.
- Нажмите на три точки рядом с вашей подсетью IPv6, выберите «Изменить обратный DNS» и введите ::1 в поле, где IP-адрес находится под вашим доменным именем (mail.example.com).
Шаг 7 — Сначала войдите в свой экземпляр Mailcow.
Посетите свой экземпляр Mailcow по адресу https://mail.example.org и войдите в систему, используя учетные данные по умолчанию:
- Имя пользователя: администратор
- Пароль: moohoo
Важно: как можно скорее измените свой пароль, поскольку, если вы оставите его без изменений, ваш сервер станет уязвимым для вторжения.
Шаг 8 — Добавьте домен(ы) в Mailcow
Теперь вы можете добавить свой домен в Mailcow. Просто перейдите в раздел “Конфигурация” -> «Настройка почты». Добавьте свой домен на вкладке «Домен».
Шаг 9 — Настройка DKIM
Теперь, вернувшись в раздел «Конфигурация» -> «Конфигурация и сведения», вы можете настроить DKIM. На вкладке «Конфигурация» выберите DKIM на боковой панели. Она должна быть вверху. Прокрутите вниз, чтобы увидеть поле, куда можно ввести свой домен. Просто нажмите кнопку «Выбрать домены с отсутствующими ключами», чтобы ввести в него имя вашего домена. Теперь выберите ключ 2048 и нажмите «Добавить». После добавления ключа скопируйте открытый ключ и создайте запись DNS TXT с именем dkim._domainkey и скопированным содержимым.
Шаг 10 — Создайте почтовый ящик
Когда Конфигурация -> Настройка почты Вернувшись, вы можете создать почтовый ящик и войти в SOGo, перейдя по адресу https://mail.example.com/SOGo.
Шаг 11 — Создайте резервную копию
Резервное копирование необходимо для большинства серверных конфигураций. Ваш почтовый сервер — не исключение. Mailcow предлагает очень простой способ создания резервных копий данных вашей электронной почты.
Создайте резервную копию вручную
- Подключитесь к своему серверу, используя SSH-ключ.
- Перейдите в каталог Mailcow, содержащий вспомогательный скрипт /opt/mailcow-dockerized/helper-scripts.
- Запустите скрипт резервного копирования./backup_and_restore.sh резервное копирование всех --delete-days 7
В зависимости от размера писем и типа сервера этот процесс может занять от нескольких минут до нескольких часов.
Шаг 12 — Обновление экземпляра Mailcow
Обновления Mailcow обычно выпускаются авторами раз в месяц. Дополнительные обновления выпускаются при наличии исправлений безопасности или срочных ошибок. Рекомендуется следить за страницей релизов Mailcow, чтобы получать информацию об изменениях.
Перед обновлением рекомендуется проверить наличие актуальной резервной копии данных. В облачной консоли Hetzner вы также можете создать снимок сервера, чтобы быстро восстановить его работоспособность в случае возникновения проблем.
Если вы не хотите использовать снимки Hetzner, в Mailcow также есть встроенный способ отката обновлений.
- Подключитесь к своему серверу, используя SSH-ключ.
- Перейдите в папку Mailcow /opt/mailcow-dockerized
- .Запустить ./update.sh
- Наконец, Mailcow спросит вас, хотите ли вы удалить неиспользуемые компоненты. Выберите «Нет» и удалите их вручную позже, чтобы быть готовым к любым непредвиденным ситуациям.
- После обновления Mailcow запустит все службы и выполнит внутренние обновления. Во избежание повреждения данных не выключайте сервер или Docker-контейнеры.









