Skip to content
Snippets Groups Projects
php.yml 4.12 KiB
Newer Older
  • Learn to ignore specific revisions
  • jurgenhaas's avatar
    jurgenhaas committed
    ---
    # file: roles/php/tasks/php.yml
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    - name: "PHP | Apt Repository"
      apt_repository:
        repo='{{ item }}'
        state='present'
    
    jurgenhaas's avatar
    jurgenhaas committed
      with_items: '{{ php_repositories }}'
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    - name: "PHP | Install required packages."
      apt:
        pkg={{ item }}
        state=installed
    
    jurgenhaas's avatar
    jurgenhaas committed
        force=yes
    
    jurgenhaas's avatar
    jurgenhaas committed
      with_items: '{{ php_packages }}'
    
        - "Apache | Restart Apache"
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    - name: "PHP | Hold em all"
      shell: dpkg --get-selections | grep ^php | sed s/install/hold/g | sudo dpkg --set-selections
      when: php_hold_version
    
    - name: "PHP | Install PECL packages"
    
      shell: 'pecl install --soft imagick-3.3.0'
    
      when: php_version_main|default('7') != '7'
    
      ignore_errors: true
    
    - name: "PHP | Install PECL packages"
    
      shell: 'pecl install --soft oauth'
    
      when: php_version_main|default('7') == '7'
    
      ignore_errors: true
    
    - name: "PHP | Ensure Apache config directory"
      file:
        dest=/etc/{{ php_base_dir }}/apache2
        state=directory
        owner=root
        group=root
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    - name: "PHP | Configuration file, php.ini"
      template:
        src=etc-php5-apache2-php.ini
    
        dest=/etc/{{ php_base_dir }}/apache2/php.ini
    
    jurgenhaas's avatar
    jurgenhaas committed
        owner=root
        group=root
    
        - "Apache | Restart Apache"
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    
      when: php_version|default('5.5') == '5.3'
    
    - name: "PHP | Configuration file, fcgid.conf"
      template:
        src=fcgid.conf
        dest=/etc/apache2/mods-available/fcgid.conf
        owner=root
        group=root
    
        - "Apache | Restart Apache"
    
    - name: "PHP | Configuration files"
    
    jurgenhaas's avatar
    jurgenhaas committed
      template:
    
        src=etc-php5-conf-d-{{ item }}.ini
        dest=/etc/{{ php_base_dir }}/{{ php_conf_dir }}/{{ item }}.ini
    
    jurgenhaas's avatar
    jurgenhaas committed
        owner=root
        group=root
    
      with_items:
        - 'opcache'
    
    jurgenhaas's avatar
    jurgenhaas committed
      notify:
    
        - "Apache | Restart Apache"
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    - name: "PHP | Create extra directory for browscap"
      file:
    
        dest=/etc/{{ php_base_dir }}/apache2/extra
    
    jurgenhaas's avatar
    jurgenhaas committed
        state=directory
        owner=root
        group=root
      when: php_browscap
    
    - name: "PHP | browscap.ini"
      copy:
        src=browscap.ini
    
        dest=/etc/{{ php_base_dir }}/apache2/extra/browscap.ini
    
    jurgenhaas's avatar
    jurgenhaas committed
        owner=root
        group=root
    
    jurgenhaas's avatar
    jurgenhaas committed
      when: php_browscap
    
        - "Apache | Restart Apache"
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    - name: "PHP | Create htdocs directory for apc status"
      file:
        dest=/var/www/apc
        state=directory
        owner=www-data
        group=www-data
    
    - name: "PHP | Copy APC status php script"
      copy:
        src=apc.php
        dest=/var/www/apc
        owner=www-data
        group=www-data
    
    
    - include_tasks: oci-{{ php_version|default('5.5') }}.yml
    
      when: repository is defined and php_needs_oci8
    
    
    - name: "PHP | Ensure ImageMagick config directory"
      file:
    
        dest={{ php_imagick_config_dir }}
    
    
    - name: "PHP | ImageMagick Policy File"
      template:
        src=etc-imagemagick-policy.xml
    
        dest={{ php_imagick_config_dir }}/policy.xml
    
    - block:
    
      - name: "PHP | Apache FPM Socket Configuration"
        template:
          src='etc-apache2-conf-available-php-fpm'
          dest='/etc/apache2/{{ apache_conf_dir }}/php{{ php_version_main }}-fpm.conf'
          owner='root'
          group='root'
          mode='644'
        notify:
          - "Apache | Restart Apache"
    
      - name: "PHP | Enable Apache PHP FPM Configuration"
        command: a2enconf php{{ php_version_main }}-fpm creates=/etc/apache2/conf-enabled/php{{ php_version_main }}-fpm{{ apache_conf_ext }}
        notify:
          - "Apache | Restart Apache"
    
      when: php_fpm_socket
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    - name: "PHP | FPM Default Pool Configuration"
      template:
        src=php_pool.conf
        dest=/etc/{{ php_base_dir }}/fpm/pool.d/www.conf
        owner=root
        group=root
        mode='644'
    
    jurgenhaas's avatar
    jurgenhaas committed
      when: (php_version_main|default('7') == '7') and (jailkit is not defined or not jailkit) and (php_fpm)
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    
    - block:
      - set_fact:
          phpLogRotatePrefix='7.0'
          phpLibPrefix=''
    
        when: php_version_main|default('7') == '7'
    
      - set_fact:
          phpLogRotatePrefix='5'
          phpLibPrefix='5'
    
        when: php_version_main|default('7') != '7'
    
    
      - name: "Install logrotate script"
        template:
          src=etc-logrotate-php
          dest=/etc/logrotate.d/php{{ phpLogRotatePrefix }}-fpm
          owner=root
          group=root
    
    jurgenhaas's avatar
    jurgenhaas committed
      when: php_fpm
    
      tags: 'logrotate'