Mailcow sur Debian
DOG&DEV · 25/01/2025
Mailcow sur Debian
Mailcow est une suite mail (SMTP, IMAP, POP3, webmail, anti-spam, antivirus) livrée en Docker (mailcow-dockerized). Ce guide décrit l’installation sur Debian, la configuration du domaine/FQDN, des ports et de l’anti-spam, et l’accès à l’interface d’admin.
Prérequis
- Debian 11 ou 12 (64 bits)
- Docker et Docker Compose installés (install-docker-linux)
- Domaine dont vous contrôlez les DNS (pour les enregistrements MX, A, PTR si possible)
- FQDN dédié pour Mailcow (ex.
mail.votredomaine.com) - RAM : 4 Go minimum, 8 Go recommandé
- Espace disque : 20 Go et plus selon le volume de courrier
1. Préparer le FQDN et les DNS
- Enregistrement A (ou AAAA) :
mail.votredomaine.com→ IP du serveur. - MX pour
votredomaine.com: priorité 10 (ou 5), ciblemail.votredomaine.com. - PTR (reverse DNS) : l’IP du serveur doit résoudre vers
mail.votredomaine.com(configuré chez l’hébergeur). Important pour la délivrabilité. - SPF, DKIM, DMARC : à configurer après l’installation via l’interface Mailcow.
2. Cloner mailcow-dockerized
cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
3. Générer la configuration (mailcow.conf)
./generate_config.sh
Renseigner :
- MAILCOW_HOSTNAME :
mail.votredomaine.com(le FQDN). - Timezone : ex.
Europe/Brussels. - Les autres options (certificat, etc.) peuvent rester par défaut ; on pourra activer Let’s Encrypt dans
mailcow.confaprès coup.
Éditer mailcow.conf si besoin : certificat, ports, options.
4. Démarrer les conteneurs
docker compose pull
docker compose up -d
Vérifier que les conteneurs tournent : docker compose ps.
5. Accès à l’interface d’administration
- URL :
https://mail.votredomaine.com - Identifiants :
admin/moohpar défaut. À modifier immédiatement dans l’interface : Configuration → Passwords.
6. Ports et pare-feu
Mailcow expose notamment :
- 25 (SMTP), 465 (SMTPS), 587 (Submission)
- 993 (IMAPS), 995 (POP3S)
- 80, 443 (webmail, admin)
Ouvrir ces ports sur le serveur (ufw) et, si pertinent, chez l’hébergeur :
ufw allow 25,465,587,993,995,80,443/tcp
ufw allow 80,443/tcp
ufw reload
(Adapter selon les ports réels dans mailcow.conf.)
7. Premier domaine et boîtes
Dans Mailcow : Configuration → Domains & Accounts (ou Mailbox) :
- Domains : ajouter
votredomaine.com. - Mailboxes : créer des adresses (
contact@,admin@, etc.), mots de passe, quotas.
8. Anti-spam, DKIM, DMARC
- Anti-spam (Rspamd) : activé par défaut ; réglages dans Configuration → Spamfilter (scores, listes, etc.).
- DKIM : Configuration → Configuration → ARC & DKIM : générer les clés et publier les enregistrements TXT indiqués dans la zone DNS.
- DMARC : enregistrement
_dmarc.votredomaine.com(TXT) à créer manuellement chez votre registrar ou gestionnaire DNS.
9. Let’s Encrypt (optionnel)
Dans mailcow.conf :
MAILCOW_SSL=letsencrypt
MAILCOW_SSL_LETSENCRYPT_MAIL=admin@votredomaine.com
Puis :
docker compose down
docker compose up -d
Les certificats sont renouvelés automatiquement.
Dépannage
| Symptôme | Cause possible | Correctif |
|---|---|---|
| Conteneurs ne démarrent pas | RAM, ports déjà utilisés, mailcow.conf |
docker compose logs ; libérer les ports 25, 587, etc. ; vérifier FQDN et DNS |
| Courriers en spam / non délivrés | PTR, SPF, DKIM, DMARC, réputation | Vérifier PTR, SPF, DKIM, DMARC ; blacklists ; warm-up des IP |
| Impossible d’accéder au webmail | 443 fermé, mauvais FQDN, certificat | Pare-feu ; https://mail.votredomaine.com ; logs docker compose |
Bonnes pratiques
- Changer les mots de passe par défaut (admin, boîtes).
- Sauvegarder les volumes Docker (données, config) et la base (si utilisée).
- Pour une alternative panel Plesk : plesk-email ; pour Docker : install-docker-linux.
Ressources
Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.