【GCP】Google Cloud(Compute Engine)の WordPress で PHP をアップデートする手順

GCP WordPress PHPアップデート手順

2026年10月21にPHPに深刻な脆弱性があると公表されました。WordpressはPHPを使用しえいるため、不正アクセスやサイト改ざんを防ぐため速やかなバージョンアップが必要です。

とはいえ、PHP の更新は「コマンド操作で失敗したらどうしよう」「サイトが真っ白になって動かなくなったら怖い」と不安になりがちな作業です。

そこで本記事では、Google Cloud(Compute Engine)で運用している WordPress サイトを対象に、万が一のトラブルに備えた事前バックアップ(スナップショット)の作成から、安全な PHP の更新、万が一エラーが起きたときのロールバック(復元)手順までを分かりやすく解説します。。

もくじ

1. 全体の作業フロー

作業は大きく分けて以下の 4 ステップです。作業時間は約 15 分、Web サーバーの再起動に伴うサイトの停止時間は数秒〜数分程度です。

  1. バックアップ取得: Google Cloud コンソールからスナップショットを作成(安全のためのセーブデータ)。
  2. ブラウザ SSH 接続: サーバーに接続し、最新 PHP パッケージを導入。
  3. Web サーバー切り替え: 古い PHP モジュールを無効化し、新バージョンを有効化して Apache を再起動。
  4. 動作確認と後片付け: ブログの表示を確認し、数日後に不要なスナップショットを削除。

2. 作業前の安全対策:スナップショットの取得

プラグインやテーマの非互換性で画面が真っ白になっても、スナップショットがあれば数分で元の状態に戻せます。

  1. Google Cloud コンソール を開きます。
  2. [Compute Engine] > [ストレージ] > [スナップショット] を選択します。
  3. [スナップショットを作成] をクリックします。
    • 名前: wordpress-pre-php-update
    • ソースディスク: 対象 VM(例: wordpress-1-vm)のブートディスクを選択
  4. [作成] をクリックし、ステータスが緑色の完了マークになるのを待ちます。
GCPスナップショット
Computer Engine スナップショット
GCPスナップショット設定
Computer Engine スナップショット設定

3. PHP アップデート手順(ブラウザ SSH 経由)

ステップ 1: VM に接続

[Compute Engine] > [VM インスタンス] 一覧を開き、対象 VM の右側にある [SSH] ボタンをクリックしてブラウザ上のターミナルを開きます。

GCP SSH起動
GCP SSH起動

現在動いている PHP バージョンを確認しておきます。

php -v

(例: PHP 7.4.33 や PHP 8.0.x などが表示されます)

ステップ 2: PHP 8.2 のインストールと Apache の切り替え

以下のコマンドを実行して、PHP 8.2 本体と WordPress の動作に必要なモジュールをインストールします。

# 1. パッケージ一覧の更新
sudo apt-get update

# 2. PHP 8.2 本体と必須拡張モジュールのインストール
sudo apt-get install -y php8.2 php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip libapache2-mod-php8.2

ステップ 3: Apache の切り替えと再起動

古い PHP モジュールを無効化し、新しい PHP 8.2 を有効化します。

# 古いモジュールの無効化(例: PHP 7.4 からの切り替えの場合)
# ※ 現在のバージョンに合わせて php7.4 や php8.0 を指定してください
sudo a2dismod php7.4

# 新しいモジュールの有効化
sudo a2enmod php8.2

# Apache を再起動して反映
sudo systemctl restart apache2

4. つまずきポイント:404 Not Found エラーが出た場合

Debian 11 (Bullseye) などの古い OS 環境で apt-get update を行うと、セキュリティリポジトリの URL 変更などにより以下のような 404 Not Found が出ることがあります。

Err:1 https://deb.debian.org/debian-security bullseye-security/main ... 404 Not Found

【対処法】

  • すでに必要な PHP パッケージがインストールできる状態であれば、一部の補助ツールやアーカイブ化されたリポジトリの 404 エラーは一旦スキップしても問題ありません。
  • パッケージ取得そのものが止まってしまう場合は、/etc/apt/sources.list 内の該当リポジトリ指定を archive 向けに修正するか、OS 自体のアップグレード(Debian 12 Bookworm 等)を検討してください。

5. マイナーバージョン(8.2.x や 8.3.x 内)の更新方法

すでに PHP 8.2 や 8.3 が入っており、同じバージョン系列内のセキュリティパッチ(マイナーアップデート)を適用したい場合は、以下のコマンドだけで完了します。

sudo apt-get update
sudo apt-get --only-upgrade install -y 'php8.2*'
sudo systemctl restart apache2
php -v

6. 動作確認と後片付け

  1. サイトヘルス確認:WordPress 管理画面(/wp-admin)の [ツール] > [サイトヘルス] > [情報] > [サーバー] を開き、PHP バージョンが 8.2.x 等に切り替わっているか確認します。併せてフロント画面が正常に表示されるかチェックしてください。
  2. SSH 画面の終了:ターミナルで exit と入力するか、ブラウザの SSH ウィンドウを閉じます。
  3. スナップショットの削除(数日後):サイトが 2〜3 日間問題なく稼働したことを確認したら、[Compute Engine] > [スナップショット] から作成したスナップショットを削除します(保管コストの削減)。
GCPスナップショット削除
GCPスナップショット削除

役に立ったらシェア!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


もくじ