Newer
Older
repo: '{{ item }}'
state: present
mode: 0644
- name: Install required packages.
pkg: '{{ php_packages }}'
state: present
force: yes
- name: Hold em all
shell: dpkg --get-selections | grep ^sed s/install/hold/g | sudo dpkg --set-selections
- name: Install PECL packages
shell: pecl install --soft imagick-3.3.0
when: php_version_main|default(7) != 7
# NOTE: If oauth is already installed and we install a new PHP 7 version then this fails and we need --force as well
- name: Install PECL packages
shell: pecl install --soft --force oauth
when: php_version_main|default(7) == 7
- name: Ensure Apache config directory
dest: /etc/{{ php_base_dir }}/apache2
state: directory
owner: root
group: root
mode: 0755
- name: Configuration file, php.ini
src: etc-php5-apache2-php.ini
dest: /etc/{{ php_base_dir }}/apache2/php.ini
owner: root
group: root
mode: 0644
- name: Import php53
import_tasks: php53.yml
when: php_version|default('5.5') == '5.3'
- name: Configuration file, fcgid.conf
src: fcgid.conf
dest: /etc/apache2/mods-available/fcgid.conf
owner: root
group: root
mode: 0644
src: etc-php5-conf-d-{{ item }}.ini
dest: /etc/{{ php_base_dir }}/{{ php_conf_dir }}/{{ item }}.ini
owner: root
group: root
mode: 0644
- name: Create extra directory for browscap
dest: /etc/{{ php_base_dir }}/apache2/extra
state: directory
owner: root
group: root
src: browscap.ini
dest: /etc/{{ php_base_dir }}/apache2/extra/browscap.ini
owner: root
group: root
- name: Create htdocs directory for apc status
dest: /var/www/apc
state: directory
owner: www-data
group: www-data
- name: Copy APC status php script
src: apc.php
dest: /var/www/apc
owner: www-data
group: www-data
- name: Include oci version
include_tasks: oci-{{ php_version|default('5.5') }}.yml
when: repository is defined and php_needs_oci8

jurgenhaas
committed
- name: Include mcrypt
include_tasks: mcrypt-7.2.yml
when: php_version|default('5.5') == '7.2' and php_needs_mcrypt
- name: Import msodbc
import_tasks: msodbc.yml

jurgenhaas
committed
when: php_needs_msodbc
- name: Ensure ImageMagick config directory

jurgenhaas
committed
file:
dest: '{{ php_imagick_config_dir }}'
state: directory
owner: root
group: root
mode: 0755

jurgenhaas
committed
- name: ImageMagick Policy File

jurgenhaas
committed
template:
src: etc-imagemagick-policy.xml
dest: '{{ php_imagick_config_dir }}/policy.xml'
owner: root
group: root
mode: 0644
- name: 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: 0644
notify:
- name: Enable Apache PHP FPM Configuration
command: a2enconf php{{ php_version_main }}-fpm
args:
creates: /etc/apache2/conf-enabled/php{{ php_version_main }}-fpm{{ apache_conf_ext }}
notify:
- name: FPM Default Pool Configuration
src: php_pool.conf
dest: /etc/{{ php_base_dir }}/fpm/pool.d/www.conf
owner: root
group: root
mode: 0644

jurgenhaas
committed
when: (php_version_main|default(7) == 7) and php_fpm
- name: Set facts for PHP 7
set_fact:
phpLogRotatePrefix: '{{php_version|default("7.0")}}'
phpLibPrefix: ''
when: php_version_main|default(7) == 7
- name: Set facts for PHP 5
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
mode: 0644
- name: Explicitly set PHP version for CLI
alternatives:
name: php
path: /usr/bin/php{{ php_version }}