Newer
Older
# see https://www.howtoforge.com/how-to-use-multiple-php-versions-php-fpm-and-fastcgi-with-ispconfig-3-ubuntu-12.10
---
# file: roles/php/tasks/php53.yml
- name: "Ensure PHP53 config directory"
file:
dest='{{ item }}'
state='directory'
with_items:
- name: "Check PHP 5.3 Requirement"
shell: php --version
register: php_version_available
changed_when: false
- block:
- name: "Package Preferences"
template:
src='preferences/{{ item }}'
dest='/etc/apt/preferences.d/{{ item }}-pin'
owner='root'
group='root'
mode='644'
with_items:
- 'openssl'
- 'libssl'
- name: "Install Packages"
apt:
pkg={{ item }}
state=installed
with_items:
- 'build-essential'
- 'libfcgi-dev'
- 'libfcgi0ldbl'
- 'libjpeg62-dbg'
- 'libmcrypt-dev'
- 'libssl-dev'
- 'libc-client2007e'
- 'libc-client2007e-dev'
- 'libxml2-dev'
- 'libcurl4-openssl-dev'
- 'libpng-dev'
- 'autoconf2.13'
- 'automake1.4'
- name: "Link Client Lib"
file:
src='/usr/lib/x86_64-linux-gnu/libc-client.a'
dest='/usr/lib/libc-client.a'
state='link'
force=yes
- name: "Make sure an empty directory /tmp/php53 exists"
file:
path='/tmp/php53'
state='{{ item }}'
with_items:
- absent
- directory
- name: "Download PHP 5.3"
get_url:
url='http://in1.php.net/distributions/php-5.3.29.tar.bz2'
dest='/tmp/php-5.3.29.tar.bz2'
- name: "Unpack PHP 5.3"
unarchive:
src='/tmp/php-5.3.29.tar.bz2'
dest='/tmp/php53'
copy=no
- name: "Compile PHP 5.3"
shell: "{{ item }} chdir=/tmp/php53/php-5.3.29"
with_items:
- ./configure --with-libdir=/lib/x86_64-linux-gnu --enable-fpm --enable-mbstring --enable-sockets --with-zlib --enable-zip --with-imap-ssl --with-imap --with-curl --with-mcrypt --with-gd --with-mysql --with-pdo-mysql --with-mysqli --with-gettext --with-jpeg-dir=/usr --with-png-dir=/usr --with-kerberos --with-openssl --disable-cgi
- name: "Create PHP53 Start Script"
template:
src='etc-init-d-php53-fpm'
dest='/etc/init.d/php-fpm'
owner='root'
group='root'
mode='755'
- name: "Add PHP-FPM to Boot-List"
command: update-rc.d php-fpm defaults
when: '"PHP 5.3.29" not in php_version_available.stdout'
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
- name: "Copy PHP53 Libraries"
copy:
src='php53/libs/{{ item.file }}'
dest='{{ php53.libdir }}/{{ item.file }}'
owner='root'
group='root'
mode='644'
with_items: '{{ php53.libraries }}'
- name: "Ensure PHP53 Library Links"
file:
src='{{ php53.libdir }}/{{ item.file }}'
dest='{{ php53.libdir }}/{{ item.link }}'
state='link'
owner='root'
group='root'
mode='644'
with_items: '{{ php53.libraries }}'
- name: "Ensure extra Library Links"
file:
src='{{ item.src }}'
dest='{{ php53.libdir }}/{{ item.link }}'
state='link'
owner='root'
group='root'
mode='644'
with_items: '{{ php53.liblinks }}'
- name: "Copy PHP53 Modules"
copy:
src='php53/{{ item }}.so'
dest='{{ php53.extdir }}/{{ item }}.so'
owner='root'
group='root'
with_items: '{{ php53.modules }}'
- name: "Create PHP53 INI Files"
template:
src='etc-php5-apache2-php.ini'
dest='/etc/php5/{{ item }}/php.ini'
owner='root'
group='root'
mode='644'
with_items:
- 'cgi53'
- 'cli53'