diff --git a/defaults/main.yml b/defaults/main.yml
index f86bab6fca85bc233337645d7a6fec2374dbfba9..e2ab5b9cdffbfc3b69ecfe651fad951e195c9699 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -24,9 +24,29 @@ php_session_cache_expire: '180'
 php_expose_php: 'Off'
 php_browscap: false
 php_sendmail_path: ''
+php_short_open_tag: 'Off'
 
 # apc.ini
 apc_rfc1867: '1'
 apc_shm_size: '256M'
 apc_shm_segments: '1'
 apc_num_files_hint: '0'
+
+# php 5.3
+php53:
+  modules:
+    - 'apc'
+    - 'curl'
+    #- 'gd' (needs libgd.so.2)
+    #- 'imagick'
+    - 'imap'
+    #- 'json'
+    - 'mcrypt'
+    #- 'memcached'
+    - 'mysql'
+    - 'mysqli'
+    - 'pdo_mysql'
+    #- 'readline'
+    - 'redis'
+    - 'xmlrpc'
+  extdir: '/usr/local/lib/php/extensions/no-debug-non-zts-20090626'
diff --git a/files/php53/apc.so b/files/php53/apc.so
new file mode 100644
index 0000000000000000000000000000000000000000..086f2fd9af3ec1a679259cbeeb45bf5b66c87922
Binary files /dev/null and b/files/php53/apc.so differ
diff --git a/files/php53/curl.so b/files/php53/curl.so
new file mode 100644
index 0000000000000000000000000000000000000000..8b901183034d2bdfb5a4c51917c93212a61ac9df
Binary files /dev/null and b/files/php53/curl.so differ
diff --git a/files/php53/gd.so b/files/php53/gd.so
new file mode 100644
index 0000000000000000000000000000000000000000..e8e34c401b846d39a4d5dad984360a5434b8bbfa
Binary files /dev/null and b/files/php53/gd.so differ
diff --git a/files/php53/imap.so b/files/php53/imap.so
new file mode 100644
index 0000000000000000000000000000000000000000..8b8febfbcf642cc23797a61c71026985bc79a743
Binary files /dev/null and b/files/php53/imap.so differ
diff --git a/files/php53/mcrypt.so b/files/php53/mcrypt.so
new file mode 100644
index 0000000000000000000000000000000000000000..df696dacc42fca39c45292f342414642ed7c3578
Binary files /dev/null and b/files/php53/mcrypt.so differ
diff --git a/files/php53/mysql.so b/files/php53/mysql.so
new file mode 100644
index 0000000000000000000000000000000000000000..51df751845c7aec90783e2d5c3b11d880b797e19
Binary files /dev/null and b/files/php53/mysql.so differ
diff --git a/files/php53/mysqli.so b/files/php53/mysqli.so
new file mode 100644
index 0000000000000000000000000000000000000000..a9669d09eb96a73539c7156e4869375fcb052f73
Binary files /dev/null and b/files/php53/mysqli.so differ
diff --git a/files/php53/pdo_mysql.so b/files/php53/pdo_mysql.so
new file mode 100644
index 0000000000000000000000000000000000000000..19cfc3dbe4e66636556137a8c3abe39320c8e6ed
Binary files /dev/null and b/files/php53/pdo_mysql.so differ
diff --git a/files/php53/redis.so b/files/php53/redis.so
new file mode 100755
index 0000000000000000000000000000000000000000..b1582d3cfda3291cd967387e15f9489daeee1a25
Binary files /dev/null and b/files/php53/redis.so differ
diff --git a/files/php53/xdebug.so b/files/php53/xdebug.so
new file mode 100644
index 0000000000000000000000000000000000000000..21c77b872ee507b550f421cdb4b228741e4cda90
Binary files /dev/null and b/files/php53/xdebug.so differ
diff --git a/files/php53/xmlrpc.so b/files/php53/xmlrpc.so
new file mode 100644
index 0000000000000000000000000000000000000000..f11ccffa7e3e561abe86ef5d55a9131f87e13ded
Binary files /dev/null and b/files/php53/xmlrpc.so differ
diff --git a/tasks/php.yml b/tasks/php.yml
index c63eb18489dab44f35d04839bc96e65cb2e07381..8720172ff49eb8f3e7b303ceefa6c9ebba073c47 100644
--- a/tasks/php.yml
+++ b/tasks/php.yml
@@ -1,19 +1,6 @@
 ---
 # file: roles/php/tasks/php.yml
 
-# TODO: optionally install PHP 5.3
-# http://aw1.aweb1.paragon-es.de/index.php
-
-# http://askubuntu.com/questions/462673/installing-php-5-3-in-ubuntu-14-04
-# apt-get purge php5 && sudo apt-get install libxml2-dev
-# wget http://in1.php.net/distributions/php-5.3.29.tar.bz2
-# tar -xvf php-5.3.29.tar.bz2
-# cd php-5.3.29
-# ./configure
-# make
-# make install
-
-
 - name: "PHP | Install required packages."
   apt:
     pkg={{ item }}
@@ -57,6 +44,9 @@
   notify:
     - "PHP | Restart Apache"
 
+- include: php53.yml
+  when: php_version|default('5.5') == '5.3'
+
 - name: "PHP | Configuration file, fcgid.conf"
   template:
     src=fcgid.conf
diff --git a/tasks/php53.yml b/tasks/php53.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6805e79cfeca2d847aba7c8b7f0184822194b1c4
--- /dev/null
+++ b/tasks/php53.yml
@@ -0,0 +1,19 @@
+---
+# file: roles/php/tasks/php53.yml
+
+- name: "Ensure PHP53 config directory"
+  file:
+    dest='{{ item }}'
+    state='directory'
+  with_items:
+    - '/etc/php5/cli53/conf.d/'
+    - '/etc/php5/cgi53/conf.d/'
+
+# http://askubuntu.com/questions/462673/installing-php-5-3-in-ubuntu-14-04
+# apt-get purge php5 && sudo apt-get install libxml2-dev
+# wget http://in1.php.net/distributions/php-5.3.29.tar.bz2
+# tar -xvf php-5.3.29.tar.bz2
+# cd php-5.3.29
+# ./configure
+# make
+# make install