WordPress

Local(旧名 Local by Flywheel)で本番サイトと同環境をローカルに構築する方法 マルチサイト編【WordPress】

Local(旧名 Local by Flywheel)で本番サイトと同環境をローカルに構築する方法 マルチサイト編【WordPress】

Local(旧名 Local by Flywheel)を利用して、すごく簡単にローカル環境で本番環境のサイトと同じ内容のWordPressを構築することができます。

しかし、マルチサイトの場合には癖がありました。

構築方法を共有します。

  1. 本番サイトのWordPressファイル・データベースのバックアップを取得
  2. Localで先にサイトを作成(マルチサイト)
  3. 本番サイトのWordPressファイルで置き換え
  4. wp-config.phpを変更
  5. データベースをローカル環境にインポート
  6. SSLを有効化
  7. データベースのデータの変更する

マルチサイトではない通常サイトの場合は、以下を参照ください。

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で取得したものと置き換えます。

以下の手順が楽だと思います。

  1. もとの「public」ディレクトリの名前を「_public」に変更する
  2. BackWPupで取得したバックアップを(圧縮ファイル)を「app」ディレクトリにコピー
  3. バックアップ(圧縮ファイル)を解凍する
  4. 解凍したディレクトリの名前を「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;

以上で、マルチサイトでも、本番サイトと同じ見た目のブログを確認できるはずです。

ありがとうございました!

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA