Skip to content
Snippets Groups Projects
install.yml 2.82 KiB
Newer Older
  • Learn to ignore specific revisions
  • jurgenhaas's avatar
    jurgenhaas committed
    ---
    # 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'
    
    jurgenhaas's avatar
    jurgenhaas committed
        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'