マルチサイトではない通常サイトの場合は、以下を参照ください。
Local(旧名 Local by Flywheel)のインストール方法については以下の記事を参照ください。
本番サイトのバックアップファイルを取得する
まず、本番サイトのWordPressファイル・データベースのバックアップを取得します。
WordPressのファイルとデータベースのデータが取得できれば方法は自由です。
今回は、WordPressの人気バックアッププラグイン「BackWPup」を利用してバックアップファイルを取得し、ダウンロードしておきます。
https://ja.wordpress.org/plugins/backwpup/
プラグインを使わない場合はFTPクライアントでWordPressファイルを、DBクライアントでデータベースのバックアップを取得する必要があります。
Localで先にサイトを作成する(マルチサイト)
Importだと「マルチサイト」がONにならないため、先にマルチサイトでサイトを作成します。
「+ CREATE A NEW SITE」または、左下の「+」マークをクリックします。
サイト名を入力し、「CONTINUE」をクリックします。
「ADVANCED OPTIONS」をクリックすると、ドメインやデータを保管するパスを任意で変更することもできます。
次にWordPressの開発環境を選択します。
環境は「Preferred」と「Custom」から選ぶことができます。
「Custom」を選ぶことで、PHPのバージョン、Webサーバーの種類、My SQLのバージョンを変更できます。
Conoha Wingの環境に合わせるのであれば、2021年8月8日時点だと以下画像のような設定になると思います。
選択したら、「CONTINUE」をクリックします。
WordPressの管理画面にログインする際に使用するユーザー名、パスワード、メールアドレスを入力します。
「ADVANCED OPTION」をクリックしマルチサイトを選択します。
今回は「Yes – Subdirectory」を選択しました。
選択したら、「ADD SITE」をクリックします。
PCのパスワードを要求された場合は入力します。
本番サイトのWordPressファイルで置き換え
作成したサイトの「>」マークをクリックし、ディレクトリを開きます。
publicディレクトリ配下の中身をBackWPupで取得したものと置き換えます。
以下の手順が楽だと思います。
- もとの「public」ディレクトリの名前を「_public」に変更する
- BackWPupで取得したバックアップを(圧縮ファイル)を「app」ディレクトリにコピー
- バックアップ(圧縮ファイル)を解凍する
- 解凍したディレクトリの名前を「public」に変更する
wp-config.phpを変更する
wp-config.phpのDB情報指定部分を以下のようにLocal用に変更します。
サイトを作成した際に指定したユーザー名、パスワードを指定してください。
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'local' );
/** MySQL database username */
define( 'DB_USER', 'root' );
/** MySQL database password */
define( 'DB_PASSWORD', 'root' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
データベースをローカル環境にインポートする
サイト名を右クリックでメニューを開き「Open Site Shell」をクリックします。
起動したターミナルで以下のコマンドを入力し、データベースのインポートを実行します。
mysql -u root -proot local < xxxxx.sql
xxxxx.sqlはBackWPupで取得したバックアップのsqlファイル名となります。
しばらく待ち、処理が完了するとインポート成功です。
処理が完了したらインポート成功です。
データベースのデータを変更する
↑で起動しているターミナルで以下のコマンドを実行し、データベースに接続します。
mysql -u root -proot local
以下のコマンドでwp_optionsを確認します。
show tables like 'wp_%options';
wp_optionsの現在値を確認します。
select option_name,option_value from wp_options where option_name = 'siteurl' OR option_name = 'home' OR option_name = 'fileupload_url';
wp_blogsの現在値を確認します。
select domain,blog_id from wp_blogs;
wp_optionsの値を変更します。
UPDATE wp_options SET option_value = '<Localでアクセスする際のURL>' WHERE option_name = 'home';
UPDATE wp_options SET option_value = '<Localでアクセスする際のURL>' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = '<Localでアクセスする際のURL>/wp-content/uploads' WHERE option_name = 'fileupload_url';
// 例
UPDATE wp_options SET option_value = 'http://yuyuublog.local' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'http://yuyuublog.local' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'http://yuyuublog.local/wp-content/uploads' WHERE option_name = 'fileupload_url';
wp_blogsの値を変更します。
UPDATE wp_blogs SET domain = "<Localでアクセスする際のドメイン>" WHERE blog_id = 1;
// 例
UPDATE wp_blogs SET domain = "yuyuublog.local" WHERE blog_id = 1;
以上で、マルチサイトでも、本番サイトと同じ見た目のブログを確認できるはずです。
ありがとうございました!