--- # file: roles/matomo/tasks/install.yml - block: - set_fact: webRoot='/var/www/matomo/{{ matomo.id }}' apacheUser='www-data' apacheLogDir='/var/log/apache2' when: matomo.jail is not defined - set_fact: webRoot='{{ jailroot }}/{{ matomo.id }}/var/www/matomo' apacheUser='{{ matomo.id }}' apacheLogDir='{{ jailroot }}/{{ matomo.id }}/var/log/apache2' when: matomo.jail is defined tags: 'always' - name: "Configure Apache" include_tasks: apache.yml tags: 'ApacheConfig' - name: "Remove existing components" file: path: '{{ item }}' state: 'absent' with_items: - '{{ webRoot }}' when: matomo_force_reset tags: 'always' - name: "Ensure Root Directories" file: path='{{ item }}' state='directory' owner='{{ apacheUser }}' group='{{ apacheUser }}' mode='775' with_items: - '{{ webRoot }}' tags: 'always' - name: "File Modes and Ownership" file: path='{{ webRoot }}' owner='{{ apacheUser }}' group='{{ apacheUser }}' mode='g+w' recurse=yes follow=no tags: 'deploy' - name: "Clone Git Repository" git: accept_hostkey: yes repo: 'git@github.com:matomo-org/matomo.git' dest: '{{ webRoot }}' track_submodules: yes force: yes version: '{{ matomo_version }}' become: false environment: GIT_LFS_SKIP_SMUDGE: '1' tags: 'deploy' - name: "Configuration file" template: src='config.ini.php' dest='{{ webRoot }}/config/config.ini.php' owner='{{ apacheUser }}' group='{{ apacheUser }}' mode='664' tags: 'deploy' - name: "Composer" composer: command='update' working_dir='{{ webRoot }}' no_dev=yes optimize_autoloader=yes prefer_dist=yes ignore_errors: true tags: 'deploy' - name: "Ensure Working Directories" file: path='{{ item }}' state='directory' owner='{{ apacheUser }}' group='{{ apacheUser }}' mode='775' with_items: - '{{ webRoot }}/tmp' tags: 'always' - name: "File Modes and Ownership" file: path='{{ webRoot }}' owner='{{ apacheUser }}' group='{{ apacheUser }}' mode='a-w' recurse=yes follow=no tags: 'deploy' - name: "File Modes for .git Directory" file: path='{{ webRoot }}/.git' mode='og+w' recurse=yes follow=no tags: 'deploy' - name: "File Modes for tmp" file: path='{{ webRoot }}/tmp' mode='ug+w' recurse=yes follow=no tags: 'deploy' - name: "Ensure Database" mysql_db: name='matomo_{{ matomo.id }}' login_user='root' login_password='{{ mysql_root_password|default("root") }}' login_host='127.0.0.1' login_port='{{ matomo.db_port|default('3306') }}' state='present' - name: "Run Upgrade" command: '{{ webRoot }}/console core:update --yes --no-interaction' become_user: '{{ apacheUser }}' ignore_errors: true tags: 'deploy'