vbotka.freebsd_mailserver
freebsd_mailserver
Ansible Rolle. FreeBSD. Installieren und konfigurieren Sie Postfix und Dovecot2.
Fühlen Sie sich frei, Ihr Feedback zu teilen und Probleme zu melden.
Anforderungen und Abhängigkeiten
Rollen
Die Rollen sind nicht in der Metadatei aufgeführt. Installieren Sie sie manuell.
- vbotka.ansible_lib Bibliothek der Ansible-Aufgaben.
Sammlungen
Die folgenden Sammlungen sollten Teil der Standard-Ansible-Installation sein. Installieren Sie sie bei Bedarf manuell.
- community.crypto
- community.general
Empfehlung
- vbotka.freebsd_mailserver_spamassassin
- vbotka.freebsd-mailserver_sieve
- vbotka.freebsd_mailserver_roundcube
Variablen
Siehe die Standardwerte und Beispiele in vars.
Arbeitsablauf
- Ändern Sie die Shell in /bin/sh, falls erforderlich
shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'
- Rollen installieren
shell> ansible-galaxy role install vbotka.freebsd_mailserver
shell> ansible-galaxy role install vbotka.ansible_lib
Optional Rollen installieren
shell> ansible-galaxy role install vbotka.freebsd_mailserver_sieve
shell> ansible-galaxy role install vbotka.freebsd_mailserver_spamassassin
- Bei Bedarf Sammlungen installieren
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
Passen Sie die Variablen an Ihre Bedürfnisse an.
Generieren Sie OpenSSL Diffie-Hellman-Parameter
Standardmäßig wird die Datei dovecot_ssl_dh vom Ansible-Modul openssl_dhparam erstellt.
dovecot_ssl_dh_generate: true
dovecot_ssl_dh_cmd_generate: false
Es ist möglich, einen benutzerdefinierten Befehl dovecot_ssl_dh_cmd zu verwenden, um dovecot_ssl_dh zu erstellen.
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 }}"
Die Optionen dovecot_ssl_dh_generate (Standard: true) und dovecot_ssl_dh_cmd_generate (Standard: false) sind gegenseitig ausschließend. Wenn beide Optionen false sind, wird die Datei dovecot_ssl_dh_path (Standard: files/dh.pem) verwendet. Diese Datei wird von der Rolle nur zu Testzwecken bereitgestellt. Verwenden Sie sie niemals in der Produktion.
Die Erstellung der Datei mit Diffie-Hellman-Parametern kann viel Zeit in Anspruch nehmen. Zum Beispiel dauern 4096-Bit-Parameter ~40 Minuten mit einem Intel(R) Core(TM) i5-8200Y CPU @ 1.30GHz. Es ist eine gute Idee, die Datei separat zu erstellen, um die Konfiguration zu beschleunigen.
dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: false
dovecot_ssl_dh_path: <path-to-generated-Diffie-Hellman-file>
- Erstellen Sie das Playbook und das Inventar
shell> cat freebsd-mailserver.yml
- hosts: mailserver
roles:
- vbotka.freebsd_mailserver
shell> cat hosts
[mailserver]
<mailserver-ip-or-fqdn>
[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
- Überprüfen Sie die Syntax
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
- Pakete installieren
- Installieren Sie Pakete aus der Rolle vbotka.freebsd_mailserver
shell> ansible-playbook freebsd-mailserver.yml -t fm-packages -e fm_install=true
- Wenn Sie sieve aktivieren
freebsd_mailserver_dovecot_protocols: imap pop3 lmtp sieve
Pakete aus der Rolle vbotka.freebsd_mailserver_sieve installieren
shell> ansible-playbook freebsd-mailserver-sieve.yml -t fm_ds_packages -e fm_ds_install=true
- Wenn Sie spamassassin aktivieren
postfix_master_cf_service_def: "inet n - - - - smtpd -o content_filter=spamfilter"
Pakete aus der Rolle vbotka.freebsd_mailserver_spamassassin installieren
shell> ansible-playbook freebsd-mailserver-spamassassin.yml -t fm_sa_packages -e fm_sa_install=true
- Erstellen Sie die Standardkonfiguration für Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
- Testlauf und Änderungen anzeigen
shell> ansible-playbook freebsd-mailserver.yml --check --diff
- Installieren und konfigurieren Sie den Mailserver
shell> ansible-playbook freebsd-mailserver.yml
- Überlegen Sie, den Mailserver unter http://mxtoolbox.com/ zu testen.
Überprüfungsmodus
Erstellen Sie Standardkonfigurationsdateien von Dovecot, um Fehler aufgrund fehlender Dateien zu vermeiden
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
Führen Sie dann den Überprüfungsmodus aus.
shell> ansible-playbook freebsd-mailserver.yml --check
Ansible Lint
Verwenden Sie die Konfigurationsdatei .ansible-lint.local, wenn Sie ansible-lint ausführen. Einige Regeln könnten deaktiviert und einige Warnungen könnten ignoriert werden. Siehe die Hinweise in der Konfigurationsdatei.
shell> ansible-lint -c .ansible-lint.local
Referenzen
- FreeBSD Handbuch: 31.5. Ändern des Mail Transfer Agents
- FreeBSD Handbuch: 31.7.4. SMTP-Authentifizierung
- SMTP E-Mail-Server mit Postfix
- FreeBSD-Postfix-MySQL-SpamAssassin-Maia-Virtual Setup
- Einrichtung eines Mailservers mit OpenSMTPD, Dovecot und Rspamd
- Postfix-Dokumentation
- Postfix SMTP-Relay und Zugriffskontrolle
- Postfix SASL Howto
- SASL-Authentifizierung im Postfix SMTP/LMTP-Client
- postfix-logwatch - Ein Postfix-Protokollparser und Analysetool
- Dovecot-Handbuch
- OpenDKIM + SPF FreeBSD Forum
- OpenDKIM Debian Wiki
- OpenDKIM ArchLinux Wiki
Lizenz
Autoreninformation
FreeBSD. Install and configure Postfix and Dovecot.
ansible-galaxy install vbotka.freebsd_mailserver