vbotka.freebsd_mailserver
serveur_mail_freebsd
Rôle Ansible. FreeBSD. Installez et configurez Postfix et Dovecot2.
N'hésitez pas à partager vos commentaires et signaler des problèmes.
Les contributions sont les bienvenues.
Exigences et dépendances
Rôles
Les rôles ne sont pas listés dans le fichier méta. Installez-les manuellement.
- vbotka.ansible_lib Bibliothèque de tâches Ansible.
Collections
Les collections ci-dessous devraient faire partie de l'installation standard d'Ansible. Si nécessaire, installez-les manuellement.
- community.crypto
- community.general
Recommandé
- vbotka.freebsd_mailserver_spamassassin
- vbotka.freebsd-mailserver_sieve
- vbotka.freebsd_mailserver_roundcube
Variables
Consultez les valeurs par défaut et les exemples dans les variables.
Flux de travail
- Changez le shell en /bin/sh si nécessaire
shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'
- Installez les rôles
shell> ansible-galaxy role install vbotka.freebsd_mailserver
shell> ansible-galaxy role install vbotka.ansible_lib
Optionnellement, installez des rôles
shell> ansible-galaxy role install vbotka.freebsd_mailserver_sieve
shell> ansible-galaxy role install vbotka.freebsd_mailserver_spamassassin
- Si nécessaire, installez des collections
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
Adaptez les variables à vos besoins.
Générez les paramètres Diffie-Hellman OpenSSL
Par défaut, le fichier dovecot_ssl_dh est créé par le module Ansible openssl_dhparam
dovecot_ssl_dh_generate: true
dovecot_ssl_dh_cmd_generate: false
Il est possible d'utiliser une commande personnalisée dovecot_ssl_dh_cmd pour créer dovecot_ssl_dh
dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: true
dovecot_ssl_dh_cmd: "openssl dhparam -out {{ dovecot_ssl_dh }} {{dovecot_ssl_dh_bits }}"
Les options dovecot_ssl_dh_generate (par défaut : true) et dovecot_ssl_dh_cmd_generate (par défaut : false) sont mutuellement exclusives. Si les deux options sont false, le fichier dovecot_ssl_dh_path (par défaut : files/dh.pem) est utilisé. Ce fichier est fourni par le rôle uniquement pour tester. Ne l'utilisez jamais en production.
La génération du fichier avec les paramètres Diffie-Hellman peut prendre beaucoup de temps. Par exemple, des paramètres de 4096 bits prennent environ 40 minutes avec un Intel(R) Core(TM) i5-8200Y CPU @ 1.30GHz. Il est conseillé de générer le fichier séparément pour accélérer la configuration.
dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: false
dovecot_ssl_dh_path: <chemin-vers-le-fichier-Diffie-Hellman-généré>
- Créez le playbook et l'inventaire
shell> cat freebsd-mailserver.yml
- hosts: mailserver
roles:
- vbotka.freebsd_mailserver
shell> cat hosts
[mailserver]
<ip-ou-fqdn-du-serveur-mail>
[mailserver:vars]
ansible_connection=ssh
ansible_user=freebsd
ansible_become=true
ansible_become_method=sudo
ansible_python_interpreter=/usr/local/bin/python3.9
ansible_perl_interpreter=/usr/local/bin/perl
- Vérifiez la syntaxe
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
- Installez les paquets
- Installez les paquets du rôle vbotka.freebsd_mailserver
shell> ansible-playbook freebsd-mailserver.yml -t fm-packages -e fm_install=true
- Si vous activez sieve
freebsd_mailserver_dovecot_protocols: imap pop3 lmtp sieve
installez les paquets du rôle vbotka.freebsd_mailserver_sieve
shell> ansible-playbook freebsd-mailserver-sieve.yml -t fm_ds_packages -e fm_ds_install=true
- Si vous activez spamassassin
postfix_master_cf_service_def: "inet n - - - - smtpd -o content_filter=spamfilter"
installez les paquets du rôle vbotka.freebsd_mailserver_spamassassin
shell> ansible-playbook freebsd-mailserver-spamassassin.yml -t fm_sa_packages -e fm_sa_install=true
- Créez une configuration par défaut pour Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
- Exécutez un test et affichez les changements
shell> ansible-playbook freebsd-mailserver.yml --check --diff
- Installez et configurez le serveur de messagerie
shell> ansible-playbook freebsd-mailserver.yml
- Pensez à tester le serveur de messagerie sur http://mxtoolbox.com/
Mode de vérification
Créez des fichiers de configuration par défaut de Dovecot pour éviter les erreurs de fichiers manquants
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
Ensuite, exécutez le mode de vérification
shell> ansible-playbook freebsd-mailserver.yml --check
Ansible lint
Utilisez le fichier de configuration .ansible-lint.local lors de l'exécution de ansible-lint. Certaines règles peuvent être désactivées et certains avertissements peuvent être ignorés. Consultez les notes dans le fichier de configuration.
shell> ansible-lint -c .ansible-lint.local
Références
- Manuel FreeBSD : 31.5. Changer le Mail Transfer Agent
- Manuel FreeBSD : 31.7.4. Authentification SMTP
- Serveur email SMTP avec Postfix
- Configuration FreeBSD-Postfix-MySQL-SpamAssassin-Maia-Virtual
- Configuration d'un serveur de messagerie avec OpenSMTPD, Dovecot et Rspamd
- Documentation de Postfix
- Postfix SMTP relais et contrôle d'accès
- Postfix SASL Howto
- Authentification SASL dans le client SMTP/LMTP de Postfix
- postfix-logwatch - Un analyseur et utilitaire d'analyse de journal Postfix
- Manuel Dovecot
- OpenDKIM + SPF Forum FreeBSD
- OpenDKIM Wiki Debian
- OpenDKIM Wiki ArchLinux
Licence
Informations sur l'auteur
FreeBSD. Install and configure Postfix and Dovecot.
ansible-galaxy install vbotka.freebsd_mailserver