--- - 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' ]