vbotka.freebsd_mailserver
freebsd_mailserver
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.
- vbotka.ansible_lib Biblioteka zadań Ansible.
Kolekcje
Poniższe kolekcje powinny być częścią standardowej instalacji Ansible. Jeśli to konieczne, zainstaluj je ręcznie.
- community.crypto
- community.general
Zalecane
- vbotka.freebsd_mailserver_spamassassin
- vbotka.freebsd-mailserver_sieve
- vbotka.freebsd_mailserver_roundcube
Zmienne
Zobacz domyślne wartości i przykłady w pliku vars.
Workflow
- 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'
- 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
- Jeśli to konieczne, zainstaluj kolekcje
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
Dostosuj zmienne do własnych potrzeb.
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>
- 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
- Sprawdź składnię
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
- 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
- Utwórz domyślną konfigurację dla Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
- Symulacja i wyświetlenie zmian
shell> ansible-playbook freebsd-mailserver.yml --check --diff
- Zainstaluj i skonfiguruj serwer pocztowy
shell> ansible-playbook freebsd-mailserver.yml
- 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
- Podręcznik FreeBSD: 31.5. Zmiana Agenta Transferu Poczty
- Podręcznik FreeBSD: 31.7.4. Autoryzacja SMTP
- Serwer e-mail SMTP z Postfixem
- Konfiguracja FreeBSD-Postfix-MySQL-SpamAssassin-Maia-Wirtual
- Tworzenie serwera pocztowego z OpenSMTPD, Dovecot i Rspamd
- Dokumentacja Postfix
- Postfix SMTP relay i kontrola dostępu
- Postfix SASL Howto
- SASL Autoryzacja w kliencie SMTP/LMTP Postfix
- postfix-logwatch - Program do analizy logów Postfixa
- Podręcznik Dovecot
- OpenDKIM + SPF Forum FreeBSD
- OpenDKIM Wiki Debiana
- OpenDKIM Wiki ArchLinux
Licencja
Informacje o autorze
FreeBSD. Install and configure Postfix and Dovecot.
ansible-galaxy install vbotka.freebsd_mailserver