前置きと注意事項
本稿は Shifter Advent Calendar 2021 #JP_GetShifter 5日目の記事です。
飲み屋で飲んでいたら隣のお客さんから «アムスのコーヒーショップにいそう»と言われた風体の者がお送りする,今回はいわゆる「やってみた」系の記事です。本稿の末尾でも書いている通り,非公式かつこの記事に記載の方法を実行する際は自己責任です。失敗してもデータを消失しても泣かない人向けの記事です。
ちなみに,某インド・ネパールカレー屋さんでは, «アナタ,パキスタン人? パキスタン人,そういう髭の伸ばし方スル» と言われた経験もあり,僕の国籍自体が怪しい感じです。
執筆理由
Shifter 上の WordPress から wp-content フォルダ配下 や DB のデータ を丸っとエクスポートしてみる,Shifer 上の WordPress サイトを Kinsta へ移行する という記事がちょうど1年前に上がっていたので、これに習って Shifter → Kinsta がいけるならその逆も余裕でしょと思ったのが運の尽き。
Kinsta では All-in-One WP Migration 等のサイト全体に対するバックアップ・データエクスポート用のプラグインを使えないようなので,データベース,画像,プラグイン,テーマを個別にエクスポートをしてローカルで合成。その後,All-in-One WP Migration でエクスポートし,Shifter へインポートという手順で勧める必要があります。
Kinsta での作業
まずは Kinsta のコントロールパネル: My Kinsta にログインをして
WordPress のダッシュボードへログインします。
URL は http://migratingwordpresssite.kinsta.cloud
です
今回は,テーマやプラグインのコピーを行わず,インポート先で新たにインストールするという方法を採るので,以下の2つのプラグインをインストールします。
テーマは他のファイルも取りたい場合は Advanced File Manager をインストールするといいかもしれません。WordPress のダッシュボードからじゃなくとも,Kinsta のサーバへ SSH 接続して, wp-cli と rsync コマンドを活用してデータをコピーしてくるという方法もあります。
データベースをエクスポートする
サイドバーの [WP phpMyAdmin]→ [Enter phpMyAdmin] をクリックする
phpMyAdmin ウィンドウが新たに開くので [Export] タブを選択する
Export method を確認し, [Go] ボタンをクリックして SQL ファイルをダウンロードする
ファイルは migratingwordpresssite.sql
とします
メディアをエクスポートする
Media → Export へ進んで [Download Zip] をクリックする
ファイルは media_library_export-migrating_wordpress_site-2021_12_04_11_35_15.zip
とします。
ファイルの準備ができました。
ローカル環境での作業
WordPress を起動する
Wocker でも VCCW でも Valet でもよいですけれど、今回は Local by Flywheel を使います。起動方法などはアプリケーションのドキュメントをご参照ください。
初期のデータを削除する
wp-cli を使って削除します。サイト名を右クリックして [Open Siet Shell] をクリック。
Last login: Sat Dec 4 19:59:41 on ttys007
~/Library/Application\ Support/Local/ssh-entry/_*******.sh; exit
% ~/Library/Application\ Support/Local/ssh-entry/_*******.sh; exit
-n -e
Setting Local environment variables...
----
WP-CLI: WP-CLI 2.5.0
Composer: 2.1.5 2021-07-23
PHP: 7.3.5
MySQL: mysql Ver 8.0.16 for macos10.14 on x86_64 (MySQL Community Server - GPL)
----
Launching shell: /usr/local/bin/zsh ...
サイトにシェルログインができました。
データベースをインポートすると URL が変わってしまいます。あとで置換するので現在の値を取得して,テキストエディタ等にメモをします。ここでは http://kinstatoshifter.local
という値がサイトの URL です。
% wp option get home
http://kinstatoshifter.local
続いてデータベースをリセットします。
% wp db reset
Are you sure you want to reset the 'local' database? [y/n] y
Success: Database reset.
Kinsta からエクスポートしたデータベースをインポートする
データベースのリセットができたら Kinsta からエクスポートしたデータベースをインポートします
% wp db import migratingwordpresssite.sql
Success: Imported from 'migratingwordpresssite'.
% wp option get home
http://migratingwordpresssite.kinsta.cloud
URL を更新する
% wp search-replace http://migratingwordpresssite.kinsta.cloud http://kinstatoshifter.local --skip-columns=guid
+------------------+-----------------------+--------------+------+
| Table | Column | Replacements | Type |
+------------------+-----------------------+--------------+------+
| wp_commentmeta | meta_key | 0 | SQL |
[......]
| wp_options | option_value | 4 | PHP |
[......]
| wp_users | display_name | 0 | SQL |
+------------------+-----------------------+--------------+------+
Success: Made 8 replacements.
% wp option get home
http://kinstatoshifter.local
Kinsta からエクスポートしたメディアをインポートする
ダウンロードしたmedia_library_export-migrating_wordpress_site-2021_12_04_11_35_15.zip
を展開して、中身を wp-content/uploads/
内へコピーします。
画像のサムネイルを 再生成する
% wp media regenerate
Do you really want to regenerate all images? [y/n] y
Found 37 images to regenerate.
1/37 Regenerated thumbnails for "dsc20050604_133440_34211" (ID 1688).
[......]
37/37 Regenerated thumbnails for "spectacles" (ID 543).
Success: Regenerated 37 of 37 images.
追加のプラグイン・テーマをインストールする
今回はテーマやプラグインを Kinsta からダウンロードしていないので,必要に応じてプラグインやテーマインストールします。
All-in-One WP Migration プラグインを使ってデータをエクスポートする
All-in-One WP Migration プラグインをインストール・有効化します
サイドバーの [All-in-One WP Migration] → [Export] を選択します。除外するファイルはないので,このまま [File] を選択してデータをエクスポートします。kinstatoshifter.local-20211204-114324-lgxouo.wpress
というファイルがエクスポートされました。
Shifter での作業
ここからはいつも通りの作業です。
WordPress を起動する
All-in-One WP Migration プラグインをインストール・有効化する
ローカル環境からエクスポートしたAll-in-One WP Migration のデータをインポートする
Artifact を Build し,Publish する
Shifter ダッシュボードに戻り,[Build Deploy] ボタンをクリックします
Deploys の状態が [Published] となっていることを確認して,サイトの URL をクリックし、アクセス。表示の状態を確認します。
Kinsta → Shiter ヘのマイグレーションは以上です。
最後に
いやあ,マイグレーションプラグインって,本当に便利ですね。文明の利器を賢く使ってマイグレーションをやっていきましょう。
本稿に記載されている内容は全て当時のものです。バージョン変更により画面・機能などが変わっている可能性があります。また,作業の実行は at own risk でお願いします。データの移行に失敗してデータを消失しても一切の責任は取りかねます。また,本稿の内容については非公式のため, Shifter のサポートにもご相談されぬよう。
Related posts
Generated by Algolia + Search with Algolia Instantsearch Blocks