はじめに
対象読者
- PowerCMS X ユーザー
- Ubuntu 18.04 → 20.04 へ更新しようとしている人
- かつ、更新の過程で古いパッケージ削除をおこないたい人
環境
- PHP 7.3 以前
- おそらく PHP 7.4 環境の場合は古いパッケージ削除に該当しないので問題が起きないものと思います
- nginx で PHP-FPM
- apache 環境の人は完全にはあてはまらないかもしれません
注意
PHP が消されるので入れ直す
前提
- 更新時に古いパッケージを削除しますか? と訊かれるが、その際に yes として進めると、 PHP7.3 以前のものとそれに関連する PHP-FPM を削除されてしまう
- つまり no として進めれば特に問題は起こらない
PHP の ver. について
- 現時点 2020/06/28 では PowerCMS X 側が対応していませんので PHP 8.x 系は避けましょう
- PHP 8 の α 版は 2020/06/25 にリリースされました
PHP7.4 インストール
本体インストール
コマンド
apt install php
他モジュールのインストール
コマンド
apt install php-fpm php-json php-gd php-mbstring php-mysql php-xml php-zip
path 確認
- 以下の path にファイルが存在していることを確認
/run/php/php7.4-fpm.sock
owner, group の確認
- もし nginx ユーザーを www-data 以外のもの ( たとえば nginx など ) にしている場合は、上記 php7.4-fmp.sock の owner, group をそれに準じて chown してください
- また、以下の設定を書き換えてください
/etc/php/7.4/fpm/pool.d/www.conf
; 前略
user = nginx
group = nginx
; 中略
listen.owner = nginx
listen.group = nginx
; 後略
PHP-FPM 再起動
systemctl restart php7.4-fpm.service
apache2 無効化
コマンド
systemctl disable --now apache2
nginx
設定書き換え
- 以下のように 7.4 へ書き換える
# 前略
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# 後略
再読込
- さいごに nginx の再読込をおこなうと、ダッシュボードが表示されるようになるはずです
nginx -s reload
おわりに
感想
- まったく予期していなかったので、更新後にダッシュボードが表示されなくなってギョッとしました……
- また、他モジュール ( php-mbstring やら php-mysql やら php-xml やら ) をインストールすることを忘れていたり、 php7.4-fpm.sock ファイルの owner, group の書き換え忘れで permission denied くらったりで、何ヶ所もハマりポイントが出てしまい、複合的にやられたので対応に時間がかかってしまいました
- PowerCMS X は 2018/06 の初回環境構築以来、ずっと Ubuntu 18.04, PHP 7.2 という状態で走ってきていたので、綺麗な身にする良い機会となりました
- また、初回環境構築の際に手順を残していなかったので、それもまた良い機会となりました……猛省
次の記事
-
PowerCMSX+Ubuntu20.04+nginx環境におけるPHP7→8移行
- さらに PHP 8.0 へ ver.up したい方はこちらもあわせてご覧ください