1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PowerCMSX + nginx 環境における Ubuntu 20.04 → 22.04 更新と PHP 8.0 → 8.2 更新

Posted at

はじめに

対象読者

  • PowerCMS X ユーザーで、
  • PowerCMS X の ver. が 3.1 / 2.71 以上で、
  • Ubuntu 20.04 で、
  • PHP 8.0.x で、
  • nginx 環境の人

補足

  • PowerCMS X ユーザーでなかったとしても PHP 8.0.x → PHP 8.2.x 更新手順については参考になるかとは思います
  • また PHP 8.0.x でなく 8.1.x からの更新でも同じはずです
  • なお PowerCMS X は ver. 3.1 / 2.71 から PHP 8.2 に対応しているので、本体の ver. には要注意です

この記事でやること

  • Ubuntu 20.04 を 22.04 へ更新しつつ、
  • PHP 8.2.x を nginx で動作させて PowerCMS X における実行まで見届ける

手順

Ubuntu 20.04 → 22.04

apt update && apt upgrade

  • まず以下コマンドを実行して手元の状態を最新にしておく
apt update
apt upgrade -y

再起動

  • 最新にしたら、一度再起動の実行
shutdown -r now

do-release-upgrade

  • おそらく Ubuntu 起動時に do-release-upgrade をおこなえと表示されているので、その通りにコマンドを実行
do-release-upgrade
  • あとは、対話形式で、既存の設定を残すか上書きするか、といったことを問われ続けるので、それに答えて対応を進める
  • それなりに時間がかかるので、一時間くらい継続して対応できる時におこなうのをオススメ

再起動

  • 最後まで終了したら、また再起動の実行
shutdown -r now

PHP 8.0 → 8.2

前置き

  • 以前、以下コマンドを実行して PHP 8.0 をインストールしている場合、既に 8.2 が追加されているはず
apt install software-properties-common
add-apt-repository ppa:ondrej/php

確認

  • 以下コマンドで確認
php -v

インストール

  • もし 8.2.x になっていなかったら、次の手順に従ってインストール
  • なっていたら不要
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt install php8.2
apt install php8.2-gd php8.2-fpm php8.2-mbstring php8.2-mysql php8.2-xml php8.2-zip

path 確認

  • 以下の path にファイルが存在していることを確認
/run/php/php8.2-fpm.sock

owner, group の設定

  • もし nginx ユーザーを www-data 以外のもの ( たとえば nginx など ) にしている場合は、上記 php8.2-fmp.sockowner, group をそれに準じて chown してください。例えば以下のように
chown nginx:nginx /run/php/php8.2-fpm.sock
  • また、以下の設定を書き換え
/etc/php/8.2/fpm/pool.d/www.conf
; 前略

user = nginx
group = nginx

; 中略

listen.owner = nginx
listen.group = nginx

; 後略

max_input_vars の設定

  • PowerCMS X 公式によると 'max_input_vars'の推奨値は2000以上 とのことなので、それに合わせて書き換えます。サーバスペック等に応じて必要な値を。
/etc/php/8.2/fpm/php.ini
; 前略

max_input_vars = 2000

; 後略

PHP-FPM 再起動

systemctl restart php8.2-fpm.service

apache2 無効化

systemctl disable --now apache2

nginx

設定書き換え

  • 以下のように 8.2 へ書き換える
    # 前略

    fastcgi_pass unix:/run/php/php8.2-fpm.sock;

    # 後略

再読込

  • さいごに nginx の再読込をおこなうと、ダッシュボードが表示されるようになるはず
nginx -s reload

確認

  • 以下の php を実行したときにインストール ver. が確認できる
    • いくつかのモジュール等は必須でないのでアラートが表示されていますが、必須のものだけ動いていればヨシ
https://example.com/pt-check.php

image.png

おわりに

感想

  • 以下関連記事にある、以前の PHP 7 → 8 移行の内容をほぼ使い回していますが、すんなりいきました。良かったです

関連記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?