PHP-FPMでphpをFastCGI化させます。

早くも、ApacheでのCGI実行時にphpのユーザーを任意に指定したいニーズが出てきちゃいまして、モジュール版でいいやとスルーしていた、FastCGIを利用することにしました。

もやは、説明は不要かと思いますが簡単に。

モジュール版のphpはApacheプロセス内で起動するのでメモリ効率が良く、軽いといわれる反面、phpの実行ユーザーなどがApacheユーザーと同じになり、複数者がサーバやサイトを管理する場合に、セキュリティ面からもあまり良くなくなってしまいます。

反面CGI版はApacheプロセスとは切り離されて稼働するので、一般的には負荷が高い反面、ユーザーポリシーなどの設定が自由にできちゃいます。

WordPressをインスコした際に、ファイルのパーミッションがらみで、サイトの管理ユーザーとCGIの実行ユーザーをあわせていきたいなぁと思い、今回の実施に至っています。

で、メジャーどころの、PHP-FPMを導入です。

sudo apt install php-fpm

いつものインストールで、最後に、メッセージが出現。

NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

これだけだと有効になってないので、このコマンドで有効化してね。とのこと。

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.4-fpm

実行しました。

次にモジュール版のphp7.4を停止します。

sudo a2dismod php7.4

Apacheの再起動。

sudo systemctl restart apache2

phpinfoをwebから実行してみると……

できました。CGI版で稼働しています。

次は、任意のユーザーでphpが実行できるようにしていきます。