WordPress管理画面で「PHPの更新が必要です」への対応でOSも18.04にバージョンアップした | そう備忘録

WordPress管理画面で「PHPの更新が必要です」への対応でOSも18.04にバージョンアップした

PHPの更新が必要です

このブログはWordPressで書いているのだが管理画面に「PHPの更新が必要です」のメッセージが表示されたので対応した時の備忘録。

WordPressでは5.2からサイトヘルスというツールが追加されていて、サイトの”健康状態”をモニターして教えてくれる機能がついたのだが、その健康チェックの一貫でPHPのバージョンが古いことを警告表示してくれたわけである。

PHPの更新が必要ですのメッセージ

このブログの環境

2020年6月19日の朝の段階での環境は以下の通り。

Server

AWS(Amazon Web Services) EC2(Elastic Compute Cloud)

OS

Ubuntu Server 16.04 LTS(HVM)64 bit

CMS

WordPress 5.4.2

PHP

7.0.33

レンタルサーバーを使っているとPHPは自動的にバージョンアップをしてくれる所もあるようだがAWSで自前でサーバーを立てているので、この辺のメンテナンスは自分で行う必要がある。

バージョンの確認方法

AWSのサーバーにターミナルソフト(PuTTY)でログインをして以下のコマンドでPHPのバージョンを確認した。

php -v

PHPのバージョンの確認方法

PHPのバージョンは7.0.33になっていた。

7.0のセキュリティサポートは調べてみると2018/12/03で終了していた。

バージョンアップ方針

早速PHPのバージョンアップを実施しようと思ったのだがOSのバージョンもUbuntu 16.04と古いのが気になった。

Ubuntu 16.04上でPHPのバージョンアップだけを実施するよりも、いっその事Ubuntuを18.04にバージョンアップすれば18.04のデフォルトのPHPは7.2(セキュリティサポート期限 2020.11/30)なので警告表示も消えるはずと思い、OSのバージョンアップを実施することにした。

そういえばAWSにログインをすると最初の画面で、”New Release 18.04.4 LTS available”と随分前から表示されていたのを今更ながら思い出した。

OSをバージョンアップしてWordPressが動かなくなるのが嫌でメッセージは放置していたのだが、このまま放置だとセキュリティリスクもあるのでこの際対応することにした。

バージョンアップ手順

Ubuntu OSのバージョンアップ手順は以下の通り。

  1. VM環境で事前チェック
  2. データベース、ファイルのバックアップ
  3. バージョンの事前確認
  4. updateとupgrade
  5. OSアップグレード(16.04→18.04)
  6. その他対応

VM環境で事前チェック

いきなり本番環境で実施するのも勇気がいるので、この後の「バージョンの事前確認」以降の手順をVM環境のUbuntuで事前に試してみている。

尚、VM環境の構築については過去のこちらの記事を参照

その際の画面ショット等は省略するがこの後の本番環境でのアップデートとほぼほぼ同じ手順でアップデートは終了している。

”ほぼほぼ”と言ったのは最後の所で若干、本番と動きが違ったから。

それについてはその他で後述する。

データベース、ファイルのバックアップ

VM環境で事前に試したのだが、更に念の為にデータベースと画像等のファイル類をバックアップする事にした。

バックアップはUpdraftPlusというプラグイン(詳しくはこちらの記事を参照)で毎週日曜日にWordPressのデータベースとファイル類をGoogle Driveにバックアップしているのだが直近のバックアップは2020年6月13日になっていた。

それから3つほど記事を書いているので念の為、WordPressの管理画面から設定ー>UpdraftPlus Backupsでプラグインの画面を表示して「今すぐバックアップ」をクリックする。

UpdraftPlusで今すぐバックアップ

  • バックアップにデータベースを含める
  • バックアップ内のすべてのファイルを含める
  • このバックアップをリモートストレージに送信

にチェックが入っていることを確認して「今すぐバックアップ」をクリックする。

今すぐバックアップ

バックアップは30分程で終了、Google Driveにバックアップされた。

このファイルが必要になる事が無いように祈る。

Google Driveにバックアップ

バージョンの事前確認

AWS EC2上のサーバーにターミナル(PuTTY)でログインをしてOSのバージョンを念の為、確認をする。

cat /etc/lsb-release

OSのバージョンの確認

16.04.3であることが確認できた。

updateとupgrade

update

下記のコマンドでパッケージ類のアップデートを行う。

sudo apt-get update

ここでちょっと問題が発生。phpmyamin用のパッケージ、

http://ppa.launchpad.net/nijel/phpmyadmin/ubun/dists/xenial/main/binary-amd64/Packages

が見つからないとのエラー。

phpmyaminのモジュールが無い

そういえばphpmyaminをインストールした時にリポジトリ登録をnijelからやった気がする

今は使っていないので削除する事にする。

nijel

cd /etc/apt/sources.list.d
sudo rm nijel*

再度updateを行い、今度は正常終了する事を確認した。

upgrade

続いてupgrade

sudo apt-get dist-upgrade

upgradeでは無くdist-upgradeを実行する事により、

  • 追加パッケージインストールや不要パッケージ削除
  • カーネル更新

を行ってくれるとのこと。

実はVM環境ではupgrade後にdo-release-upgradeを実行した所、アップグレード出来ない(画面ショット撮り忘れ)とのエラーが発生したのでdist-upgradeを実行した経緯がある。

dist-upgradeが無事に終了したので一度、OSを再起動している。

OSアップグレード

updateマネージャーのインストール

下記のコマンドで念の為、updateマネージャーをインストールする。

sudo apt-get install update-manager-core

しかし既にインストールされているとのメッセージだった。

OSアップグレード

いよいよ下記のコマンドでOSをUbuntu16.04から18.04にアップグレードした。

sudo do-release-upgrade

この際に-dオプションをつけると開発バージョンであっても強制的にアップグレードしてしまう事があるので付けない方が良い模様。

途中で、grubの新しいメニューリストに置き換えるか?の確認メッセージが表示されたので「今のローカルのバージョンを使用する」を選択した。

grub

十数分でアップグレードは終了して、OSが18.04、それに伴いPHPのバージョンは7.2.24になった。

OSがアップグレードされた

その他対応

PHPも7.2にバージョンアップされたのでWordPressの管理画面で確認をしたのだが最初の警告メッセージが相変わらず表示されていた。

VM環境ではこの様な事は無かったのだがどうやらWordPressからは相変わらずPHP7.0が見えている模様。

以下のコマンドでapacheから有効になっているPHPを確認した所、理由は不明だがphp7.0と7.2の両方が有効になっていた。

cd /etc/apache2/mods-enabled/
ls -l php*

php7.0が見えている

以下のコマンドでphp7.0を無効化してapacheを再起動する。

sudo a2dismod php7.0
sudo service apache2 restart

今度は警告メッセージが表示されなくなった。

最後に

phpのバージョンを7.2にした事によりWordPressの管理画面での警告メッセージは表示されなくなった。

しかしPHPの最新バージョンは7.4が出ている。

7.2のままだと今年の11月にはセキュリティサポートが切れてしまうのと7.3以降は早くなっているとの話もあるので別途バージョンアップを行おうと思っている。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。