From 53745a9baa7af586d84e579e42474f31a3965b2e Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Thu, 18 Jan 2018 15:47:17 +0100 Subject: [PATCH] Optionally run PHP FPM over a socket --- defaults/main.yml | 2 ++ tasks/php.yml | 19 +++++++++++++++++++ templates/etc-apache2-conf-available-php-fpm | 10 ++++++++++ templates/php_pool.conf | 4 ++++ 4 files changed, 35 insertions(+) create mode 100644 templates/etc-apache2-conf-available-php-fpm diff --git a/defaults/main.yml b/defaults/main.yml index 892ccdf..6603667 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,6 +1,8 @@ php_version: '7.0' php_version_main: '7' +php_fpm_socket: false + php_install_redis: true php_hold_version: false php_repositories: [] diff --git a/tasks/php.yml b/tasks/php.yml index 57de4ca..21d5c75 100644 --- a/tasks/php.yml +++ b/tasks/php.yml @@ -127,6 +127,25 @@ group=root mode='644' +- 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 + - name: "PHP | FPM Default Pool Configuration" template: src=php_pool.conf diff --git a/templates/etc-apache2-conf-available-php-fpm b/templates/etc-apache2-conf-available-php-fpm new file mode 100644 index 0000000..495e4c2 --- /dev/null +++ b/templates/etc-apache2-conf-available-php-fpm @@ -0,0 +1,10 @@ +<IfModule mod_fastcgi.c> + AddHandler php{{ php_version_main }}-fcgi .php + Action php{{ php_version_main }}-fcgi /php{{ php_version_main }}-fcgi + Alias /php{{ php_version_main }}-fcgi /usr/lib/cgi-bin/php{{ php_version_main }}-fcgi + FastCgiExternalServer /usr/lib/cgi-bin/php{{ php_version_main }}-fcgi -socket /var/run/php{{ php_version_main }}-fpm.sock -pass-header Authorization + + <Directory /usr/lib/cgi-bin> + Include /etc/apache2/{{ apache_conf_dir }}/global-deny.conf + </Directory> +</IfModule> diff --git a/templates/php_pool.conf b/templates/php_pool.conf index 6bf0674..36563fa 100644 --- a/templates/php_pool.conf +++ b/templates/php_pool.conf @@ -3,7 +3,11 @@ user = www-data group = www-data ;chroot = /var/www{{apache_server_default_root|default('')}} chdir = / +{% if php_fpm_socket %} +listen = /var/run/php{{ php_version_main }}-fpm.sock +{% else %} listen = 127.0.0.1:9000 +{% endif %} ; Process manager pm = dynamic -- GitLab