WordPress手動バックアップとDocker環境へのリストア

WodPressでBlogを運用していくうえで、Blog公開前のテストやWordPress本体のバージョンアップ確認などでバックアップ環境(検証環境)は是非とも用意しておきたいものです。Docker-Compose環境であれば簡単にバックアップファイルからWordPressコンテンツをリストアすることができます。前回記事(Docker-ComposeにWordPressをインストール)をベースにWordPress検証環境をDocker上に構築する手順を紹介します。

前提

①バックアップ対象はCentOS7のWordPress上に構築したBlogコンテンツ。

②リストア先は、CentOS7.3上のDocker環境。Docker-Composeが使用できればCentOs7.3以外の環境でもOK。

③WordPressのバックアップとリストアは手動で実施します。プラグインによるバックアップリストアの方法もありますが、環境により動作しないこともありますので動作が確実なマニュアルでの手順を今回採用しています。

1.Blogコンテンツファイルのバックアップ

(1)コンテンツ

WordPressコンテンツルートフォルダ直下にある「wp-content」フォルダ一式をFTPソフトなどでローカル環境にコピーします。

(2)設定ファイル

WordPressコンテンツルートフォルダ直下にある「wp-config.php」ファイルをFTPソフトなどでローカル環境にコピーします。

2.Blog記事(DBデータ)のバックアップ

記事本文の存在するDBをバックアップします。phpmyadminを使用する手順と使用せずにターミナルからSQLコマンドを実行する手順のそれぞれを説明します。

(1)phpmyadminを使用する手順

①phpmyadminにログインし対象のDBへ移動、「エクスポート」タブを選択します。詳細設定を選択します。

②IF EXIST DROP DATABASEを追加にチェックします。

③実行してダウンロードファイルを保存します。

(2)SQLコマンドでの手順

sshでmariadB(mysql)サーバに接続しターミナルから以下のコマンドを発行します。

「データベース名」には目的のDB名(wp_dbwordpress)を指定します。DBユーザー名は「wp_dbwordpress」にアクセス可能なユーザー名(user_hoge)を指定します。実行するとパスワードの入力を要求されますので、「user_hoge」のパスワード(XXXXXXXX)を入力します。以上の手順でbackup.sqlにBlog情報がバックアップされます。

3.WordPressリストア環境準備

リストア先は、Docker-Composeで構築したDockerコンテナ環境です。DockerにWordpressを構築した環境をベースに使用します。冒頭でも紹介しましたが(Docker-ComposeにWordPressをインストール)がベースとなります。まだご覧になっていない方は事前に目を通しておいてください。

(1)フォルダ構成

WebコンテンツフォルダのWWWの下に今回リストア先となる「blog」を作成していきます。

(2)WordPress初期ファイルの展開

バックアップしたWordPressと同じバージョンWordPressアーカイブファイルをこちらからダウンロードします。ダウンロード後、ファイルを展開し上記www下のblogに展開します。カレントディレクトリは「/home/docker/test/phpsql」

(3)DBの作成

バックアップしたDBのSQLファイルを展開するデータベースとログイン用ユーザーを作成します。DB名やユーザー名・パスワードは任意の値で設定できますが、保守性を考慮して稼働中の環境に合わせておきましょう。phpmyadminからrootでログインをしSQLタブから以下のスクリプト(例)を張り付けてSQLを実行します。

DB名:wp_dbwordpress

ユーザ名:user_hoge

パスワード:XXXXXXXX

4.リストア処理
(1)コンテンツファイル

バックアップしたwp-contentフォルダ一式を展開先のwww/blog/にFTPソフトなどでアップロードします。元々あるwp-contentに対してファイルを上書きします。

(2)設定ファイル

バックアップした「wp-config.php」をblog直下にFTPソフト等でアップロードします。アップロード後、この記事を参考にDB_HOST名を変更します。

上記設定を終えたらBlogフォルダのアクセス権を変更しておきます。

(テスト環境用としての設定です。この権限で公開はお勧めできません)

(3)データベース

phpmyadminに作成したユーザー(user_hoge)でログインします。インポートタグからバックアップしたSQLファイル(backup.sql)を指定し実行します。

phpmyadmin phpのデフォルトでは2048KBまでのSQLファイルしか実行できません。SQLファイルサイズが2048KBを超えている場合は、php7ディレクトリ下のphp.iniに以下の設定を追加します。

上記SQLのインポート処理に成功したら、次はコンテンツURL変更用SQLを実行します。リストア先でURLを変更しない場合には、当作業は不要です。リストア先で元のURLと異なるURLで運用する場合のみ(通常はこちら)以下の作業を実施します。

phpmyadminのSQLタブからSQLを実行しますが実行する前に環境に合わせてSQL文を変更します。(※2017/6/8 SQLに不足がありましたので追加・修正しました)

NO 変更対象 概要 詳細
1 wp_ テーブル接頭辞 wp-config.php内の設定値$table_prefix に設定した値に合わせます(通常はそのままでOK)
2 http://exampleold.com/ 変更前URL バックアップ元で使用していたWordpressのURLを指定します
3 http://examplenew.com/ 変更後URL リストア先で使用するWordpressのURLを指定します

これでDocker環境へのWordPressコンテンツ移行作業は完了です。お疲れ様でした。

5.参考にさせて頂いたサイト

プラグインを頼らずWordPressのサーバー移行。新ドメインでも大丈夫

phpMyAdminの最大インポートサイズを拡大する

ありがとうございます。

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告