PHPをバージョンアップしてWordPressを最新化!!!

2019年10月23日

スポンサーリンク

今回はWordPressバージョンアップのお話です。
今まで、PHPバージョンが古くて、WordPressの最新化ができず、一部プラグインを有効にできなかったのですが…

本日、PHPを5.4.16から一気に7.3.10へバージョンアップしました〜。
そして、WordPressも最新の5.2.4へバージョンアップ完了ですっ!
これで、停止状態だったプラグイン(Jetpack)も無事に有効化できました。(細かい設定はまだできていませんが…)

特に、大きな問題も起こらずに終わりましたが、
一応、作業手順を残して置こうと思います。

スポンサーリンク

バージョンアップ背景

このWordPressサイトは、VPS上に自分で環境を構築しています。
PHPの最新は7系ですが、CentOS7の初期では5.4がインストールされます。
 最新はPHP7なのに、なぜデフォルトはこんなに古いんでしょうね?
私の場合、特に気にせずにそのままWordPressをインストールして使っていましたが、
前述の様にJetpackプラグインを入れてみたら、バージョンが古くて有効化できませんでした。
他にも、セキュリティの面から考えてもWordPressは最新化しておいた方が良いかな〜と思い、バージョンアップに踏み切りました。

まずは安全のためにローカル環境でテスト

現状は、アクセス数も少ないし、WordPress以外は動かしていないので、
一気に本番サーバーでバージョンアップを行なっても良かったのですが、
念の為に、一度ローカルでテストすることにしました。

Dockerでローカル環境構築

ローカル環境の構築方法は少し悩んだのですが、DockerでCentOS7のイメージから構築することにしました。
ざっくり実行コマンドはこんな感じ

# CentOS7のイメージを取得
$ docker pull centos:centos7
# コンテナの作成 & 起動
$ docker run -d --privileged -p 8080:80 --name centos7 centos:centos7 /sbin/init
# コンテナ内へ入る
$ docker exec -it centos7 /bin/bash
# ここからバージョンアップ前のWordPress環境と同じものを構築。(手順は省略) 

こんな感じで、一旦バージョンアップ前と同じ環境を構築。

Docker で systemctlがエラーになる

前述のコマンドを行えば、環境構築を行うことができますが…
実は、systemctlが実行できない!!!という現象が起こってしまいました。
そこで少し調べたところ、以下のサイトで解決法を発見。
   CentOS7のコンテナでsystemctlを使うための方法
このサイトのお陰で、自分で調査する手間が省けて良かったです。
自分で調査していたら、めちゃくちゃ時間が掛かっていたと思います。
ポイントは、コンテナ作成時の “–privileged" と “/sbin/init" です。

ローカルWordPressを表示

特に問題なく環境が構築されて入れば、ローカルでWordPressが見れるはずなので確認します。
アドレスは http://localhost:8080/wordpress/ です。
ちゃんとアクセスできたら、一通りWordPressの設定を行い、いくつか記事を作成。
これで、準備完了です。

PHPを7.3へバージョンアップ

さて、いよいよPHPのバージョンアップを実行

# EPELリポジトリとREMIリポジトリ追加
$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# PHP7.3インストール
$ yum install --enablerepo=remi-php73 php
# ちゃんとインストールされたか確認(バージョンが7.3になってればOK)
$ php --version
# Apache再起動
$ systemctl restart httpd

はい、これで完了です。
特に何の問題もなく、終わりました。

再度、ローカルWordPressへ

そして、再度、ローカルWordPressが見れるか確認。
基本的には、これでPHP7.3でWordPressが動いているはず。。。
WordPressの更新を確認して、最新に更新できるようになっていればOKです。
臆せず更新しちゃいましょう!
……
更新が問題なく完了し、一通り問題なく動いている様なら、万事OK。

本番へ…

ローカル環境で問題が無いことが確認できましたので、本番環境でもバージョンアップしちゃいましょう。

さいごに

今回は、一回限りの確認のために作業をしたので、ローカル環境は破棄する方針で行いましたが、できれば、ローカル環境はちゃんとイメージとして残しておいた方が良いですね。
その方が、プラグインの導入テストとか、テーマ変更とか各種設定とか色々心置きなくいじれますから。
ただ、その場合は、わざわざDockerを使わず、Local by Flywheel を使う方が楽だと思います。

ところで、最新のWordPressで記事を書こうとしたら、UIが全然違っててビックリしました…使い方が把握できないです…これは少し慣れるまで試行錯誤しそうですね。

さ〜とりあえず、本格的にWordPressやプラグインの設定を本格的に進めますかね〜

スポンサーリンク