ansible-roles/webapps/roundcube/tasks/main.yml

131 lines
3.2 KiB
YAML

---
- name: configure roundcube-core
debconf:
name: roundcube-core
question: "{{ item.key }}"
value: "{{ item.value }}"
vtype: "{{ item.type }}"
with_items:
- { key: 'roundcube/database-type', type: 'select', value: 'sqlite3' }
- { key: 'roundcube/db/basepath', type: 'string', value: '/var/lib/roundcube/' }
tags:
- roundcube
- name: install Roundcube
apt:
name:
- imapproxy
- roundcube
- roundcube-sqlite3
- roundcube-plugins
- php-net-sieve
- php-zip
state: present
tags:
- roundcube
- name: configure imapproxy imap host
lineinfile:
dest: /etc/imapproxy.conf
regexp: "^server_hostname"
line: "server_hostname {{ roundcube_imap_host }}"
notify: restart imapproxy
tags:
- roundcube
- name: configure imapproxy imap port
lineinfile:
dest: /etc/imapproxy.conf
regexp: "^server_port"
line: "server_port {{ roundcube_imap_port }}"
notify: reload imapproxy
tags:
- roundcube
- name: enable and start imapproxy
service:
name: imapproxy
state: started
enabled: True
tags:
- roundcube
- name: configure roundcube imap host
lineinfile:
dest: /etc/roundcube/config.inc.php
regexp: "\\$config\\['default_host'\\]"
line: "$config['default_host'] = array('127.0.0.1');"
tags:
- roundcube
- name: configure roudcube imap port
lineinfile:
dest: /etc/roundcube/config.inc.php
regexp: "\\$config\\['default_port'\\]"
insertafter: "\\$config\\['default_host'\\]"
line: "$config['default_port'] = 1143;"
tags:
- roundcube
- name: configure managesieve plugin
copy:
src: /usr/share/roundcube/plugins/managesieve/config.inc.php.dist
dest: /etc/roundcube/plugins/managesieve/config.inc.php
mode: "0644"
remote_src: True
tags:
- roundcube
- name: enable default plugins
replace:
dest: /etc/roundcube/config.inc.php
regexp: "^\\$config\\['plugins'\\] = array\\($"
replace: "$config['plugins'] = array('zipdownload','managesieve'"
tags:
- roundcube
- name: deploy apache roundcube vhost
template:
src: apache2.conf.j2
dest: /etc/apache2/sites-available/roundcube.conf
mode: "0640"
notify: reload apache2
when: roundcube_webserver == "apache"
tags:
- roundcube
- name: enable apache roundcube vhost
file:
src: /etc/apache2/sites-available/roundcube.conf
dest: /etc/apache2/sites-enabled/roundcube.conf
state: link
notify: reload apache2
when: roundcube_webserver == "apache"
tags:
- roundcube
- name: deploy Nginx roundcube vhost
template:
src: nginx.conf.j2
dest: /etc/nginx/sites-available/roundcube.conf
when: roundcube_webserver == "nginx"
notify: reload nginx
- name: enable Nginx roundcube vhost
file:
src: "/etc/nginx/sites-available/roundcube.conf"
dest: "/etc/nginx/sites-enabled/roundcube.conf"
state: link
when: roundcube_webserver == "nginx"
notify: reload nginx
- name: enable roundcube link in default site index
lineinfile:
dest: /var/www/index.html
state: present
regexp: "Webmail"
line: ' <li><a href="https://{{ roundcube_host }}">Webmail</a></li>'
insertbefore: "</ul>"
tags:
- roundcube