No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dovecot.yml 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. - name: Add wheezy-backports to get a reasonably current Dovecot on Debian 7
  2. apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main'
  3. when: ansible_distribution_release == 'wheezy'
  4. - name: Install Dovecot and related packages on Debian 7
  5. apt: pkg={{ item }} update_cache=yes state=installed default_release=wheezy-backports
  6. with_items:
  7. - dovecot-core
  8. - dovecot-imapd
  9. - dovecot-lmtpd
  10. - dovecot-managesieved
  11. - dovecot-pgsql
  12. - dovecot-pop3d
  13. when: ansible_distribution_release == 'wheezy'
  14. - name: Install Dovecot and related packages on distributions other than Debian 7
  15. apt: pkg={{ item }} update_cache=yes state=installed
  16. with_items:
  17. - dovecot-core
  18. - dovecot-imapd
  19. - dovecot-lmtpd
  20. - dovecot-managesieved
  21. - dovecot-pgsql
  22. - dovecot-pop3d
  23. when: ansible_distribution_release != 'wheezy'
  24. - name: Install Postgres 9.1 for Dovecot on older distributions
  25. apt: pkg=postgresql-9.1 state=present
  26. when: ansible_distribution_release != 'trusty' and ansible_distribution_release != 'jessie'
  27. - name: Install Postgres 9.3 for Dovecot on Ubuntu Trusty
  28. apt: pkg=postgresql-9.3 state=present
  29. when: ansible_distribution_release == 'trusty'
  30. - name: Install Postgres 9.4 for Dovecot on Debian Jessie
  31. apt: pkg=postgresql-9.4 state=present
  32. when: ansible_distribution_release == 'jessie'
  33. - name: Create vmail group
  34. group: name=vmail state=present gid=5000
  35. - name: Create vmail user
  36. user: name=vmail group=vmail state=present uid=5000 home=/decrypted shell=/usr/sbin/nologin
  37. - name: Ensure mail domain directories are in place
  38. file: state=directory path=/decrypted/{{ item.name }} owner=vmail group=dovecot mode=770
  39. with_items: mail_virtual_domains
  40. - name: Ensure mail directories are in place
  41. file: state=directory path=/decrypted/{{ item.domain }}/{{ item.account }} owner=vmail group=dovecot
  42. with_items: mail_virtual_users
  43. - name: Copy dovecot.conf into place
  44. copy: src=etc_dovecot_dovecot.conf dest=/etc/dovecot/dovecot.conf
  45. - name: Copy additional Dovecot configuration files in place
  46. copy: src=etc_dovecot_conf.d_{{ item }} dest=/etc/dovecot/conf.d/{{ item }}
  47. with_items:
  48. - 10-auth.conf
  49. - 10-mail.conf
  50. - 10-master.conf
  51. - 10-ssl.conf
  52. - auth-sql.conf.ext
  53. notify: restart dovecot
  54. - name: Template 15-lda.conf
  55. template: src=etc_dovecot_conf.d_15-lda.conf.j2 dest=/etc/dovecot/conf.d/15-lda.conf
  56. notify: restart dovecot
  57. - name: Template dovecot-sql.conf.ext
  58. template: src=etc_dovecot_dovecot-sql.conf.ext.j2 dest=/etc/dovecot/dovecot-sql.conf.ext
  59. notify: restart dovecot
  60. - name: Ensure correct permissions on Dovecot config directory
  61. file: state=directory path=/etc/dovecot
  62. group=dovecot owner=vmail mode=770 recurse=yes
  63. notify: restart dovecot
  64. - name: Set firewall rules for dovecot
  65. ufw: rule=allow port={{ item }} proto=tcp
  66. with_items:
  67. - imaps
  68. - pop3s