pimvh.postfix
Exigences
- Ansible installé :
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
- Ce rôle installé :
ansible-galaxy install pimvh.postfix
Variables requises
Consultez les variables comme indiqué dans les paramètres par défaut. Une description de ce que signifient les variables est fournie dans les spécifications des arguments, dans le fichier meta/main.yaml. Les variables passées à ce rôle sont validées par les spécifications des arguments à l'exécution.
Exemple de playbook
Une façon simple d'exécuter ce rôle sur un hôte est la suivante :
- hosts:
- foo
vars:
postfix_ipv4: << Indiquez ici l'adresse IPv4 du serveur de messagerie postfix >>
postfix_ipv6: << Indiquez ici l'adresse IPv6 du serveur de messagerie Postfix >>
postfix_myhostname: "<< Indiquez ici le nom de domaine postfix >>"
postfix_mydomain: "<< Indiquez ici le domaine postfix, par défaut à myhostname >>"
postfix_mynetworks:
- 127.0.0.0/8
- "::1/128" # Vous n'avez pas besoin de mettre des crochets autour des adresses IPv6, cela est géré par les filtres
# Ajoutez des réseaux supplémentaires si nécessaire
postfix_virtual_alias_domains: [] # Ajoutez des domaines d'alias virtuels si nécessaire (voir meta/main.yaml pour la structure)
postfix_relay_domains: [] # Ajoutez des domaines de relais si nécessaire (voir defaults/main.yaml pour la structure)
postfix_aliases: # Ajoutez des alias d'utilisateur si nécessaire
- user: root
alias: postmaster
# cela peut également être une liste d'utilisateurs
# - users:
# - fred
# - foo
# - bar
# alias: quelque chose
postfix_virtual_aliases: [] # Ajoutez des alias virtuels si nécessaire (voir meta/main.yaml pour la structure)
# Vous pouvez probablement ignorer le reste de ces variables
# postfix_install: true
# postfix_dir: /etc/postfix
# postfix_dkim_enabled: true # DKIM est activé par défaut
# postfix_dkim_keys:
# default:
# mail: "*"
# Placement des fichiers DKIM dans le système de fichiers
# postfix_dkim_keytable: /etc/opendkim/keytable
# postfix_dkim_signingtable: /etc/opendkim/signingtable
# postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"
# L'emplacement du certificat est basé sur l'emplacement par défaut de certbot (vous pouvez exécuter le rôle pimvh.certbot pour récupérer les certificats)
# postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
# postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"
roles:
- pimvh.postfix
Vous vous épargnerez probablement quelques refactorisations si vous ne définissez pas les variables en ligne, mais en vous basant sur des hôtes et/ou des groupes. Cependant, cela dépend de votre cas d'utilisation spécifique. Consultez la configuration de playbook recommandée par Ansible à ce sujet.
TLDR - Que se passera-t-il si je l'exécute
- valider si les variables sont correctes
- installer postfix
- installer et configurer amavis
- installer et configurer opendkim
- installer et configurer opendmarc
- installer et configurer dovecot avec utilisateurs système et répertoire de courrier virtuel
- configurer mailutils (installé par le rôle dont cela dépend)
Ce que ce rôle ne fait pas
Sécurisation du pare-feu
Ce rôle ne gère pas la sécurisation du pare-feu, car vous avez probablement des exigences spécifiques à ce sujet. Vous ne voulez probablement pas ouvrir votre port IMAP à l'ensemble d'Internet, si vous pouvez l'éviter. Soyez donc prudent !
Configuration d'une base de données
Je n'ai pas encore configuré la mise en place d'une base de données comme backend pour postfix. Si cela vous intéresse, n'hésitez pas à contribuer.
Dépannage
Ce rôle valide les variables passées. Si vous :
- rencontrez des problèmes avec les spécifications des arguments, vous avez probablement fait une erreur lors du passage des variables à ce rôle.
- avez des problèmes lors de l'exécution de ce playbook, n'hésitez pas à décrire votre problème en détail et à ouvrir une issue.
Améliorations futures
Il existe encore un certain nombre de choses qui peuvent être améliorées pour ce rôle. Voici quelques-unes des choses que je considère ajouter :
- Ajouter un outil de parsing DMARC
- Ajouter un meilleur backend pour le serveur postfix, comme une base de données au lieu du simple système de fichiers.
Si vous avez d'autres idées d'améliorations, n'hésitez pas à ouvrir une issue.
Sources
role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC
ansible-galaxy install pimvh.postfix