Установка mailcow на debian 11 esxi vmware
первым делом качаем последний образ debian отсюда
https://www.debian.org/download
и закидываем его в файловое хранилище образов на нашем гипервизоре
после создаем виртуалку, важно сразу указать vlan который у нас для внешних подключений
минимальные требования два ядра и 4 гига оперативки, но если есть возможность, то лучше добавить побольше. свободное место на диске из расчета 20 гигов на систему и по 20 гигов на пользователя, у меня будет около 20 пользователей, это 500 гигабайт, по этому я поставил 2 террабайта))))) могу себе позволить
дальше выбираем нужный vlan и подключаем скачанный ранее образ для установки системы.
установка debian
тут все стандартно, за исключением того, что сетевые настройки вводим сразу внешнего ip адреса, без проброса портов и прочего. тут главное сразу написать нормальный пароль root, чтобы не взломали виртуалку в первые 10 секунд
в окне выбора компонентов указываем установку SSH сервера, остальные пункты нам не нужны
после завершения установки автризуемся под своим пользователем через ssh (программа putty)
Установка компонентов: Сначала обновляем установленные компоненты.
после входа становимся суперюзером через команду
su
и вводим:
sudo apt-get update
sudo apt-get upgrade
УСТАНОВКА DOCKER
Пакет установки Docker, доступный в официальном репозитории Debian, может представлять собой не самую последнюю версию. Чтобы точно использовать самую актуальную версию, установим Docker из официального репозитория Docker. Для этого надо добавить новый источник пакета, ключ GPG от Docker, чтобы гарантировать загрузку рабочих файлов, а затем установим пакет.
Первым делом обновите существующий список пакетов:
sudo apt update
Затем установите несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS:
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Добавьте ключ GPG для официального репозитория Docker в вашу систему:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Добавьте репозиторий Docker в источники APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Теперь обновим базу данных пакетов и добавим в нее пакеты Docker из недавно добавленного репозитория:
sudo apt update
Затем устанавливаем Docker:
sudo apt install docker-ce
УСТАНОВКА PORTAINER
Portainer – это очень удобный графический интерфейс для управления Docker или Docker Swarm. Устанавливается он практически в одно действие – так как сам точно также является контейнером. Итак:
Создаем разметку для Portainer:
docker volume create portainer_data
И затем запускаем сам контейнер:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
После чего заходите на сетевой адрес вашего сервера на порт 9000, и вы должны увидеть окно с предложением установить пароль администратора:
сразу пишем сложный пароль, а после переходим во вкладку users и меняем заодно и имя пользователя с админа на что-то поинтереснее
итак, у нас рабочая виртуалка доступная снаружи, на ней крутится debian+docker+portainer еще немного и начнем поднимать почтарь!
Установка mailcow в docker
Устанавливать mailcow необходимо от пользователя root. Подключаемся к серверу под root пользователем либо выполняем следующую команду
sudo su
Для установки нам дополнительно потребуется пакет docker-compose-plugin если не получится сразу, просто запускаем эту строку второй раз
apt install docker-compose-plugin
Переходим в папку opt и клонируем репозиторий mailcow и переходим в папку mailcow-dockerized
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Запускаем генерацию файла конфигурации
./generate_config.sh
Во время генерации конфигурационного файла у нас будет запрошено доменное имя на котором будет находится система mailcow, тут сразу указываем домен или поддомен где будет наша почта.
В случаи если на вашем сервере памяти меньше чем 2.5GB скрипт предложит вам отключить ClamAV
Необходимо будет указать часовой пояс.
Europe/Moscow
Вы также можете выбрать какую версию сборки mailcow устанавливать, стабильную либо тестовую. Мы будет устанавливать стабильную версию.
Available Branches:
- master branch (stable updates) | default, recommended [1] - nightly branch (unstable updates, testing) | not-production ready [2] Choose the Branch with it´s number [1/2] 1
Сгенерированный файл конфигурации находится в файле mailcow.conf. При необходимости вы можете его отредактировать.
nano mailcow.conf
Для установки выполняем следующие команды
docker compose pull
docker compose up -d
После установки переходим в админ панель которая находится по адресу https://nashdomain.ru, либо если вы меняли порт в файле конфигурации то добавляем его в конце доменного имени.
Стандартный логин admin, пароль moohoo . После первого входа в обязательном порядке меняем пароль у пользователя admin.
Для добавления нового почтового домена, переходим в в раздел Configuration — Mail Setup и нажимаем на зеленую кнопку + Add Domain
Указываем доменное имя, по желанию добавляем описание и тэг для почты. При добавлении нового доменного имени обязательно нужно перегружать контейнер SOGo, для этого предусмотрена отдельная кнопка Add domain and restart SOGo, нажимаем ее.
Mailcow устанавливается с поддержкой ipv6 и для того чтобы ее отключить необходимо отредактировать файл docker-compose.yml. В данном файле находим строку enable_ipv6: true и заменяем значение true на false
networks:
mailcow-network:
[...] enable_ipv6: true # <<< set to false [...]
DNS записи
Для работ Mailcow вам необходимо добавить следующие DNS записи для вашего домена? что именно нужно писать указано тут:
Есть базовые настройки, их 3, чтобы их внести, идем в редактор dns вашего домена и прописываем следующие значения:
MX-запись вид DNS-записи, предназначенный для регистрации почтовых SMTP серверов. Именно с ее помощью почтовый агент отправителя определяет smtp сервер, на которые будет выполняться доставку письма.
Дальше нужно внести записи которые позволят не попадать вашей почте в спам, таких важных параметра тоже три!
DKIM-запись
Настоятельно рекомендуется создать запись DKIM TXT в пользовательском интерфейсе mailcow и установить соответствующую запись TXT в записях DNS.
#NameTypeValuedkim._domainkeyIN TXT«v=DKIM1;k=rsa;t=s;s=email;p=MIIB…»
SPF-запись
SP позволяет владельцу домена указать в TXT-записи, соответствующей имени домена, список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.
Пример SPF-данных в TXT-записи DNS:
#NameTypeValuemailIN TXT«v=spf1 a mx -all»
DMARC-запись
DMARC — предназначенна для снижения количества спамовых и фишинговых электронных писем, основанная на идентификации почтовых доменов отправителя на основании правил и признаков, заданных на почтовом сервере получателя
Пример DMARS-данных в TXT-записи DNS:
#NameTypeValue_dmarcIN TXT«v=DMARC1; p=quarantine; rua=mailto:admin@example.ru; ruf=mailto:admin@example.ru; sp=quarantine»
итого после всех настроек при проверке вашего DNS через mailcow
должно получиться примерно следующее:
галочки говорят о том, что этот параметр настроен верно, важно помнить, что dns обновляется не мгновенно, а иногда до 72 часов, по этому внимательно прописываем параметры и идем заниматься другими делами, позже проверяем всё ли в порядке.
создаем ящик и пуляем письма
а вот и вход в клиента почты
Перенос почты с ящиков на yandex360 на наш сервер
описал отдельной статьей Перенос или миграция почты и писем из yandex360 на свой сервер для удобства поиска )
а еще сделал отдельной статьей Экспорт пользователей из yandex360 в Excel CSV