Virtualmin. Допиливаем правильную работу CGI и FCGId в Ubuntu 16.04 и 18.04

При установке свежего пакета Virtualmin на, опять же, свежеустановленные дистрибутивы  Ubuntu 16.04 или 18.04 при попытке выбора варианта работы php как CGI или же FCGId возникает ошибка. Значение выбирается, но после этого сайт не работает, начинает скачивать код страницы на php. Ошибка возникает из-за того, что mod_php прописан глобально и имеет более высокий приоритет по сравнению с CGI и FCGId. Если выбрать вариант работы сайта как CGI или FCGI, в файл apache vhost для конкретного сайта добавляется следующая строка вида:

php_admin_value engine Off

php_admin_value engine OffЭта строка отключает mod_php для сайта. В результате, когда apache получает запрос, все равно он обрабатывает запрос с помощью mod_php, но затем vhost config отключает php строкой выше и, в результате мы видим код php вместо страницы.

Для того, чтобы убрать эту ошибку необходимо закомментировать строки, которые глобально включают mod_php в файле  /etc/apache2/mods-enabled/php7.2.conf или другом  конфигурационном файле, в зависимости от версии php. Это может быть и 5.6 и 7.0  и 7.2 как в приведенном примере.

01 <FilesMatch ".+\.ph(ar|p|tml)$">
02 #    SetHandler application/x-httpd-php     # вот тут ставим комментарий
03 </FilesMatch>
04 <FilesMatch ".+\.phps$">
05 #    SetHandler application/x-httpd-php-source   # и тут
06    # Deny access to raw php sources by default
07    # To re-enable it's recommended to enable access to the files
08    # only in specific virtual host or directory
09    Require all denied
10</FilesMatch>

После этого необходимо перезагрузить apache командой:

$ sudo service apache2 restart 

и наслаждаться правильно работающими CGI и FCGId режимами.