pimvh.postfix
Wymagania
- Zainstalowany Ansible:
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
- Zainstalowana ta rola:
ansible-galaxy install pimvh.postfix
Wymagane zmienne
Przejrzyj zmienne opisane w domyślnych ustawieniach. Opis zmiennych można znaleźć w specyfikacji argumentów w pliku meta/main.yaml. Zmienne przekazywane do tej roli są walidowane przez specyfikację argumentów w czasie wykonywania.
Przykładowy playbook
Prosty sposób na uruchomienie tej roli na hoście wygląda następująco:
- hosts:
- foo
vars:
postfix_ipv4: << Wprowadź adres IPv4 serwera pocztowego Postfix tutaj >>
postfix_ipv6: << Wprowadź adres IPv6 serwera pocztowego Postfix tutaj >>
postfix_myhostname: "<< Wprowadź nazwę domeny Postfix tutaj >>"
postfix_mydomain: "<< Wprowadź domenę Postfix tutaj, domyślnie to myhostname >>"
postfix_mynetworks:
- 127.0.0.0/8
- "::1/128" # Nie musisz otaczać adresów IPv6 nawiasami, jest to obsługiwane przez filtry
# Dodaj dodatkowe sieci w razie potrzeby
postfix_virtual_alias_domains: [] # Dodaj wirtualne domeny aliasów w razie potrzeby (zobacz meta/main.yaml dla struktury)
postfix_relay_domains: [] # Dodaj domeny przekazywania w razie potrzeby (zobacz defaults/main.yaml dla struktury)
postfix_aliases: # Dodaj aliasy użytkowników w razie potrzeby
- user: root
alias: postmaster
# może być również listą użytkowników
# - users:
# - fred
# - foo
# - bar
# alias: coś
postfix_virtual_aliases: [] # Dodaj wirtualne aliasy w razie potrzeby (zobacz meta/main.yaml dla struktury)
# Prawdopodobnie możesz pominąć resztę zmiennych
# postfix_install: true
# postfix_dir: /etc/postfix
# postfix_dkim_enabled: true # DKIM jest domyślnie włączony
# postfix_dkim_keys:
# default:
# mail: "*"
# Miejsce umiejscowienia plików DKIM w systemie
# postfix_dkim_keytable: /etc/opendkim/keytable
# postfix_dkim_signingtable: /etc/opendkim/signingtable
# postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"
# Lokalizacja certyfikatu oparta na domyślnej lokalizacji certbota (możesz uruchomić rolę pimvh.certbot, aby pobrać certyfikaty)
# postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
# postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"
roles:
- pimvh.postfix
Prawdopodobnie zaoszczędzisz sobie pracy, jeśli nie ustawisz zmiennych w linii, ale na podstawie hostów i/lub grup. To jednak zależy od Twojego konkretnego przypadku użycia. Zobacz zalecane ustawienia playbooka Ansible.
TLDR - Co się stanie, jeśli to uruchomię
- zweryfikuje, czy zmienne są poprawne
- zainstaluje Postfix
- zainstaluje i skonfiguruje amavis
- zainstaluje i skonfiguruje opendkim
- zainstaluje i skonfiguruje opendmarc
- zainstaluje i skonfiguruje dovecot z użytkownikami systemowymi i wirtualnym katalogiem poczty
- skonfiguruje mailutils (zainstalowane przez rolę, od której to zależy)
Czego ta rola nie robi
Zapory sieciowe
Ta rola nie zajmuje się zaporą, ponieważ prawdopodobnie masz własne specyficzne wymagania dotyczące tego. Prawdopodobnie nie chcesz otwierać portu IMAP na cały internet, jeśli możesz tego uniknąć. Więc zachowaj ostrożność!
Konfiguracja zaplecza bazy danych
Nie miałem jeszcze czasu na skonfigurowanie ustawienia bazy danych jako zaplecza dla Postfix. Jeśli jesteś zainteresowany, śmiało możesz wnieść swoje zmiany.
Rozwiązywanie problemów
Ta rola waliduje przekazane zmienne. Jeśli:
- widzisz problemy z specyfikacją argumentów, prawdopodobnie popełniłeś błąd, przekazując zmienne do tej roli.
- napotykasz problemy podczas uruchamiania tego playbooka, nie wahaj się dokładnie opisać swojego problemu i otworzyć zgłoszenie.
Przyszłe ulepszenia
Jeszcze wiele rzeczy można poprawić w tej roli. Oto kilka pomysłów, które rozważam:
- Dodanie narzędzia do analizy DMARC
- Dodanie lepszego zaplecza dla serwera Postfix, np. bazy danych zamiast surowego systemu plików.
Jeśli masz inne pomysły na ulepszenia, śmiało otwórz zgłoszenie.
Źródła
role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC
ansible-galaxy install pimvh.postfix