Upgrade Apache to 2.4 from 2.2 on Arch Linux, using PHP-FPM

Since the first article, more than six weeks ago, Apache has been updated to version 2.4.9 which allows for a simpler configuration with php-fpm, mod_proxy_fcgi and mod_proxy_handler.

The following setup does not use mod_php, which requires mod_mpm_prefork and ProxyPassMatch directives as shown in my first article.

First, install php-fpm and mod_proxy_handler (the latter comes from AUR).

# yaourt -S php-fpm mod_proxy_handler

Then update /etc/php/php-fpm.conf:

listen =
;listen = /run/php-fpm/php-fpm.sock
listen.allowed_clients =

In the main Apache configuration file located at /etc/httpd/conf/httpd.conf, no more need to use mpm_prefork_module and ProxyPassMatch. Just append the following:

LoadModule proxy_handler_module modules/
<filesmatch .php="">
    SetHandler "proxy:fcgi://"

Verify that the following line is active (uncommented) as it should be by default:

LoadModule proxy_fcgi_module modules/

Edit the dir_module directive:

<ifmodule dir_module="">
    DirectoryIndex index.php index.html

Remove or comment out the php module if you had it in your old config:

#LoadModule php5_module modules/
#Include conf/extra/php5_module.conf

Restart apache and php-fpm:

# systemctl restart httpd.service php-fpm.service

If it is your first installation of php-fpm and you use Apache often, you might want to start its daemon automatically:

# systemctl enable php-fpm.service