WordPressの本番環境をDockerのローカル環境にコピーする方法。
前回、Dockerで作ったWordPressのローカル開発環境にテーマのアップロードまで行いました。
このローカル環境を使って早速テーマのカスタマイズしていきたいところですが、ローカルのWordPressには実際の記事や画像がなく、カスタマイズがしづらいです。
今回は、ローカル環境のWordPressも本番環境と同じ見た目にし、カスタマイズしやすくしていきます。
手順としては以下のようになります。
- 本番環境のデータをプラグインでダウンロード
- 一部のファイルを書き換える
- 仮想環境にデータをインポート
目次
本番環境のデータをエクスポート
まずは、本番環境のWordPressの管理画面でプラグイン「All-in-One WP Migration」をインストールし、有効化します。
メニューから「エクスポート」をクリックします。
「高度なオプション」を開き、不要なものはチェックをいれておきます。(ファイルサイズを小さくするため)
僕の場合はコメントや投稿リビジョンはいらないので、以下のようにしました。
テーマも、今回はすでにフォルダに入っているので不要です。
エクスポート先は、無料版の場合「ファイル」しか選べませんので、こちらを選択します。
画像が多いと結構時間がかかります。
処理が終わったら「ダウンロード」をクリックします。
ダウンロードにも数分かかりますので、待ちましょう。
アップロードのサイズ上限を変更する
ダウンロードしたファイルが2M以下の場合にはこの工程は不要です。
僕の場合は4Gでしたので、WordPressのアップロード上限を変更しておきます。
Visual Studio CodeなどのエディタでローカルのWordPressをインストールしたフォルダを開くと、「.htaccess」というファイルがあります。
こちらに以下のコードを追記します。
php_value memory_limit 30G
php_value post_max_size 20G
php_value upload_max_filesize 10G
追記する箇所は、以下の位置で大丈夫です。
これで、とりあえず10GBまでアップロードできるようになります。
ローカル環境にインポート
ローカル環境のWordPressにも、本番環境と同じ「All-in-One WP Migration」をインストールし、有効化します。
今度は、「インポート」をクリックします。(ローカル環境の管理画面になります。お間違いなく)
「インポート元」をクリックして先ほどダウンロードしたファイルを選択します。
しばらく待ちます。
「100%になったのに動かないな」と思っていたら、エラーが出てしまいました。
原因は色々あるようですが、「とりあえず先ほど本番環境から落としたファイルをFTPソフトでダウンロードし直せばよい」という情報をみつけたのでその通りにしてみました。
「wp-content」→「ai1wm-backups」の中の以下のファイルをダウンロードします。
FTPソフトの使い方はこちらを参考にしていただければ。
最初にダウンロードしたときも「なんかサイズ小さいな」と思ったのですが、こうしてみるとファイルサイズが全然違います。
やはりブラウザで上手くダウンロードできなかったようです。
気を取り直して再度アップロード。
「100%」の表示になってもかなりの時間止まり、「またエラーか…」と思っていたらこちらの画面になりました。
今回はまっさらな状態で上書きされても問題ないので、「開始」をクリックします。
時間がかかります…
だいぶ時間がかかりました。
以下の画面で、「パーマリンク構造を保存する」をクリックします。
別タブでログイン画面が出ますので、元の本番環境のユーザー名とパスワードを入れてログインします。
設定を確認し、特に変更がなくても「変更を保存」をクリックします。
今回、テーマは本番環境からダウンロードしていませんので、ローカル環境のフォルダのテーマを有効化します。
「サイトを表示」をクリックし、無事に表示されれば完了です。
最後に、本番環境のバックアップファイルを削除しておきます。
(削除しないとかなりサーバーの容量を食ってしまうので)
「All-in-One WP Migration」→「バックアップ」で該当のファイルを削除します。
ここまで来るのにだいぶ長かったです…。
書いている途中で何度も思いましたが、正直非エンジニアにはDockerはだいぶハードルが高く、「Local」というツールを使った方が簡単だったかもしれません……。
まぁその分勉強になりましたが。
カスタマイズするときは、本番環境とローカル環境を混同しないように注意していただければと思います。(見た目がまったく同じなので…)
この記事が少しでもお役に立てれば嬉しいです。
サービスメニュー
Postscript執筆後記
とある友人の転勤が決まり、来年から熊本勤務になるとのこと。なかなか会えなくなり、ちょっと寂しいです。