はい。やっとWordPressの更新に戻ってまいりました。
管理サイトに「WordPress 6.9.4 が利用可能です!今すぐ更新してください。」と表示されたので、更新しようと思ったところ、「重要:更新する前に、データベースとファイルをバックアップしてください。」と警告されまして、そういえばバックアップしてないやというのが前回までにバックアップの仕組みを構築しました。(バックアップの記事はこちら)
で、バックアップができたので、さてWordPressを更新しようとしたところ・・・

赤枠の部分に注目すると、ホスト名とFTPユーザー名、FTPパスワードを入力しろと出ています。FTPというのはファイル転送のプロトコルですね。しかし、このサーバーはAWS上で運用されており、FTPポートは開いていないはずです。つまりFTPで接続できない。
WordPressを更新するのにFTPが必要?今さらFTPポートを開けろってこと?ちょっと意味がわからないのでチャッピーに相談してみました。チャッピー曰く、
👉 「そもそもFTPを使わせようとしてる状態が異常」
とのこと。WordPressの更新ができないので、FTPでやってって言われている状態のようです。つまりFTPしないといけないのではなく、そもそもWordPressの更新ができないのが問題というわけ。
更新ファイルはWordPressの公式にあるようで、そこにHTTPSで問い合わせて更新に必要なファイルは取れる模様(たぶん)。ただそれをサーバーのWordPressに反映する権限がないんじゃないかというのがチャッピーの見解です。
現在の設定を確認してみる
権限周りの問題なので、とりあえず現在の状況を確認してみます。果たして本当にWordPress(ユーザー)に更新権限がないのか。
AWS上のEC2サーバーなので、AWSコンソールのEC2サービスからSSMで接続します。
どうやら/var/www/htmlが更新権限のポイントのようなので、ls -ld でこのディレクトリの詳細情報を見てみます。
sh-4.2$ ls -ld /var/www/html
drwxr-xr-x 5 root root 4096 Dec 8 20:33 /var/www/html
すると。rootユーザーの所有になっていました。これが更新ができなかった原因の模様です。WordPressの更新はapacheユーザーで行うので、apacheユーザーで/var/www/htmlフォルダを更新する権限がないとダメというわけのようです。
/var/www/htmlフォルダの所有者を変更する
というわけでフォルダ所有者変更をします。コマンドはこちらです。
sudo chown -R apache:apache /var/www/html
で再度フォルダの状態を確認すると、
sh-4.2$ ls -ld /var/www/html
drwxr-xr-x 5 apache apache 4096 Dec 8 20:33 /var/www/html
と所有者がapacheに変わりました。
変わりましたので再度管理サイトからWordPressを更新しますと・・・
WordPressの更新ができました!

これにてWordPressの更新は完了です!
ではまた。