progreso (aun no probado)

This commit is contained in:
Mauro Torrez 2019-05-28 19:26:38 -03:00
parent 216fb11972
commit c32b131a57
2 changed files with 184 additions and 152 deletions

View File

@ -1,206 +1,225 @@
---
# junk mailbox name
dovecot_mailbox_junk: "Junk"
# Mail
# activar single-instance storage?
dovecot_sis_enable: yes
# carpeta por defecto para el mail
dovecot_mail_home: "{{ vmail_home | default('/srv/mail') }}"
# lugar donde se guardan los adjuntos
dovecot_sis_directory: "{{ vmail_home }}/attachments"
# tamaño minimo de adjuntos a guardar aparte
dovecot_sis_min_size: "128k"
# hash a usar para desduplicar
dovecot_sis_hash: "%{sha1}"
# habilitar desduplicacion postergada?
dovecot_sis_queue_enable: no
# carpeta de "encolados para desduplicar
dovecot_sis_queue_directory: "{{ vmail_home }}/attachments-queue"
# carpeta alternativa de correo
dovecot_altstorage_enable: no
# carpeta alternativa de correo
dovecot_altstorage_directory: "{{ vmail_home }}/alt-storage"
# carpeta de mail de cada usuario
dovecot_user_home: "{{ dovecot_mail_home }}/mail/%d/%n"
# formato del mailbox: dbox, mdbox, sdbox, maildir
dovecot_mailbox_format: "dbox"
dovecot_mailbox_format: dbox
# ubicacion de mails de dovecot
dovecot_mail_location: >
{%- if "dbox" in dovecot_mailbox_format -%}
{{dovecot_mailbox_format}}:~/dbox
{%- else -%}
{{dovecot_mailbox_format}}:~/Maildir
{%- endif %}
# ubicacion de mails de dovecot (~ = dovecot_user_home)
dovecot_mail_location:
"{%- if 'dbox' in dovecot_mailbox_format -%}\
{{dovecot_mailbox_format}}:~/dbox\
{%- else -%}\
{{dovecot_mailbox_format}}:~/Maildir\
{%- endif %}"
# carpeta "home" de los usuarios de dovecot
dovecot_user_home: "{{ vmail_home }}/mail/%d/%n"
# nombre de la carpeta de spam
dovecot_mailbox_junk: Junk
# como transformar el nombre de usuario antes de autenticar
dovecot_auth_username_format: "%Lu"
# Auth
# mecanismos de autenticacion: agregar login para compat. outlook
dovecot_auth_mechanisms: "plain"
dovecot_auth_mechanisms: plain
# como transformar el nombre de usuario antes de autenticar
dovecot_auth_username_format: %Lu
# habilitar userdb/passdb de usuarios del sistema?
dovecot_auth_system_enable: no
dovecot_auth_system_enable: no
# habilitar usuarios master?
dovecot_auth_master_enable: no
# Protocolos
# activar IMAP?
dovecot_proto_imap_enable: yes
# activar IMAPS?
dovecot_proto_imaps_enable: no
# activar POP3?
dovecot_proto_pop3_enable: no
# activar POP3S?
dovecot_proto_pop3s_enable: no
# activar managesieve?
dovecot_proto_managesieve_enable: yes
# TLS
# habilitar ssl
dovecot_ssl_enable: yes
# requerir ssl
dovecot_ssl_require: no
# path absoluto al certificado SSL
dovecot_ssl_cert:
"{{ tls_certificate | default('/etc/ssl/certs/ssl-cert-snakeoil.pem') }}"
# path absoluto a la clave privada SSL
dovecot_ssl_key:
"{{ tls_certificate_key | \
default('/etc/ssl/private/ssl-cert-snakeoil.key') }}"
# LDAP
# habilitar userdb/passdb ldap?
dovecot_auth_ldap_enable: yes
dovecot_ldap_enable: yes
# servidores ldap
dovecot_auth_ldap_servers: [ "localhost" ]
dovecot_ldap_servers:
- localhost
# version del protocolo LDAP
dovecot_auth_ldap_version: 3
dovecot_ldap_version: 3
# base para la busqueda en LDAP
dovecot_auth_ldap_base: "ou=People,dc=%Dd"
dovecot_ldap_base: "ou=People,dc=%Dd"
# scope para la busqueda en ldap: base, onelevel, subtree
dovecot_auth_ldap_scope: "subtree"
dovecot_ldap_scope: subtree
# filtro para obtener la entrada del usuario LDAP
dovecot_auth_ldap_user_filter: "(&(objectClass=inetOrgPerson)(uid=%n))"
dovecot_ldap_user_filter: "(&(objectClass=inetOrgPerson)(uid=%n))"
# filtro para obtener la clave del usuario LDAP
dovecot_auth_ldap_pass_filter: "(&(objectClass=inetOrgPerson)(uid=%n))"
dovecot_ldap_pass_filter: "(&(objectClass=inetOrgPerson)(uid=%n))"
# atributos del usuario leidos de LDAP
# por defecto, usar valores pre-calculados
dovecot_auth_ldap_user_attrs: >
=home={{ dovecot_user_home }},
=uid={{ vmail_user }},
=gid={{ vmail_group }}
dovecot_ldap_user_attrs:
"=home={{ dovecot_user_home }}, =uid={{ vmail_user }}, \
=gid={{ vmail_group }}"
# clave + atributos del usuario leidos de LDAP
# por defecto, usar valores pre-calculados
dovecot_auth_ldap_pass_attrs: >
userPassword=password,
=userdb_home={{ dovecot_user_home }},
=userdb_uid={{ vmail_user }},
=userdb_gid={{ vmail_group }}
dovecot_ldap_pass_attrs:
"userPassword=password, =userdb_home={{ dovecot_user_home }}, \
=userdb_uid={{ vmail_user }}, =userdb_gid={{ vmail_group }}"
# iteracion con doveadm
# CAVEAT: al usar %Dd en ldap_base, no se puede utilizar doveadm -A,
# sino que siempre se debe especificar un dominio usando -u "*@dominio"
dovecot_auth_ldap_iterate_attrs: "=user=%{ldap:uid}@%d"
dovecot_ldap_iterate_attrs: "=user=%{ldap:uid}@%d"
# cuando ldap_base es fija (sin %Dd):
# dovecot_auth_ldap_iterate_attrs: "uid=user"
# dovecot_ldap_iterate_attrs: "uid=user"
# filtro para iteracion: este filtro debe devolver todas las personas
# de tipo "usuario"
dovecot_auth_ldap_iterate_filter: "(objectClass=inetOrgPerson)"
# filtro para iteracion: debe devolver todas las personas de tipo "usuario"
dovecot_ldap_iterate_filter: "(objectClass=inetOrgPerson)"
# ???
dovecot_auth_ldap_default_pass_scheme: "CRYPT"
# Esquema con que se guarda la clave (no deberia usarse)
dovecot_ldap_default_pass_scheme: "CRYPT"
# habilitar usuarios master?
dovecot_auth_master_enable: no
# habilitar ssl
dovecot_ssl_enable: yes
# requerir ssl
dovecot_ssl_require: no
# path absoluto al certificado SSL
dovecot_ssl_cert: "{{ tls_certificate }}"
# path absoluto a la clave privada SSL
dovecot_ssl_key: "{{ tls_certificate_key }}"
# activar IMAP?
dovecot_proto_imap_enable: yes
# activar IMAPS?
dovecot_proto_imaps_enable: no
# activar POP3?
dovecot_proto_pop3_enable: no
# activar POP3S?
dovecot_proto_pop3s_enable: no
# activar managesieve?
dovecot_proto_managesieve_enable: yes
# Antispam
# Activar el plugin antispam?
dovecot_antispam_enable: yes
dovecot_antispam_enable: yes
# Backend del plugin antispam. Valores posibles:
# crm114, dspam, pipe, spool2dir
dovecot_antispam_backend: "pipe"
dovecot_antispam_backend: pipe
# Header que indica que el mail ha sido escaneado para spam
dovecot_antispam_signature: "X-Bogosity"
dovecot_antispam_signature: X-Bogosity
# Pipe: programa que entrena leyendo el mail en STDIN
dovecot_antispam_pipe_program: "/usr/bin/bogofilter"
dovecot_antispam_pipe_program: /usr/bin/bogofilter
# antispam_pipe_program_args = --for;%u
dovecot_antispam_pipe_program_args: "-l"
dovecot_antispam_pipe_program_args: "-l"
# Pipe: argumento que indica que el mail NO ES spam
dovecot_antispam_pipe_program_notspam_arg: "-n"
# Pipe: argumento que indica que el mail ES spam
dovecot_antispam_pipe_program_spam_arg: "-s"
dovecot_antispam_pipe_program_spam_arg: "-s"
# Pipe: directorio temporal (creo que el mail se copia ahi primero)
dovecot_antispam_pipe_tmpdir: "/tmp"
dovecot_antispam_pipe_tmpdir: /tmp
# accion cuando se mueve un mail que no tiene signature de/hacia spam
# valores posibles:
# error: fallar en la operacion
# move: mover el mensaje de todos modos
dovecot_antispam_signature_missing: "error"
dovecot_antispam_signature_missing: error
# nombres de las carpetas de spam
dovecot_antispam_spam: "Junk;junk;Junk Mail;Spam;spam;SPAM"
dovecot_antispam_spam: "Junk;junk;Junk Mail;Spam;spam;SPAM"
# nombres de las carpetas de papelera
dovecot_antispam_trash: "Trash;trash;mail/trash;Deleted Messages"
dovecot_antispam_trash: "Trash;trash;mail/trash;Deleted Messages"
# debug del plugin antispam
dovecot_antispam_debug_enable: no
dovecot_antispam_debug_target: "syslog"
dovecot_antispam_debug_verbosity: 0
dovecot_antispam_debug_enable: no
dovecot_antispam_debug_target: syslog
dovecot_antispam_debug_verbosity: 0
# Quota
# activar plugin quota?
dovecot_plugin_quota_enable: yes
dovecot_quota_enable: yes
# opciones de quota
dovecot_plugin_quota:
# driver: count, maildir
dovecot_quota_driver: count
# driver: count, maildir
driver: "count"
# limite global de la cuota de usuario (en M)
dovecot_quota_limit: 4096M
# limite global de la cuota de usuario (en M)
limit: "4096M"
# limites adicionales para casillas especificas
dovecot_quota_additional_limit:
Trash: "100M"
# limites adicionales para casillas especificas
mailbox_additional_limit:
Trash: "100M"
# gracia (en porcentaje o M)
dovecot_quota_grace: 10%
# gracia (en porcentaje o M)
grace: "10%"
# Sieve
# activar plugin sieve?
dovecot_plugin_sieve_enable: yes
dovecot_sieve_enable: yes
# opciones de sieve
dovecot_plugin_sieve:
# dir con scripts ejecutados antes que los del usuario
dovecot_sieve_before: /etc/dovecot/sieve/before
# dir con scripts ejecutados antes que los del usuario
before: "/etc/dovecot/sieve/before"
# dir con scripts ejecutados luego de los del usuario
dovecot_sieve_after: /etc/dovecot/sieve/after
# dir con scripts ejecutados luego de los del usuario
after: "/etc/dovecot/sieve/after"
# activar filtro spam por defecto
dovecot_sieve_global_junk_filter_enable: yes
# Single-instance storage
# activar single-instance storage?
dovecot_sis_enable: yes
# lugar donde se guardan los adjuntos
dovecot_sis_directory: "{{ dovecot_mail_home }}/attachments"
# tamaño minimo de adjuntos a guardar aparte
dovecot_sis_min_size: 128k
# hash a usar para desduplicar
dovecot_sis_hash: "%{sha1}"
# habilitar desduplicacion postergada?
dovecot_sis_queue_enable: no
# carpeta de "encolados para desduplicar
dovecot_sis_queue_directory: "{{ dovecot_mail_home }}/attachments-queue"
# Alt storage
# carpeta alternativa de correo
dovecot_altstorage_enable: no
# carpeta alternativa de correo
dovecot_altstorage_directory: "{{ dovecot_mail_home }}/alt-storage"

