前回の ブログ で記載した件で、配慮が足りない部分がありましたので今回追記しようと思います。
前回の巻でPHP-FPMの実行ユーザ権限については何も触っていませんので、そのまま使用するとPHPのデフォルトユーザーのままになっていると思います。特に問題がない場合はこれでもいいのですが、パーミッションの調整を行っていたりした場合には、CMSでの動作時にファイルの書き込みができないというケースもあるかと思います。
ですので、今回はPHP-FPMの実行ユーザ権限を自分(仮にjiiji)に変更します。
1)PHP-FPMのconfigを追加
PHP-FPM設定ファイルを追加する必要がありますので、今回はコマンドで行います。
cd /etc/opt/remi/php80/php-fpm.d cp -p www.conf www-dev.conf
設定ファイルをコピーして使用します。
2)PHP-FPMのconfigの設定変更
vi www-dev.conf
設定ファイルを開き、以下のように変更しました。
********************************************************************* [www] ↓ [www-dev] ********************************************************************* user = apache ↓ user = jiiji group = apache ↓ group = jiiji ********************************************************************* listen = /var/opt/remi/php80/run/php-fpm/www.sock ↓ listen = /var/opt/remi/php80/run/php-fpm/www-dev.sock ********************************************************************* slowlog = /var/opt/remi/php80/log/php-fpm/www-slow.log ↓ slowlog = /var/opt/remi/php80/log/php-fpm/www-dev-slow.log ********************************************************************* php_admin_value[error_log] = /var/opt/remi/php80/log/php-fpm/www-error.log ↓ php_admin_value[error_log] = /var/opt/remi/php80/log/php-fpm/www-dev-error.log php_value[session.save_path] = /var/opt/remi/php80/lib/php/session ↓ php_value[session.save_path] = /var/opt/remi/php80/lib/php/dev/session *********************************************************************
-
-
- 実行ユーザ権限の変更
- ソケットの変更
- 出力ログの変更
- セッションディレクトリの追加
-
上記を行なっています。
3)セッションディレクトリを追加
先程セッションディレクトリ指定を変更しましたので、以下のようにディレクトリを追加します。併せてオーナー権限もユーザーの権限に変更します。
cd /var/opt/remi/php80/lib/php mkdir -p dev/session chown -R jiiji:jiiji dev/session
4).htaccessを変更
前回の巻でディレクトリごとに使用するPHPを変更するために、.htaccessに使用するソケットを指定する記述をしていましたので、それを変更します。
vi .htaccess <FilesMatch \.(php|phar|html)$> SetHandler "proxy:unix:/var/opt/remi/php80/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> ↓ <FilesMatch \.(php|phar|html)$> SetHandler "proxy:unix:/var/opt/remi/php80/run/php-fpm/www-dev.sock|fcgi://localhost" </FilesMatch>
5)ApacheとPHP-FPMを再起動
設定ファイルを追加しましたので、PHP-FPMとApacheを再起動します。
6)ソケット追加の確認
再起動後にソケットのファイルが作成できているかを確認します。
cd /var/opt/remi/php80/run/php-fpm ls total 4 -rw-r--r-- 1 root root 5 Aug 25 12:35 php-fpm.pid srw-rw----+ 1 root root 0 Aug 25 12:35 www-dev.sock srw-rw----+ 1 root root 0 Aug 25 12:35 www.sock
上記のような感じでソケットが作成されていると思います。
7)phpinfoでのPHPバージョン確認
該当ディレクトリでphpinfoを表示して、自分が思っているPHPバージョンで動作しているかを確認します。
8)CMSで各種動作を確認
自分が思っているPHPバージョンで動作しているCMSで各種動作(例:投稿追加・削除、画像追加・削除、プラグイン追加・削除)などが実行できるかを確認します。