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.
80 lines
2.0 KiB
80 lines
2.0 KiB
---
|
|
# Disable IPv6 for Dovecot / force IPv4
|
|
- name: Create dovecot conf.d directory
|
|
file:
|
|
path: /etc/dovecot/conf.d
|
|
state: directory
|
|
|
|
- name: Add dovecot conf
|
|
lineinfile:
|
|
path: /etc/dovecot/conf.d/99-ipv4-only.conf
|
|
create: yes
|
|
line: "listen = *"
|
|
insertafter: EOF
|
|
state: present
|
|
|
|
- name: Install dovecot
|
|
apt:
|
|
name: "{{ item }}"
|
|
dpkg_options: 'force-confdef,force-confnew'
|
|
update_cache: yes
|
|
with_items:
|
|
- dovecot-antispam
|
|
- dovecot-imapd
|
|
|
|
- name: Create directors for dovecot users
|
|
shell: maildirmake.dovecot /etc/skel/"{{ item }}"
|
|
with_items:
|
|
- Maildir
|
|
- Maildir/.Drafts
|
|
- Maildir/.Sent
|
|
- Maildir/.Trash
|
|
- Maildir/.Templates
|
|
|
|
- name: Copy dovecot skel directory to users
|
|
synchronize:
|
|
src: /etc/skel/Maildir
|
|
dest: "/home/{{ item }}/"
|
|
recursive: yes
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
with_items:
|
|
- jebba
|
|
- mailarchive
|
|
|
|
- name: Update Maildir folder permissions in users folder
|
|
file:
|
|
path: "/home/{{ item }}/Maildir"
|
|
mode: 0700
|
|
owner: "{{ item }}"
|
|
group: "{{ item }}"
|
|
with_items:
|
|
- jebba
|
|
- mailarchive
|
|
|
|
- name: Update users folder permissions
|
|
file:
|
|
path: "/home/{{ item }}"
|
|
mode: og-rwx
|
|
with_items:
|
|
- jebba
|
|
- mailarchive
|
|
|
|
- name: Update 10-auth.conf and 10-mail.conf
|
|
lineinfile:
|
|
path: "/etc/dovecot/conf.d/{{ item.conf }}"
|
|
regexp: '{{ item.find }}'
|
|
line: '{{ item.replace }}'
|
|
with_items:
|
|
- {find: '^.*?disable_plaintext_auth.*=.*', replace: 'disable_plaintext_auth = yes', conf: '10-auth.conf'}
|
|
- {find: '^.*?auth_mechanisms.*=.*', replace: 'auth_mechanisms = plain login', conf: '10-auth.conf'}
|
|
- {find: '^.*?mail_location.*', replace: 'mail_location = maildir:~/Maildir', conf: '10-mail.conf'}
|
|
|
|
- name: Copy conf files to remote
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "/etc/dovecot/conf.d/{{ item }}"
|
|
with_items:
|
|
- 10-master.conf
|
|
- 10-ssl.conf
|
|
notify:
|
|
- restart dovecot |