はじめに
今回の記事は、WordPress を最新版に更新しようとしたときに以下の画面が表示された人向けです。
メッセージとしては以下のような記載があります。
要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。 次に進むには FTP の認証情報を入力してください。 認証情報が思い出せない場合は、ホスティング担当者に問い合わせてください。
WordPress を更新
このような画面が表示された方向けに、この記事では直接アップデートする方法を解説します。
具体的には、サーバに ssh 接続してアップデートファイルをダウンロードし、rsync で置き換えます。
その他の方法や、そもそもなぜこのような画面が表示がされるのか、については以下の記事に記載してますので、よろしければご参照ください。
直接 rsync でファイルの置き換えとか嫌だという方におすすめです。(というかむしろ以下の記事の方が一般的な方法です)
2023年12月 WordPress 最新バージョン「6.4.2」
2023年12月6日にWordPress 最新バージョンがリリースされました。
本記事では、WordPress を最新バージョンへアップデートする手順について詳しく解説します。
※ なお、FTPは使用しません
WordPress アップデートの重要性
そもそも、アップデートって必要なんでしょうか。
結論、めちゃくちゃ必要です。
アップデートを怠っているといつか痛い目を見ます。
WordPress に限らず、アップデートをしないことは普通に危険ですので、スマホであれ、自宅の PC であれ、きちんとアップデートはしましょう。
アップデートには、以下のような重要な要素が含まれています。
- セキュリティの向上
- パフォーマンスの改善
- 新機能の追加
そのため、WordPress を使用する上でも、定期的なアップデートは欠かさず行いましょう。
FTP サーバーがない環境での WordPress アップデート
いくつかのホスティングサービスにおいて、WordPress サイトは、FTP サーバーを介してアップデートされます。
実際に、WordPress 管理画面から最新バージョンにアップデートする際には、以下の項目を入力する必要があります。
- ホスト名:
- Web サーバー (FTP サーバー) のホスト名 ( blog.kuds.win 等)
- FTP ユーザー名
- FTP アカウントのユーザ名
- FTPパスワード
- FTP アカウントのパスワード
- 接続形式
- 通常は「FTP」か「FTPS (SSL)」から選択
- FTP: ファイル転送プロトコル
- FTPS: セキュアな FTP (雑)
- 通常は「FTP」か「FTPS (SSL)」から選択
しかし、FTP サーバーを持たない環境だって存在します。
例えば、AWS の EC2 インスタンス等で WordPress をホスティングしている場合、デフォルトでは FTP サーバの用意はないでしょう。
もちろん、FTP を構築する方法もありますが、今回は EC2 ( OS: Amazon Linux 2 ) を例に、手動 (rsync) で直接アップデートする手順を解説します。
「FTP も rsync も嫌だ」という方は、再掲ですが以下の記事をご覧ください。
WordPress アップデート手順
この章では、EC2 インスタンスで WordPress を最新版にアップデートする手順を解説します。
なお、実施前にバックアップを取っておくことをお勧めします。
何か予期せぬ問題が発生した場合に、すぐに前の状態に戻せるようにしておきましょう。
さて、それでは 1 から手順を確認するので、SSH から見ていきましょう。
Web サーバに SSH 接続
EC2 インスタンスに SSH を介して接続するためには、以下の手順を踏みます。
秘密鍵ファイルの準備
EC2 インスタンスを作成した際にダウンロードした .pem 形式の秘密鍵ファイルが必要です。
SSH コマンドの実行
ターミナルやコマンドプロンプトを開き、以下の形式でSSHコマンドを実行します。
ssh -i </path/to/your-key.pem> ec2-user@<your-instance-ip>
ここで、</path/to/your-key.pem> は秘密鍵ファイルのパス、<your-instance-ip> は EC2 インスタンスの公開IPアドレスまたはパブリック DNS です。
接続の確認
接続が成功すると、EC2 インスタンスのコマンドラインにアクセスできます。
WordPress 最新バージョンのダウンロードと解凍
最新の WordPress をダウンロード
次のコマンドを実行して、最新バージョンの WordPress をダウンロードします。
wget https://wordpress.org/latest.tar.gz
ダウンロードしたアーカイブを解凍
次のコマンドでアーカイブを解凍します。
tar -xzf latest.tar.gz
これによって、wordpress/ ディレクトリが作成されます。
ダウンロードファイルの同期
rsync コマンドの実行
rsync を使用して、解凍したWordPressファイルを既存のインストールに同期します。
rsync -av --progress wordpress/ </path/to/your/wordpress> --exclude 'wp-content' --exclude 'wp-config.php'
※ ここで重要な点は、wp-content フォルダと wp-config.php ファイルを除外することです
※ また、</path/to/your/wordpress> は WordPress がインストールされているディレクトリのパスに置き換えてください (例: /var/www/html/ 等)
一般的なエラーとその対応
存在しないパス
$ rsync -av --progress wordpress/ /path/to/your/wordpress --exclude 'wp-content' --exclude 'wp-config.php'
sending incremental file list
rsync: mkdir "/path/to/your/wordpress" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(656) [Receiver=3.1.2]
上記の例では、「/path/to/your/wordpress なんてパス見つからんぞ」と言われてます。
本来のパスを確認して、指定しましょう。
パーミッションエラー
$ rsync -av --progress wordpress/ /var/www/html/ --exclude 'wp-content' --exclude 'wp-config.php'
...(略)
sent 56,838,451 bytes received 378,137 bytes 38,144,392.00 bytes/sec
total size is 56,645,245 speedup is 0.99
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]
正しくパスを指定しているのにもかかわらず、エラーが発生する場合もあります。
上記のエラーは、いくつかのファイルや属性を転送できなかったことを示しています。
このような場合、いくつか原因は考えられますが、多くの場合はアクセスの権限不足の問題によるものです。
以下のように対応しましょう。
$ sudo rsync -av --progress wordpress/ /var/www/html/ --exclude 'wp-content' --exclude 'wp-config.php'
として実行するか、もしくは
$ sudo su -
等でユーザをスイッチしてから実行してみましょう。
補足: wp-content と wp-config.php の取り扱い
- wp-content フォルダの除外:
- このフォルダにはテーマ、プラグイン、アップロードされたメディアファイルが含まれています
- そのため、アップデート中に上書きしないようにする必要があります
- wp-config.php ファイルの扱い:
- このファイルにはサイト固有の設定が含まれています
- そのため、新しい WordPress バージョンで上書きしないようにします
- なお、通常、新しいバージョンの WordPress には wp-config-sample.php が含まれていますが、これはサンプルファイルであって、既存の wp-config.php ファイルを置き換えるものではありません。
これで、WordPress をアップデートすることができました。
アップデートが完了したら、サイトが正常に機能しているかを確認しましょう。
また、WordPress 管理画面で、以下の文言が記載されていることを確認しましょう。
- 「現在のバージョン: 6.4.2」
- 「最新バージョンの WordPress をお使いです。」
さいごに
この記事では、WordPress を最新バージョンにアップデートする手順について解説しました。
FTP を利用せず、直接アップデートする方法として、AWS EC2インスタンスを例に手順を確認しました。
手順をざっくりまとめると以下です。
- バックアップ取得
- SSH接続
- 最新のWordPressバージョンの取得
- rsyncを使用したファイルの同期
再掲ですが、定期的なアップデートによって、以下のような観点で重要なので、確実に実施しましょう。
- セキュリティの維持
- 機能とパフォーマンスの向上
- プラグインとの互換性
以上です。
コメント