forked from ISTI-ansible-roles/ansible-roles
66 lines
2.5 KiB
YAML
66 lines
2.5 KiB
YAML
---
|
|
- name: Prepare roundcube for upgrade
|
|
block:
|
|
- name: Remove the roundcube current installation
|
|
file: dest={{ roundcube_web_root }} state=absent
|
|
|
|
when: roundcube_upgrade | bool
|
|
tags: [ 'roundcube', 'roundcube_upgrade' ]
|
|
|
|
- name: Install Roundcube
|
|
block:
|
|
- name: Create the roundcube webroot
|
|
file: dest={{ roundcube_web_basedir }} owner=root group=root state=directory
|
|
|
|
- name: Create the roundcube base data directory
|
|
file: dest={{ roundcube_data_dir }} owner=root group=root state=directory
|
|
|
|
- name: Create the roundcube data directories
|
|
file: dest={{ item }} state=directory owner={{ roundcube_user }} group={{ roundcube_user }}
|
|
with_items:
|
|
- '{{ roundcube_logs_dir }}'
|
|
- '{{ roundcube_temp_dir }}'
|
|
|
|
- name: Unpack the roundcube archive
|
|
unarchive: remote_src=yes src={{ roundcube_download_url }} dest={{ roundcube_data_dir }} owner=root group=root
|
|
args:
|
|
creates: '{{ roundcube_web_root }}/public_html/index.php'
|
|
|
|
- name: Move the roundcube installation to the final place
|
|
shell: mv {{ roundcube_data_dir }}/{{ roundcube_dist }} {{ roundcube_web_root }}
|
|
args:
|
|
creates: '{{ roundcube_web_root }}/public_html/index.php'
|
|
|
|
tags: [ 'roundcube' ]
|
|
|
|
- name: Manage some additional plugins
|
|
block:
|
|
- name: Install the identity_smtp plugin
|
|
git: repo={{ roundcube_identity_smtp_git }} dest={{ roundcube_web_root }}/plugins/{{ roundcube_identity_smtp_name }}
|
|
when: roundcube_identity_smtp_plugin | bool
|
|
|
|
tags: [ 'roundcube', 'roundcube_plugins', 'roundcube_config' ]
|
|
|
|
- name: Manage the Enigma (PGP) plugin
|
|
block:
|
|
- name: Create the enigma data directory
|
|
file: dest={{ roundcube_enigma_data_dir }} state=directory owner={{ roundcube_user }} group={{ roundcube_user }}
|
|
|
|
- name: Install the gnupg packages
|
|
apt: pkg={{ roundcube_enigma_deps }} state=present cache_valid_time=1800
|
|
|
|
when: roundcube_install_enigma | bool
|
|
tags: [ 'roundcube', 'roundcube_plugins', 'roundcube_config', 'roundcube_enigma' ]
|
|
|
|
- block:
|
|
- name: Configure the roundcube instance
|
|
template: src=config.inc.php.j2 dest={{ roundcube_web_root }}/config/config.inc.php owner=root group=root mode=0444
|
|
|
|
- name: Initialize the roundcube database
|
|
shell: PGPASSWORD={{ roundcube_db_pwd }} psql -h {{ roundcube_db_host }} -U {{ roundcube_db_user }} -f {{ roundcube_web_root }}/SQL/postgres.initial.sql {{ roundcube_db_name }} && touch {{ roundcube_logs_dir }}/.roundcube_db.initialized
|
|
args:
|
|
creates: '{{ roundcube_logs_dir }}/.roundcube_db.initialized'
|
|
|
|
tags: [ 'roundcube', 'roundcube_config' ]
|
|
|