WordPress 5.4がリリースされました。今回のバージョンアップはデータベースのバージョンが異なるので、安全のためにバックアップが必要のとのこと。そこで、WordPressのバックアップをすることにします。
WordPress 5.4がリリース
このサイトでは2020年4月3日時点でWordPress 5.3.2を利用しています。その後継バージョンであるWordPress 5.4が2020年3月31日にリリースされました。
リンク先を見ると以下の記載があります。
For Version 5.4, the database version (db_version in wp_options) updated to
出典: wordpress.org47018
, and the Trac revision was47541
.
要約すると「バージョン5.4では、データベースのバージョン(db_version)が47018
に更新されたよ」と記述されています。データベースのバージョンが変わったということは、何か新しいテーブル追加や項目の変更・追加があったのだと思います。
WordPressを5.3系から5.4系にアップグレードすればデータベースも新しい形式にアップグレードされることになります。
新しいバージョンがリリースされたのでWordPressの管理画面にも 以下の図のように「WordPress 5.4が利用可能です ! 今すぐ更新してください。 」が、各画面の先頭部分に表示されています。
「WordPress 5.4」の部分のリンクは、クリックすると5.4のサポートページが開きます。「今すぐ更新してください」もリンクになっており、クリックすると、以下のような「WordPressの更新」画面に移動します。
この画面の「今すぐ更新」ボタンをクリックすると、すぐにWordPressの更新ができます。
しかし、この画面の先頭には、以下の図のようにデータベースとファイルのバックアップをすることを推奨することが記載されています。
WordPress 5.4のサポートページにも記載してあるように、5.4からデータベースのバージョンが変更になったため、バックアップをすることを推奨する記載があるようです。
WordPressのバックアップ
さて、WordPressのバックアップといっても何をすればよいのでしょうか?
WordPressのデータ構成
WordPressのバックアップおいて、何を保存すればよいのか明確にするためにWordPressのデータ構成を確認します。
WordPressは、以下のデータで構成されています。
- データベース
- サイトのファイル
データベースには、以下のものが含まれます。
- WordPress本体の設定情報
- WordPressのプラグインの設定情報
- WordPressのユーザー情報
- 固定ページ・投稿ページのデータ(テキストやステータス。メディアファイルは含まない)
- コメントデータ(テキストやステータス)
- WordPressのプラグインなどが作成するカスタムページのデータ(テキストやステータス。メディアファイルは含まない)
などです。データベースはWordPressのコンテンツの主要となる重要なデータです。
サイトのファイルには以下のものを含みます。
- WordPressの本体のプログラム
- WordPressのプラグインのプログラム
- WordPressのテーマ
- 上記3つの項目についてカスタムしていた場合、そのカスタムしたプログラムやテーマ
- WordPressの本体のファイルとして保存されている設定情報(データベースへの接続情報など)
- WordPressの投稿ページなどで使用されているメディアファイル(画像、音楽、動画など)
- WordPressのプラグインが独自に配置しているコンテンツファイル
などです。プログラムやテーマをカスタムしていないときは、前者の3つはバックアップがなくても、再ダウンロードで回復できます。しかし、後者の4つに関しては、失ってしまうとサイトを再構築できません。
しかしながら、バックアップからの復元のしやすさなどを考慮すると、後者4つだけバックアップするのではなく、上記の7種類すべてのファイルのバックアップを保存したほうが良いです。
WordPressのバックアップ方法
ここからは、バックアップ方法について記載します。WordPressのプラグインの中には、バックアップのためのプラグインもあります。しかし、今回説明するのはWordPressのプラグインを使わない方法です。
データベースのバックアップ
データベースのバックアップ方法は大きく分けると二つあります。
- WordPressの管理画面のエクスポート機能を使う
- データベースを直接エクスポートする
WordPressのエクスポート機能
WordPressの管理画面の「ツール」にはWordPressをエクスポートする機能があります。
これを用いると、WordPressの標準の機能でデータベースをバックアップできます。
このエクスポートの画面では、個別エクスポートするときの選択に「メディア」の記載もあります。この記述があるので、メディアファイル(画像や音楽や動画ファイル)がバックアップされるように思っていします。しかし、ここでのメディアとはメディアファイルのことではなく、メディアファイルの管理情報(ファイル名やパスなど)のみです。
メディアフィルはサイトのファイルとして別途バックアップが必要なので勘違いしないようにしましょう。
この機能を使ってデータベースをエクスポートすると、データベースの内容がxml形式ファイルとしてダウンロードできます。
なお、WordPressでサイトネットワークを構成している場合は、この方法では、サイトごとにエクスポートする必要があります。複数のサイトを構成している場合は、すべてのサイトのバックアップを忘れないようにする必要があります。
データベースを直接エクスポートする
データベースに直接アクセスして管理する方法が用意されているなら、データベースを直接バックアップすることができます。方法が用意されているかどうかは、使用しているレンタルサーバーやWordPressのホスティングサービスの契約内容によります。
お名前ドットコムのレンタルサーバーの場合は以下の通りです。
- SDプラン: phpMyAdminを自身でインストールすると利用できます。
- RSプラン: 管理画面にphpMyAdminにアクセスするボタンがあるのですぐに利用できます。
SDプランの場合、標準のままでは、phpMyAdminなどのデータベースを直接管理するツールは用意されていません。しかし、phpMyAdminを自身でセットアップすることは可能です。
このサイトのレンタルサーバーは、去年の夏に、SDプランからRSプランに移行しました。このレンタルサーバーのプランを移行するにあたってデータベースの内容を移行する必要がありました。このときSDプラン側はphpMyAdminをインストール・セットアップして利用しました。SDプランでphpMyAdminをセットアップする方法はSDプランのレンタルサーバーからRSプランのレンタルサーバーにWordPressのコンテンツを移行した時の投稿の「SDプランのデータベースのバックアップ」の節に記載があるので参考にしてください。
RSプランの場合は、レンタルサーバーの管理画面(コントロールパネル)にphpMyAdminのボタンが用意されています。
上記のコントロールパネルの画面のように、「データベース」の画面に「phpMyAdmin」のボタンがあります。ここをクリックすると、以下の画面のようにphpMyAdminのログオン画面が開きます。
コントロールパネルのデータベースの詳細で設定したユーザー名・パスワードでログオンすることができます。
ログオンするとphpMyAdminの管理画面になります。以下のサンプル画面では、データベース名は、一部を灰色に塗りつぶしています。灰色に塗りつぶしてあるところは、実際にはデータベース名です。
phpMyAdminにログオンしたら、画面左側でバックアップしたいデータベース名をクリックして、対象とするデータベースを選択します。そして、画面上部の「エクスポート」をクリックします。そのエクスポート画面内の「実行」ボタンをクリックするとデータベースをエクスポートできます。エクスポートされるファイルはsql形式ファイルとなります。
WordPressでサイトネットワークを構成している場合でも、すべてのサイトデータは一つのデータベースに保存されています。同じデータベース内にサイトごとのテーブルが存在します。そのため、データベースをエクスポートするだけで、すべてのサイトのデータのバックアップが完了します。
契約しているレンタルサーバーの設定(phpの設定)によっては、エクスポートするデータサイズが大きいと、失敗することがあります。この場合は、データベース全体を一度にエクスポートするのではなく、テーブルごとにエクスポートします。これにより、一度にエクスポートするデータサイズが小さくなるため、サイズの問題を回避できることがあります。
お名前ドットコムのレンタルサーバーの場合は、SDプランとRSプランで制限サイズが異なるようです。去年のプラン変更に伴うデータベース移行時の感覚では、SDプランの場合は、サイズ制限の値が小さめで、15MB前後を超えると失敗するような感じです。RSプランの場合は、15MB前後では失敗していません。
サイトのファイルのバックアップ
サイトのファイルのバックアップは、以下の方法などが考えられます。
- Web UIのファイルマネージャー経由でバックアップする
- シェルにリモートログインして、コマンドでバックアップする
- FTPでログオンしてバックアップする
どの方法が利用できるかは、レンタルサーバーの契約によります。お名前ドットコムのレンタルサーバーのSDプランやRSプランでは、どの手段も用意されています。
Web UIのファイルマネージャーの例
RSプランのレンタルサーバーの管理画面(コントロールパネル)では、「ファイル管理」からFTPの設定およびファイルマネージャーのログインボタンがあります。
FTPでファイルをダウンロードしたい場合は、この画面でFTPアカウントの設定をします。
ファイルマネージャーをクリックすると以下の画面のようなファイルマネージャーが起動します。ちょうど、Windowsのエクスプローラーのような画面です。
この画面からファイルやフォルダーを選択してダウンロードすると、zipファイルとして一つのファイルにまとめられダウンロードできます。ファイルマネージャーが利用できると容易にサイトのファイルのバックアップを取ることができます。
しかし、ファイルマネージャーにも、処理できるzipファイルサイズの制限があるようです。サイトのファイルのバックアップのときは、メディアファイルを含むことが多いです。そのため、zipファイルは容易にサイズ制限の影響を受けます。
ファイルをまとめてダウンロードするのではなく、個別にダウンロードすれば、サイズの制限の影響を受けることはほとんどなくなります。しかし、数の多いファイルを個別にダウンロードするのは、非常に手間かかる作業となります。
現実的には、シェルでログオンして、必要なファイル群を一つのファイル(tarファイルなど)にまとめ、FTP・HTTP・シェルのファイル転送などを利用して、バックアップとることになります。
シェルにリモートログインして、コマンドでバックアップ
お名前ドットコムのレンタルサーバーの場合は、SDプランおよびRSプランともにシェルをリモートログインして利用することができます。多くのレンタルサーバーでも同様にシェルを利用することは可能であると思います。
SDプランの場合は、レンタルサーバーのコントールパネルからSSHの設定をすれば、ユーザー名とパスワードでリモートログインできます。
RSプランの場合は、レンタルサーバーのコントールパネルからSSHの設定をすれば、ユーザー名とPKI(公開鍵暗号基盤)による認証でリモートログインできます。
バックアップは、必要なファイルを一つのファイルにまとめた後、それをサーバーからダウンロードすることで行います。
シェルが使える状態になったら、サイトのフォルダーに移動して、tarコマンドで必要なファイルを一つのファイルにまとめます。一つのファイルにまとめた後は、FTP/HTTP/シェルのファイル転送機能などを使って、ファイルをバックアップします。
お名前ドットコムのレンタルサーバーのRSプランの場合は、リモートログインした後、以下のようにサイトのファイルを一つ(例えばsite-files.tarというファイル名)にまとめます。
$cd public_html/nishy-software.com
$tar cf site-files.tar wp-* xmlrpc.php index.php license.txt readme.html .htaccess
その後、このsite-files.tarファイルをftp/https/シェルのファイル転送機能を使って、ダウンロードしてバックアップファイルとします。
もし、https(Webブラウザー)でダウンロードする場合は、
https://nishy-software.com/site-files.tar
のように指定してダウンロードします。
ただし、サイトフォルダーの配下にバックアップファイルを残しておくと、URLを指定すれば誰でもダウンロードできてしまいます。バックアップ後には、サイトフォルダーからそのファイルを消すか、サイトフォルダーとは別のフォルダー(例えば、一つ上位のフォルダーなど)に移動して、他の人がバックアップファイルをWebブラウザー経由でダウンロードできないようにします。
サイトのファイルを一つのファイルにまとめるとき、レンタルサーバーへのWordPressのインストール方法により、WordPressのファイルのパスは異なります。
RSプランでは、サイトフォルダーの直下にWordPressのファイルおよびフォルダーが展開されているので、上記の例のような指定となります。
SDプランの場合は、サイトフォルダーにあるwpというサブフォルダーにWordPressのファイルがまとめられていました。そのため、一つのファイルにまとめるときの指定は以下のようになります。
$cd nishy-software.com
$tar cf site-files.tar wp index.php .htaccess
他のレンタルサーバーでは、そのレンタルサーバーのWordPressのインストール方法に合わせて、必要なファイルを指定する必要があります。
WordPressのアップグレード
WordPressのバックアップが終わったら、本来の目的であったWordPress 5.4へのアップグレードを行います。
まず、バックアップファイルとして次の二つ手元にあることを確認します。
- データベースのバックアップファイル(xmlファイルやsqlファイルなど)
- サイトのファイル(サイトのファイルを一つにまとめたtarファイルなど)
バックアップファイルがあることを確認したら、WordPressのアップグレードを開始します。
WordPressの管理画面の更新画面から、「今すぐ更新」ボタンをクリックするとすぐに更新が始まります。しばらくすると、WordPressの更新が完了します。
WordPressの更新が完了すると、上記の画面が表示されました。
このnishy-software.comサイトのWordPressはサイトネットワークを構成しています。そのためなのか、この画面内は、サイトネットワークの更新も必要と表示されています。ここから先は、サイトネットワークを構成していないWordPressの場合は、手順が若干異なるかもしれません。しかし、WordPressの指示に従って進めていけば問題ありません。
指示に従い、「サイトネットワークの更新」のリンクをクリックして、サイトネットワークの更新画面に遷移します。
データベースの更新が必要のようです。「サイトネットワークをアップグレード」ボタンをクリックすると、サイトネットワークのアップグレードが開始します。
サイトネットワークのアップグレードが完了すると以下の画面が表示されます。
これで、WordPressの更新とデータベースのアップグレードが完了しました。
データベースのアップグレードが完了した後、サイトを確認しましたが、問題なく動作しているようです。
今回は、WordPressのアップグレードのときに必要となるバックアップの方法について投稿しました。今後は、アップグレードが有無にかかわらず定期的にバックアップを作成したいと思います。