freebsd_mailserver

freebsd_mailserver

качество Статус сборки Тег GitHub

Роль Ansible. FreeBSD. Установка и настройка Postfix и Dovecot2.

Не стесняйтесь делиться своим мнением и сообщать о проблемах.

Вклад приветствуется.

Требования и зависимости

Роли

Роли не указаны в мета-файле. Установите их вручную.

Коллекции

Ниже перечисленные коллекции должны входить в стандартную установку Ansible. При необходимости установите их вручную.

  • community.crypto
  • community.general

Рекомендуется

Переменные

Смотрите значения по умолчанию и примеры в vars.

Рабочий процесс

  1. Измените оболочку на /bin/sh, если это необходимо
shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'
  1. Установите роли
shell> ansible-galaxy role install vbotka.freebsd_mailserver
shell> ansible-galaxy role install vbotka.ansible_lib

По желанию, установите роли

shell> ansible-galaxy role install vbotka.freebsd_mailserver_sieve
shell> ansible-galaxy role install vbotka.freebsd_mailserver_spamassassin
  1. При необходимости установите коллекции
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
  1. Подгоните переменные под свои нужды.

  2. Сгенерируйте параметры Diffie-Hellman для OpenSSL

По умолчанию файл dovecot_ssl_dh создается модулем Ansible openssl_dhparam

dovecot_ssl_dh_generate: true
dovecot_ssl_dh_cmd_generate: false

Можно использовать команду dovecot_ssl_dh_cmd для создания 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 }}"

Опции dovecot_ssl_dh_generate (по умолчанию: true) и dovecot_ssl_dh_cmd_generate (по умолчанию: false) являются взаимоисключающими. Если обе опции равны false, используется файл dovecot_ssl_dh_path (по умолчанию: files/dh.pem). Этот файл предоставляется ролью только для тестирования. Никогда не используйте его в продуктивной среде.

Генерация файла с параметрами Диффи-Хеллмана может занять много времени. Например, параметры 4096 бит занимают около 40 минут на Intel(R) Core(TM) i5-8200Y CPU @ 1.30GHz. Хорошей идеей будет генерировать файл отдельно, чтобы ускорить настройку.

dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: false
dovecot_ssl_dh_path: <путь-к-сгенерированному-файлу-Diffie-Hellman>
  1. Создайте плейбук и инвентарь
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. Проверьте синтаксис
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
  1. Установите пакеты
  • Установите пакеты из роли vbotka.freebsd_mailserver
shell> ansible-playbook freebsd-mailserver.yml -t fm-packages -e fm_install=true
  • Если включен sieve
freebsd_mailserver_dovecot_protocols: imap pop3 lmtp sieve

установите пакеты из роли vbotka.freebsd_mailserver_sieve

shell> ansible-playbook freebsd-mailserver-sieve.yml -t fm_ds_packages -e fm_ds_install=true
  • Если включен spamassassin
postfix_master_cf_service_def: "inet  n       -       -       -       -       smtpd -o content_filter=spamfilter"

установите пакеты из роли vbotka.freebsd_mailserver_spamassassin

shell> ansible-playbook freebsd-mailserver-spamassassin.yml -t fm_sa_packages -e fm_sa_install=true
  1. Создайте конфигурацию по умолчанию для Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
  1. Проведите пробный запуск и покажите изменения
shell> ansible-playbook freebsd-mailserver.yml --check --diff
  1. Установите и настройте почтовый сервер
shell> ansible-playbook freebsd-mailserver.yml
  1. Рассмотрите возможность тестирования почтового сервера на http://mxtoolbox.com/

Режим проверки

Создайте конфигурационные файлы по умолчанию для Dovecot, чтобы избежать ошибок о недостающих файлах

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

Затем выполните режим проверки

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

Ansible lint

Используйте конфигурационный файл .ansible-lint.local при выполнении ansible-lint. Некоторые правила могут быть отключены, а некоторые предупреждения могут быть проигнорированы. Смотрите заметки в конфигурационном файле.

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

Ссылки

Лицензия

лицензия

Информация об авторе

Vladimir Botka

О проекте

FreeBSD. Install and configure Postfix and Dovecot.

Установить
ansible-galaxy install vbotka/ansible-freebsd-mailserver
Лицензия
bsd-2-clause
Загрузки
216
Владелец