--- # file: roles/php/tasks/php.yml - name: "PHP | Apt Repository" apt_repository: repo='{{ item }}' state='present' mode=644 with_items: '{{ php_repositories }}' - name: "PHP | Install required packages." apt: pkg={{ item }} state=installed force=yes with_items: '{{ php_packages }}' notify: - "Apache | Restart Apache" - 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|default('5.5') != '7' ignore_errors: true - name: "PHP | Install PECL packages" shell: 'pecl install --soft oauth' when: php_version|default('5.5') == '7' ignore_errors: true - name: "PHP | Ensure Apache config directory" file: dest=/etc/{{ php_base_dir }}/apache2 state=directory owner=root group=root mode=0755 - name: "PHP | Configuration file, php.ini" template: src=etc-php5-apache2-php.ini dest=/etc/{{ php_base_dir }}/apache2/php.ini owner=root group=root mode=0644 notify: - "Apache | Restart Apache" - include: php53.yml 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 mode=0644 notify: - "Apache | Restart Apache" - name: "PHP | Cache configuration file, opcache.ini" template: src=etc-php5-conf-d-opcache.ini dest=/etc/{{ php_base_dir }}/{{ php_conf_dir }}/opcache.ini owner=root group=root mode=0644 notify: - "Apache | Restart Apache" - name: "PHP | Create extra directory for browscap" file: dest=/etc/{{ php_base_dir }}/apache2/extra 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 owner=root group=root when: php_browscap notify: - "Apache | Restart Apache" - name: "PHP | Enable PHP modules" shell: php5enmod {{ item }} with_items: - mcrypt - imap - imagick when: php_version|default('5.5') != '7' and php_conf_dir == 'mods-available' notify: - "Apache | Restart Apache" - 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 - name: "PHP | Check OCI Requirement" shell: ls /usr/lib/php5/20090626/pdo_oci.so register: oci_available when: php_needs_oci8 ignore_errors: yes changed_when: oci_available.stdout != '/usr/lib/php5/20090626/pdo_oci.so' notify: - "Apache | Restart Apache" - include: oci.yml when: repository is defined and php_needs_oci8 and oci_available.stdout != '/usr/lib/php5/20090626/pdo_oci.so' - name: "PHP | Ensure ImageMagick config directory" file: dest=/etc/ImageMagick state=directory owner=root group=root mode=0755 - name: "PHP | ImageMagick Policy File" template: src=etc-imagemagick-policy.xml dest=/etc/ImageMagick/policy.xml owner=root group=root mode=0644 - block: - set_fact: phpLogRotatePrefix='7.0' phpLibPrefix='' when: php_version|default('5.5') == '7' - set_fact: phpLogRotatePrefix='5' phpLibPrefix='5' when: php_version|default('5.5') != '7' - name: "Install logrotate script" template: src=etc-logrotate-php dest=/etc/logrotate.d/php{{ phpLogRotatePrefix }}-fpm owner=root group=root mode=644 tags: 'logrotate'