Apache 2.4 で PHP (mod_php) が動かなくなってた件

先日の件はPHP-FPM に切り替えることで対処。

pkgsrc/www/php-fpm をインストール。
/etc/rc.conf に php_fom=YES を追加して php-fpm を起動。

/usr/pkg/etc/httpd/httpd.conf で以下のモジュールを有効に。

LoadModule proxy_module lib/httpd/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/mod_proxy_fcgi.so

php5_module の設定が残っている場合は削除。

Apache の ProxyPassMatch ディレクティブを使ってPHP ファイルへのアクセスを php-fpm へ転送する設定。ProxyPassMatch の第1引数は URL のルートからのパスにマッチする正規表現、第2引数の fcgi://127.0.0.1:9000 以降は対応する PHP ファイルの絶対パスを指定する。

ProxyPassMatch ^/~alice/(.*\.php)$ fcgi://127.0.0.1:9000/home/alice/public_html/$1

…userdir が絡むと面倒だな。