Эта статья — прямое продолжение моего расследования «ПОЛНАЯ АНАТОМИЯ ЛЖИ». Там я вскрыл гнилую суть «сервиса» от REG.RU. Здесь я даю оружие, чтобы вы могли сражаться за свою цифровую свободу.
Нас годами убеждали, что управлять своей почтой — это сложно и опасно. Нас подсадили на иглу «готовых решений», которые, как показала моя практика, часто оказываются нерабочим куском кода. Они продают нам зависимость. Я предлагаю вам независимость.
Этот мануал — ваш путь к собственному, полностью подконтрольному почтовому серверу. Мы пройдем его шаг за шагом, с разбором всех подводных камней. Я покажу, как за один вечер сделать то, что целая корпорация не смогла сделать для меня за 42 дня. Это руководство написано специально для новичков, поэтому каждый шаг будет разобран до мельчайших деталей.
Часть 1: Фундамент. Подготовительные работы
Прежде чем устанавливать программы, нужно заложить правильное основание. 90% будущих проблем с почтой рождаются именно на этом этапе из-за спешки и непонимания. Не торопитесь, вникните в каждый пункт.
1.1 Выбор Сервера (VDS или Дедик) и главный подводный камень
Для нашего проекта нужен свой собственный сервер в интернете. Это может быть:
- VDS/VPS (виртуальный выделенный сервер): Представьте большой мощный сервер, который программно разделили на несколько независимых “виртуальных” серверов. Вы арендуете один из них. Это самый популярный и доступный вариант.
- Выделенный сервер (“дедик”): Это аренда целого физического сервера. Более мощный и дорогой вариант, который для старта не нужен.
ГЛАВНЫЙ ПОДВОДНЫЙ КАМЕНЬ: Подавляющее большинство хостинг-провайдеров по умолчанию блокируют 25-й порт. Это основной порт для отправки почты между серверами (протокол SMTP). Провайдеры делают это для борьбы со спамерами. Если 25-й порт закрыт, вы НЕ сможете отправлять почту.
Что делать: Перед покупкой сервера обязательно напишите в техподдержку хостинга и задайте прямой вопрос: “Планирую разместить почтовый сервер. Будет ли на моем VDS открыт 25-й порт для исходящего трафика? Если нет, можно ли его открыть?”. Если ответ отрицательный или уклончивый — ищите другого провайдера.
Для нашего руководства вам будет достаточно сервера с параметрами: 2 vCPU (ядра процессора), 2 ГБ RAM (оперативной памяти), 30-40 ГБ SSD диска. В качестве операционной системы выбираем Debian 12 (Bookworm).
1.2 Чистый IP-адрес и его паспорт (PTR-запись)
Это сердце и душа вашего почтового сервера. Именно из-за этого пункта я прошел все круги ада с REG.RU.
Вместе с сервером вы получаете уникальный IP-адрес (например, 198.51.100.5
). Но сам по себе он бесполезен без его “паспорта” — обратной DNS-записи (PTR).
Объяснение на пальцах: Представьте, что у вас есть домен
vashdomen.ru
. Вы создаете для почты специальный поддомен, напримерmail.vashdomen.ru
.
- Обычная A-запись (прямая) говорит: “Кто хочет найти
mail.vashdomen.ru
, идите на IP-адрес198.51.100.5
“.- PTR-запись (обратная) подтверждает: “IP-адрес
198.51.100.5
действительно принадлежит серверу с именемmail.vashdomen.ru
“.Без этого совпадения (когда IP-адрес указывает на имя, а имя подтверждает, что это его IP) любой почтовый сервер мира будет считать вас самозванцем и либо отклонит вашу почту, либо отправит ее в спам.
ЭТО САМЫЙ ВАЖНЫЙ ШАГ, НЕ ПРОПУСКАЙТЕ ЕГО!
- После того как вы арендовали сервер и получили IP-адрес, НИЧЕГО БОЛЬШЕ НЕ ДЕЛАЙТЕ.
- Зайдите в панель управления вашего хостинг-провайдера. Найдите раздел “Сеть”, “IP-адреса” или что-то подобное.
- Там должна быть опция “Изменить PTR-запись” или “Edit Reverse DNS”. Если ее нет — сразу пишите тикет в поддержку с просьбой установить PTR-запись для вашего IP.
- В качестве значения PTR-записи пропишите полное имя вашего будущего почтового сервера (оно называется FQDN – Fully Qualified Domain Name). Например,
mail.vashdomen.ru
. Именно субдомен, а не основной домен!
Подводный камень: Не приступайте к установке, пока PTR-запись не будет настроена и не начнет правильно работать. На это может уйти от нескольких минут до нескольких часов. Проверить можно через любой онлайн-сервис “PTR Lookup” или с помощью команды в терминале: dig -x ВАШ_IP_АДРЕС
. Вы должны увидеть в ответе именно то имя, что вы прописали (mail.vashdomen.ru
).
Часть 2: Сборка. Установка почтового комбайна Mailcow
Забудьте про ручную настройку десятка сложных программ (Postfix, Dovecot, Rspamd и т.д.). Мы живем в 21 веке. Мы будем использовать Mailcow — это готовый набор программ, упакованных в Docker-контейнеры. Он делает 99% грязной работы за вас, обеспечивая современный и безопасный почтовый сервер.
2.1 Подключение к серверу и установка Docker
Для работы с сервером мы будем использовать командную строку через протокол SSH. Если вы на Windows, скачайте программу PuTTY. Если на macOS или Linux, откройте стандартное приложение “Терминал”. Для подключения нужно знать IP-адрес сервера, имя пользователя (обычно root
) и пароль, которые вам выдал хостер.
Подключаемся к серверу и выполняем команды. После ввода каждой строки нажимайте Enter.
Шаг 1: Обновление системы и установка базовых утилит.
Пояснение: Первая команда сверяет список доступного софта с онлайн-хранилищами (репозиториями), а вторая скачивает и устанавливает свежие версии для всех программ на вашем сервере. Третья команда ставит утилиты
git
(для скачивания Mailcow) иcurl
(для скачивания ключей). Ключ-y
автоматически отвечает “yes” на все вопросы установщика.
# Обновляем список пакетов и саму систему
sudo apt update && sudo apt upgrade -y
# Устанавливаем git и curl
sudo apt install git curl -y
Шаг 2: Установка Docker и Docker Compose.
Пояснение: Docker — это платформа, которая позволяет запускать приложения в изолированных “коробках” — контейнерах. Mailcow как раз состоит из таких контейнеров. Мы установим Docker не из стандартных репозиториев Debian (где может быть старая версия), а из официального репозитория Docker. Это гарантирует стабильность и безопасность. Процесс состоит из 4 команд, которые нужно выполнить по очереди.
# 1. Создаем папку для ключа безопасности Docker и скачиваем сам ключ.
# Этот ключ — цифровая подпись, которая подтверждает, что софт настоящий.
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 2. Добавляем репозиторий Docker в список источников.
# Эта команда говорит системе: "Теперь за программами от Docker ходи вот по этому адресу".
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 3. Снова обновляем список пакетов, чтобы система увидела новый репозиторий.
sudo apt update
# 4. Устанавливаем сам Docker и плагин Compose.
# docker-ce — это движок Docker.
# docker-compose-plugin — это инструмент для управления проектами из нескольких контейнеров, как наш Mailcow.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
2.2 Установка Mailcow
Теперь, когда фундамент в виде Docker готов, ставим саму систему.
# Переходим в директорию /opt. Это стандартное место для установки сторонних программ в Linux.
cd /opt
# Клонируем (копируем) последнюю версию Mailcow с GitHub.
sudo git clone https://github.com/mailcow/mailcow-dockerized
# Переходим в только что созданную папку с Mailcow.
cd mailcow-dockerized
# Запускаем скрипт генерации конфигурационного файла.
sudo ./generate_config.sh
После последней команды запустится интерактивный скрипт. Он задаст вам несколько вопросов. Самый главный из них:
Mail server hostname (FQDN)
Сюда вы должны ввести ТОЧНО ТАКОЕ ЖЕ ИМЯ ХОСТА, которое вы прописали в PTR-записи на Шаге 1.2. В нашем примере это mail.vashdomen.ru
. Это критически важно! На остальные вопросы можно оставить значения по умолчанию, нажимая Enter.
После генерации конфига запускаем магию. Обратите внимание: современная команда — docker compose
(с пробелом), а не docker-compose
(с дефисом).
# Скачиваем все необходимые "образы" контейнеров. Это может занять 5-15 минут в зависимости от скорости сервера.
sudo docker compose pull
# Запускаем все контейнеры в фоновом режиме (ключ -d).
sudo docker compose up -d
Поздравляю! Ваш личный почтовый сервер запущен. Через пару минут вы сможете зайти на его веб-интерфейс по адресу https://mail.vashdomen.ru
(используйте ваше имя хоста).
Логин по умолчанию: admin
Пароль по умолчанию: moohoo
Первым делом после входа смените пароль администратора! (в разделе Администрирование -> Профиль администратора).
Часть 3: Настройка DNS. Объявляем о себе миру
Сервер работает, но мир о нем не знает. Теперь нам нужно правильно прописать все “указатели” в DNS-зоне вашего домена. Этим управляют там, где вы покупали домен, или на внешнем сервисе типа Cloudflare.
Самое прекрасное в Mailcow — он всё покажет сам. Зайдите в веб-интерфейс, перейдите в Администрирование -> Конфигурация -> DNS. Выберите ваш домен. Mailcow покажет вам все записи, которые нужно добавить в панель управления DNS вашего домена. Вот их расшифровка для новичков:
- A-запись для хостнейма: Говорит “Имя моего почтового сервера
mail.vashdomen.ru
находится по IP-адресуВАШ_IP_АДРЕС
“.ТИП: A | ИМЯ: mail | ЗНАЧЕНИЕ: ВАШ_IP_АДРЕС
- MX-запись: Говорит “Всю почту для домена
vashdomen.ru
доставляйте на серверmail.vashdomen.ru
“.ТИП: MX | ИМЯ: @ (или имя домена) | ЗНАЧЕНИЕ: mail.vashdomen.ru | ПРИОРИТЕТ: 10
- SPF-запись: Говорит “Только серверу, указанному в моей MX-записи, разрешено отправлять почту от имени
vashdomen.ru
“. Это защищает от подделки.ТИП: TXT | ИМЯ: @ | ЗНАЧЕНИЕ: "v=spf1 mx -all"
- DKIM-запись: Это сложная цифровая подпись. Mailcow генерирует для вас уникальный ключ. Вы просто копируете его. Когда вы отправляете письмо, сервер его подписывает. Принимающий сервер проверяет подпись и убеждается, что письмо не было подделано в пути.
ТИП: TXT | ИМЯ: dkim._domainkey | ЗНАЧЕНИЕ: "v=DKIM1;k=rsa;p=MIGfMA...ВАШ_ДЛИННЫЙ_КЛЮЧ...AQAB"
- DMARC-запись: Это инструкция для других серверов. “Если вы получили письмо якобы от меня, но оно не прошло проверку SPF или DKIM, вот что с ним делать”. Для начала ставится мягкая политика “p=none” (ничего не делать, просто присылать отчеты).
ТИП: TXT | ИМЯ: _dmarc | ЗНАЧЕНИЕ: "v=DMARC1; p=none; ..."
Подводный камень: После добавления записей им нужно время на обновление по всему миру (этот процесс называется “распространение DNS”). Это может занять от 5 минут до 24 часов. Не паникуйте. Проверить состояние можно на сайте dnschecker.org.
Часть 4: Финальный тест. Момент истины.
Все настроено. Как понять, что мы не зря страдали? Идем на главный сайт для проверки почты: www.mail-tester.com.
- Сайт сгенерирует вам уникальный email-адрес для теста. Скопируйте его.
- Зайдите в веб-клиент Mailcow (в меню “Приложения” -> “SOGo”). Перед этим создайте себе почтовый ящик в разделе “Почтовые ящики”. Отправьте с вашего нового ящика любое письмо на сгенерированный адрес.
- Вернитесь на сайт mail-tester и нажмите кнопку «Затем проверьте оценку».
Если вы все сделали правильно, вы увидите это:
10/10. Идеально.
Это и есть тот результат, которого я не мог добиться от целой корпорации за полтора месяца. Результат, который доказывает, что вы теперь — хозяин своей почты.
Эпилог. Манифест свободы
Да, этот путь требует нескольких часов концентрации. Но что вы получаете взамен?
- Полный контроль. Никто не отключит вашу почту и не потеряет ваши письма.
- Независимую репутацию. Только вы отвечаете за чистоту своего IP.
- Бесценные знания. Вы больше не беззащитный клиент, а человек, который понимает, как это работает.
- Экономию. Часто свой сервер обходится дешевле, чем платные почтовые сервисы, если у вас несколько доменов и ящиков.
Это не просто инструкция. Это акт освобождения. Хватит быть кормовой базой для некомпетентных корпораций. Забирайте свое. Управляйте сами.