Поднимаем Mailcow на Centos 9
Параметры сервера:
— CPU: 2×8
— RAM: 16384
Устанавливаем Centos 9, при установке не забываем подправить диск так чтобы root занимала все пространство.
После установки заходим по временному паролю через ssh и меняем пароль:
passwd
обновляем centos до последней версии и устанавливаем нужные нам приложения:
yum update -y && yum upgrade -y && yum makecache
yum -y install epel-release
yum -y install nano htop mc wget git chrony
перепроверяем что никакие порты не заняты, должно вывести пустоту
ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'
Если нет, стопаем сервисы что юзают эти порты. Скорее всего это порт 25 и это postfix.
systemctl stop postfix
yum remove postfix -y
дальше проверяем чтобы часы правильно работали и синхронизировались:
timedatectl status
обрати внимание чтобы было время правильное и включена синхронизация.
Установка докер:
сначала ставим докер:
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
Проверяем установлен ли Selinux.
rpm -qa | grep container-selinux
Эта команда должна что-то вывести, если выводит — идем дальше, если нет, то нужно установить Selinux. Теперь проверяем включен ли Selinux в докере:
docker info | grep selinux
Если выключен, а он обычно выключен то открываем файл:
nano /etc/docker/daemon.json
и добавляем текст:
{
"selinux-enabled": true
}
после этого сохраняем и перезапускаем докер:
systemctl restart docker
теперь еще рас проверим докер на наличие selinux
docker info | grep selinux
теперь выведет selinux и значит мы с докером закончили
Установка Mailcow
теперь делаем следующие команды:
su
потом
umask
должно вывести 0022, дальше скачиваем с гита mailcow и запускаем установщик:
git clone https://github.com/mailcow/mailcow-dockerized /home/mailcow
cd /home/mailcow
./generate_config.sh
- Первое что спросит это hostname. Тут пишем название вашего домена для сервера mail.youdomain.com.
- таймзона — жмем энтер
- жмем 1 чтобы использовать стабильную версию
Теперь добавляем сразу редирект http -> https для этого создаем файл:
nano data/conf/nginx/redirect.conf
заполняем:
server {
root /web;
listen 80 default_server;
listen [::]:80 default_server;
include /etc/nginx/conf.d/server_name.active;
if ( $request_uri ~* "%0A|%0D" ) { return 403; }
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
location / {
return 301 https://$host$uri$is_args$args;
}
}
Если надо подправить настройки идем сюда:
nano mailcow.conf
Тут можно добавить список дополнительных доменов если надо, через запятую пишем домены в этих параметрах:
ADDITIONAL_SAN=mail.secondemail.com,mail.secondemail1.com
ADDITIONAL_SERVER_NAMES=mail.secondemail.com,mail.secondemail1.com
или разрешить администратору заходить в почты всех юзеров, параметр:
ALLOW_ADMIN_EMAIL_LOGIN=y
Теперь можно скачать контейнеры и запускать докер.
docker compose pull
docker compose up -d
Лог посмотреть можно следующей командой:
docker compose logs --tail=200 -f acme-mailcow
как только контейнеры стартовали идем в браузер по IP на котором запустили сервак: https://1.2.3.4 Стандартный пароль в админку:
admin
moohoo
Меняем сразу пароль и добавляем в админке домены. После этого берем ключ dkim и идем настраивать DNS:
A mail 1.2.3.4
AAAA mail 1111:111:111
CNAME autodiscover mail.youdomain.com.
CNAME autoconfig mail.youdomain.com.
MX 10 @ mail.youdomain.com.
TXT @ v=spf1 a mx ip4:1.2.3.4 ip6:1111:111:111 -all
TXT _dmarc v=DMARC1; p=none; sp=none; rua=mailto:postmaster@youdomain.com; ruf=mailto:postmaster@youdomain.com; fo=1; ri=86400;
TXT dkim._domainkey v=DKIM1;k=rsa;t=s;s=email;p=****************
вместо 1.2.3.4 надо написать IPv4 и вместо 1111:111:111 — IPv6 адрес вашего меил сервера и вместо youdomain.com надо написать ваш домен к которому делаем изменения DNS, и вместо **************** dkim ключ который мы получили в админке.
После этого можно добавлять почтовые адреса и тестировать почту с помощью сервиса https://www.mail-tester.com/
Проверяем правильность по следующим сервисам:
- https://mxtoolbox.com/ или https://intodns.com/ проверка DNS записей
- https://dmarcly.com/tools/ и https://powerdmarc.com/analyzer/— еще сервисы для проверки правильности DNS
- https://www.mail-tester.com/ — тест отправки мейла
Читайте также:
- Добавляем домен в mailcow
- Поднимаем свой меил сервер на mailcow
- Простой локальный сервер на Docker
- Docker как почистить весь мусор