Сначала настройте следующие DNS-записи в вашей панели управления доменом:
SPF, DKIM TXT (default._domainkey) и DMARC — по желанию для SMTP; для HTTP-федерации chatmail не обязательны. install --domain выдаёт TLS и ключи DKIM; TXT в DNS добавляете вы. См. руководство DNS and Mail Authentication в документации проекта.
dig +short chat.example.org A
Madmail поддерживает четыре режима TLS. Различия показаны в таблице ниже:
| Режим | Метод проверки (Challenge) | DNS API | Порт 80 | Применение |
|---|---|---|---|---|
| autocert | HTTP-01 | Нет | Обязательно | Продакшн-сервер |
| acme | DNS-01 | Да | Нет | За файрволом |
| file | — | — | — | Готовый сертификат |
| self_signed | — | — | — | Разработка и тесты |
sudo madmail install \ --domain chat.example.org \ --tls-mode autocert \ --acme-email admin@example.org \ --enable-chatmail \ --non-interactive
Как это работает:
/var/lib/madmail/autocert/В файле конфигурации (madmail.conf):
tls {
loader autocert {
hostname chat.example.org
email admin@example.org
cache_dir /var/lib/madmail/autocert
agreed
}
}
sudo madmail install \ --domain chat.example.org \ --tls-mode acme \ --acme-email admin@example.org \ --acme-dns-provider cloudflare \ --acme-dns-token "ВАШ_ТОКЕН_CLOUDFLARE" \ --enable-chatmail \ --non-interactive
Поддерживаемые DNS-провайдеры: cloudflare, gandi,
digitalocean, vultr, hetzner, route53
sudo madmail install \ --domain chat.example.org \ --tls-mode file \ --cert-path /etc/letsencrypt/live/chat.example.org/fullchain.pem \ --key-path /etc/letsencrypt/live/chat.example.org/privkey.pem \ --enable-chatmail
Формат файла конфигурации:
sudo madmail install \ --simple --ip ВАШ_IP_СЕРВЕРА \ --tls-mode self_signed \ --turn-off-tls
Сертификаты хранятся в /var/lib/madmail/certs/ и используются при последующих запусках.
После настройки проверьте ваш сертификат следующей командой:
Пример вывода:
sudo rm /var/lib/madmail/certs/fullchain.pem /var/lib/madmail/certs/privkey.pem
sudo madmail install \ --domain chat.example.org \ --tls-mode autocert \ --acme-email admin@example.org \ --enable-chatmail \ --non-interactive
sudo systemctl restart madmail
Выполните следующие команды для исправления прав доступа:
sudo chown root:madmail /path/to/cert.pem /path/to/key.pem sudo chmod 640 /path/to/cert.pem /path/to/key.pem
600 (только владелец)640 (владелец + группа)700 (только владелец)