--- # file: roles/matomo/tasks/install.yml - block: - name: Set facts without jail set_fact: webRoot: /var/www/matomo/{{ matomo.id }} apacheUser: www-data apacheLogDir: /var/log/apache2 when: matomo.jail is not defined - name: Set facts with jail 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: 0775 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: no 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: 0664 tags: - deploy - name: Composer composer: command: update working_dir: '{{ webRoot }}' no_dev: yes optimize_autoloader: yes prefer_dist: yes ignore_errors: yes tags: - deploy - name: Ensure Working Directories file: path: '{{ item }}' state: directory owner: '{{ apacheUser }}' group: '{{ apacheUser }}' mode: 0775 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: yes tags: - deploy