Linux. Ubuntu 16.04. Установка и настройка Apache2 + mod_php + PHP-FPM (PHP7)

Задача настроить Apache2 на работу с mod_php по молчанию + php-fpm по сокету.

Установка Apache

apt update
apt install apache2

Установка PHP, PHP-FPM

apt install php php-fpm php-cli php-curl php-gd php-mcrypt php-mysql php-mbstring php-xml php-zip

Включаем дополнительные модули

sudo a2enmod actions fastcgi alias proxy_fcgi

Добавляем в автозапуск apache2 и php7.0-fpm

update-rc.d apache2 defaults
update-rc.d php7.0-fpm defaults

Перезапуск сервисов

service apache2 restart
service php7.0-fpm restart

После этого, mod_php будет работать по умолчанию. Чтобы включить php-fpm, нужно в конфиг apache хоста добавить несколько строк:

Пример виртуального хоста:

<VirtualHost *:80>
	ServerName test.local
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/test.local
	#LogLevel info ssl:warn
	ErrorLog ${APACHE_LOG_DIR}/test.local-error.log
	CustomLog ${APACHE_LOG_DIR}/test.local-access.log combined
	<FilesMatch "\.php$">
            	#SetHandler "proxy:fcgi://127.0.0.1:9000/"
		SetHandler  "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost/"
        </FilesMatch>
</VirtualHost>

PHP-FPM по умолчанию

Если требуется включить php-fpm по умолчанию, а mod_php выключить, тогда

a2dismod php7.0
a2enconf php7.0-fpm

https://help.ubuntu.ru/wiki/php
https://wiki.apache.org/httpd/PHP-FPM#Proxy_via_handler
http://fkn.ktu10.com/?q=node/9358
https://www.server-world.info/en/note?os=Ubuntu_16.04&p=httpd&f=16