vbotka.freebsd_mailserver

freebsd_mailserver

jakość Stan budowy Tag GitHub

Rola Ansible dla FreeBSD. Instalacja i konfiguracja Postfix i Dovecot2.

Czuj się swobodnie, aby podzielić się swoimi uwagami i zgłaszać problemy.

Wszelkie wkłady są mile widziane.

Wymagania i zależności

Role

Role nie są wymienione w pliku meta. Zainstaluj je ręcznie.

Kolekcje

Poniższe kolekcje powinny być częścią standardowej instalacji Ansible. Jeśli to konieczne, zainstaluj je ręcznie.

  • community.crypto
  • community.general

Zalecane

Zmienne

Zobacz domyślne wartości i przykłady w pliku vars.

Workflow

  1. Jeśli to konieczne, zmień powłokę na /bin/sh
shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'
  1. Zainstaluj role
shell> ansible-galaxy role install vbotka.freebsd_mailserver
shell> ansible-galaxy role install vbotka.ansible_lib

Opcjonalnie, zainstaluj role

shell> ansible-galaxy role install vbotka.freebsd_mailserver_sieve
shell> ansible-galaxy role install vbotka.freebsd_mailserver_spamassassin
  1. Jeśli to konieczne, zainstaluj kolekcje
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
  1. Dostosuj zmienne do własnych potrzeb.

  2. Wygeneruj parametry Diffie-Hellman OpenSSL

Domyślnie plik dovecot_ssl_dh jest tworzony przez moduł Ansible openssl_dhparam

dovecot_ssl_dh_generate: true
dovecot_ssl_dh_cmd_generate: false

Możliwe jest użycie własnej komendy dovecot_ssl_dh_cmd do utworzenia 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 }}"

Opcje dovecot_ssl_dh_generate (domyślnie: true) oraz dovecot_ssl_dh_cmd_generate (domyślnie: false) są wzajemnie wykluczające. Jeśli obie opcje są false, używany jest plik dovecot_ssl_dh_path (domyślnie: files/dh.pem). Ten plik jest dostarczany przez rolę tylko do testów. Nigdy nie używaj go w produkcji.

Generowanie pliku z parametrami Diffie-Hellmana może zająć dużo czasu. Na przykład, parametry 4096 bitowe zajmują około 40 minut na Intel(R) Core(TM) i5-8200Y CPU @ 1.30GHz. Dobrze jest wygenerować plik osobno, aby przyspieszyć konfigurację.

dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: false
dovecot_ssl_dh_path: <path-to-generated-Diffie-Hellman-file>
  1. Utwórz playbook i inwentarz
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. Sprawdź składnię
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
  1. Zainstaluj pakiety
  • Zainstaluj pakiety z roli vbotka.freebsd_mailserver
shell> ansible-playbook freebsd-mailserver.yml -t fm-packages -e fm_install=true
  • Jeśli włączysz sieve
freebsd_mailserver_dovecot_protocols: imap pop3 lmtp sieve

zainstaluj pakiety z roli vbotka.freebsd_mailserver_sieve

shell> ansible-playbook freebsd-mailserver-sieve.yml -t fm_ds_packages -e fm_ds_install=true
  • Jeśli włączysz spamassassin
postfix_master_cf_service_def: "inet  n       -       -       -       -       smtpd -o content_filter=spamfilter"

zainstaluj pakiety z roli vbotka.freebsd_mailserver_spamassassin

shell> ansible-playbook freebsd-mailserver-spamassassin.yml -t fm_sa_packages -e fm_sa_install=true
  1. Utwórz domyślną konfigurację dla Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
  1. Symulacja i wyświetlenie zmian
shell> ansible-playbook freebsd-mailserver.yml --check --diff
  1. Zainstaluj i skonfiguruj serwer pocztowy
shell> ansible-playbook freebsd-mailserver.yml
  1. Rozważ przetestowanie serwera pocztowego na http://mxtoolbox.com/

Tryb kontroli

Utwórz domyślne pliki konfiguracyjne Dovecot, aby uniknąć błędów braku plików

shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf

Następnie uruchom tryb kontroli

shell> ansible-playbook freebsd-mailserver.yml --check

Lint Ansible

Użyj pliku konfiguracyjnego .ansible-lint.local podczas uruchamiania ansible-lint. Niektóre zasady mogą być wyłączone, a niektóre ostrzeżenia mogą być zignorowane. Zobacz notatki w pliku konfiguracyjnym.

shell> ansible-lint -c .ansible-lint.local

Odnośniki

Licencja

licencja

Informacje o autorze

Vladimir Botka

O projekcie

FreeBSD. Install and configure Postfix and Dovecot.

Zainstaluj
ansible-galaxy install vbotka.freebsd_mailserver
Licencja
bsd-2-clause
Pobrania
228
Właściciel