vbotka.freebsd_mailserver
servidor_de_correo_freebsd
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.
- vbotka.ansible_lib Biblioteca de tareas de Ansible.
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
- vbotka.freebsd_mailserver_spamassassin
- vbotka.freebsd-mailserver_sieve
- vbotka.freebsd_mailserver_roundcube
Variables
Consulta los valores predeterminados y ejemplos en vars.
Flujo de trabajo
- 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'
- 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
- Si es necesario, instala colecciones
shell> ansible-galaxy collection install community.crypto
shell> ansible-galaxy collection install community.general
Ajusta las variables a tus necesidades.
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>
- 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
- Verifica la sintaxis
shell> ansible-playbook freebsd-mailserver.yml --syntax-check
- 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
- Crea la configuración predeterminada para Dovecot
shell> ansible-playbook freebsd-mailserver.yml -t dovecot_example_conf
- Realiza un dry-run y muestra los cambios
shell> ansible-playbook freebsd-mailserver.yml --check --diff
- Instala y configura el servidor de correo
shell> ansible-playbook freebsd-mailserver.yml
- 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
- Manual de FreeBSD: 31.5. Cambiando el Agente de Transferencia de Correo
- Manual de FreeBSD: 31.7.4. Autenticación SMTP
- Servidor de Correo SMTP con Postfix
- Configuración de FreeBSD-Postfix-MySQL-SpamAssassin-Maia-Virtual
- Configurando un servidor de correo con OpenSMTPD, Dovecot y Rspamd
- Documentación de Postfix
- Relay SMTP de Postfix y control de acceso
- Postfix SASL Cómo hacerlo
- Autenticación SASL en el cliente SMTP/LMTP de Postfix
- postfix-logwatch - Un analizador y utilidad de análisis de registros de Postfix
- Manual de Dovecot
- OpenDKIM + SPF Foro de FreeBSD
- OpenDKIM Wiki de Debian
- OpenDKIM Wiki de ArchLinux
Licencia
Información del autor
FreeBSD. Install and configure Postfix and Dovecot.
ansible-galaxy install vbotka.freebsd_mailserver