vbotka.freebsd_mailserver

servidor_de_correo_freebsd

calidad Estado de construcción Etiqueta de GitHub

Rol de Ansible. FreeBSD. Instala y configura Postfix y Dovecot2.

No dudes en compartir tus comentarios e informar problemas.

Las contribuciones son bienvenidas.

Requisitos y dependencias

Roles

Los roles no están listados en el archivo meta. Instálalos manualmente.

Colecciones

Las siguientes colecciones deberían ser parte de la instalación estándar de Ansible. Si es necesario, instálalas manualmente.

  • community.crypto
  • community.general

Recomendados

Variables

Consulta los valores predeterminados y ejemplos en vars.

Flujo de trabajo

  1. Cambiar la shell a /bin/sh si es necesario
shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'
  1. Instalar roles
shell> ansible-galaxy role install vbotka.freebsd_mailserver
shell> ansible-galaxy role install vbotka.ansible_lib

Opcionalmente, instala roles

shell> ansible-galaxy role install vbotka.freebsd_mailserver_sieve
shell> ansible-galaxy role install vbotka.freebsd_mailserver_spamassassin
  1. Si es necesario, instala colecciones
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
  1. Ajusta las variables a tus necesidades.

  2. Genera los parámetros Diffie-Hellman de OpenSSL

Por defecto, el archivo dovecot_ssl_dh es creado por el módulo de Ansible openssl_dhparam

dovecot_ssl_dh_generate: true
dovecot_ssl_dh_cmd_generate: false

Es posible usar un comando personalizado dovecot_ssl_dh_cmd para crear 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 }}"

Las opciones dovecot_ssl_dh_generate (predeterminado: true) y dovecot_ssl_dh_cmd_generate (predeterminado: false) son mutuamente exclusivas. Si ambas opciones son false, se utiliza el archivo dovecot_ssl_dh_path (predeterminado: files/dh.pem). Este archivo es proporcionado por el rol solo para pruebas. Nunca lo utilices en producción.

La generación del archivo con parámetros Diffie-Hellman puede tardar mucho tiempo. Por ejemplo, los parámetros de 4096 bits tardan ~40min con Intel(R) Core(TM) i5-8200Y CPU @ 1.30GHz. Es buena idea generar el archivo por separado para acelerar la configuración.

dovecot_ssl_dh_generate: false
dovecot_ssl_dh_cmd_generate: false
dovecot_ssl_dh_path: <ruta-al-archivo-Diffie-Hellman-generado>
  1. Crea un playbook y un inventario
shell> cat freebsd-mailserver.yml

- hosts: mailserver
  roles:
    - vbotka.freebsd_mailserver
shell> cat hosts
[mailserver]
<ip-o-fqdn-del-servidor-de-correo>
[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. Verifica la sintaxis
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
  1. Instala paquetes
  • Instala paquetes desde el rol vbotka.freebsd_mailserver
shell> ansible-playbook freebsd-mailserver.yml -t fm-packages -e fm_install=true
  • Si activas sieve
freebsd_mailserver_dovecot_protocols: imap pop3 lmtp sieve

instala paquetes desde el rol vbotka.freebsd_mailserver_sieve

shell> ansible-playbook freebsd-mailserver-sieve.yml -t fm_ds_packages -e fm_ds_install=true
  • Si activas spamassassin
postfix_master_cf_service_def: "inet  n       -       -       -       -       smtpd -o content_filter=spamfilter"

instala paquetes desde el rol vbotka.freebsd_mailserver_spamassassin

shell> ansible-playbook freebsd-mailserver-spamassassin.yml -t fm_sa_packages -e fm_sa_install=true
  1. Crea la configuración predeterminada para Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
  1. Realiza un dry-run y muestra los cambios
shell> ansible-playbook freebsd-mailserver.yml --check --diff
  1. Instala y configura el servidor de correo
shell> ansible-playbook freebsd-mailserver.yml
  1. Considera probar el servidor de correo en http://mxtoolbox.com/

Modo de comprobación

Crea archivos de configuración predeterminados de Dovecot para evitar errores de archivos faltantes

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

Luego, ejecuta el modo de comprobación

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

Ansible lint

Utiliza el archivo de configuración .ansible-lint.local al ejecutar ansible-lint. Algunas reglas pueden estar desactivadas y algunas advertencias pueden ser ignoradas. Consulta las notas en el archivo de configuración.

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

Referencias

Licencia

licencia

Información del autor

Vladimir Botka

Acerca del proyecto

FreeBSD. Install and configure Postfix and Dovecot.

Instalar
ansible-galaxy install vbotka.freebsd_mailserver
Licencia
bsd-2-clause
Descargas
228
Propietario