vbotka.freebsd_mailserver

freebsd_mailserver

Qualität Build-Status GitHub-Tag

Ansible Rolle. FreeBSD. Installieren und konfigurieren Sie Postfix und Dovecot2.

Fühlen Sie sich frei, Ihr Feedback zu teilen und Probleme zu melden.

Beiträge sind willkommen.

Anforderungen und Abhängigkeiten

Rollen

Die Rollen sind nicht in der Metadatei aufgeführt. Installieren Sie sie manuell.

Sammlungen

Die folgenden Sammlungen sollten Teil der Standard-Ansible-Installation sein. Installieren Sie sie bei Bedarf manuell.

  • community.crypto
  • community.general

Empfehlung

Variablen

Siehe die Standardwerte und Beispiele in vars.

Arbeitsablauf

  1. Ä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'
  1. 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
  1. Bei Bedarf Sammlungen installieren
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
  1. Passen Sie die Variablen an Ihre Bedürfnisse an.

  2. 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>
  1. 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
  1. Überprüfen Sie die Syntax
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
  1. 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
  1. Erstellen Sie die Standardkonfiguration für Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
  1. Testlauf und Änderungen anzeigen
shell> ansible-playbook freebsd-mailserver.yml --check --diff
  1. Installieren und konfigurieren Sie den Mailserver
shell> ansible-playbook freebsd-mailserver.yml
  1. Ü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

Lizenz

Lizenz

Autoreninformation

Vladimir Botka

Über das Projekt

FreeBSD. Install and configure Postfix and Dovecot.

Installieren
ansible-galaxy install vbotka.freebsd_mailserver
GitHub Repository
Lizenz
bsd-2-clause
Downloads
228
Besitzer