View File

@ -1,24 +1,42 @@
---
- apt: name=dovecot-ldap
when: dovecot_auth_ldap_enable
- apt: name=dovecot-pop3d
when: dovecot_proto_pop3_enable or dovecot_proto_pop3s_enable
- name: Instalar Dovecot
apt:
state: present
name:
- dovecot-lmtpd
{% if any([dovecot_proto_imap_enable, dovecot_proto_imaps_enable]) -%}
- dovecot-imapd
{% endif %}
{% if any([dovecot_proto_pop3_enable, dovecot_proto_pop3s_enable]) -%}
- dovecot-pop3d
{% endif %}
{% if dovecot_ldap_enable -%}
- dovecot-ldap
{% endif %}
{% if dovecot_sieve_enable -%}
- dovecot-sieve
{% endif %}
{% if dovecot_proto_managesieve_enable -%}
- dovecot-managesieved
{% endif %}
{% if dovecot_antispam_enable -%}
- dovecot-antispam
{% endif %}
- apt: name=dovecot-imapd
when: dovecot_proto_imap_enable or dovecot_proto_imapd_enable
- name: Directorios de configuración de Dovecot
file:
path: "{{ item }}"
state: directory
loop:
- /etc/dovecot/conf.d
- "{{ dovecot_sieve_before }}"
- "{{ dovecot_sieve_after }}"
- apt: name=dovecot-lmtpd
- apt: name=dovecot-managesieved
when: dovecot_proto_managesieve_enable
- apt: name=dovecot-antispam
when: dovecot_plugin_antispam_enable
- name: Configuración de Dovecot
template: dest="/etc/dovecot/conf.d/{{item}}" src="{{item}}.j2"
with_items:
- name: Configuración de Dovecot (1)
template:
dest: "/etc/dovecot/conf.d/{{ item }}"
src: "{{item}}.j2"
loop:
- 10-mail.conf
- 10-auth.conf
- 10-ssl.conf
@ -31,27 +49,22 @@
- 90-quota.conf
- 90-antispam.conf
notify: restart dovecot
- name: configuracion dovecot-ldap
- name: Configuración de Dovecot (2-LDAP)
template:
dest: "/etc/dovecot/dovecot-ldap.conf.ext"
src: "dovecot-ldap.conf.ext.j2"
notify: restart dovecot
- name: enlace simbólico a dovecot-ldap.conf.ext
- name: Configuración de Dovecot (3-LDAP)
file:
src: dovecot-ldap.conf.ext
dest: /etc/dovecot/dovecot-ldap2.conf.ext
state: link
notify: restart dovecot
- file: path={{ dovecot_plugin_sieve.after }} state=directory
when: dovecot_plugin_sieve_enable
- file: path={{ dovecot_plugin_sieve.before }} state=directory
when: dovecot_plugin_sieve_enable
- name: filtro spam global en sieve-after
template: src=junk-filter.sieve.j2 dest={{dovecot_plugin_sieve.after}}/junk-filter.sieve
when: dovecot_plugin_sieve_enable
- name: Filtro de spam global
template:
src: junk-filter.sieve.j2
dest: "{{ dovecot_sieve_before }}/junk-filter.sieve"
notify: recompile sieve scripts