WordPressで運用しているサイトの改修を行ったり、WordPressの設定を変更したりする場合、公開サイトで直接実施するよりも、あらかじめローカル環境で動作確認した方が良い場合があります。この記事では、エックスサーバーで運用しているWordPressサイトを、ローカル環境のXAMPPに複製する手順を解説します。
- Windows11 Home (23H2)
- XAMPP 8.2.12
- テキストエディタ : VSCode
- FTPソフト : WinSCP
作業全体の流れ
この記事では、エックスサーバーで運営している当サイト「https://nakajimakenji.com」を、ローカル環境のXAMPP「http://localhost」に複製する事例で解説をします。
作業全体の流れは、次のようになります。
ドキュメントルート下一式を、パソコンにダウンロードします。ダウンロード後、使用しているデータベース名を確認します。
上記で調べたデータベースをダウンロードします。
ダウンロードしたデータベースをローカル環境のMySQL(MariaDB)にインポートします。
インポートしたデータベースに記録されているドメイン情報を置換します。
ローカル環境でのサイトの表示や、WordPressへのログインを確認します。
ローカル環境では不要なプラグインの停止等を行います。
必要なもの
この作業には、以下のソフトが必要になります。
- FTPソフト
(参考)無料FTPソフト「WinSCP」のダウンロードとインストール - テキストエディタ
(参考)無料高機能エディタ「Visual Studio Code」のインストールと日本語化 - DB置換ツール
(参考)DB置換ツール「Search Replace DB」のダウンロード方法、使い方、注意点
ソース一式をダウンロード
FTPソフトでエックスサーバーに接続し、ドキュメントルート下一式をダウンロードします。
次のスクリーンショットは、FTPソフト「WinSCP」で「nakajimakenji.com」に接続したところです。エックスサーバーの場合、ドキュメントルートのフォルダ名は「public_html」なので、そのフォルダごとダウンロードする形になります。
サイトを丸ごとダウンロードすることで、完全な複製をローカル環境に作ることができますが、WordPress本体に加えて、プラグインのソースやアップロードしたメディア(画像等)も全てダウンロードする形になるので、サイトの規模が大きいとダウンロードに時間がかかります。
- 完全な複製は諦めて、画像等メディアのダウンロードは行わない(”/wp-content/uploads”下は対象外とする)。
- SSHで接続し、tarで圧縮してダウンロードする。
- 「All-in-One WP Migration」等、バックアップを行うプラグインを導入している場合、バックアップファイルのサイズが大きくてダウンロードに時間がかかる場合があるので、バックアップファイルは除外する。
データベース名を確認
ダウンロードしたソース一式の中にある「wp-config.php」をエディタで開いて、データベース名を確認します。
データベースをダウンロード
「XServerアカウント ログイン」からログインします。
https://secure.xserver.ne.jp/xapanel/login/xserver/
「サーバー管理」をクリックします。
「サーバーパネル」画面が開きます。「データベース」の中にある「MySQLバックアップ」をクリックします。
「MySQLバックアップ」画面が開きます。「現在のMySQLをダウンロード」というタブをクリックします。
先ほど確認したデータベース名の「ダウンロード実行」ボタンをクリックします。
データベースのダウンロードが完了しました。
データベースのインポート
ダウンロードしたデータベースを、ローカル環境のMySQL(MariaDB)にインポートします。
データベースの作成
XAMPPを起動して「phpMyAdmin」を表示します。
「phpMyAdmin」のデフォルトのURLは「http://localhost/phpmyadmin/」です。
「データベース」をクリックします。
「データベースを作成する」の入力欄に、作成するデータベース名を入力して「作成」ボタンをクリックします。今回は「wp_db」という名前で作成します。
作成したデータベースが、一覧に表示されました。
データベースのインポート
データベースの一覧から「wp_db」をクリックします。
「インポート」をクリックします。
「ファイルを選択」をクリックします。
先ほどダウンロードしたデータベースを選択します。
「インポートするファイル」に、選択したデータベースが表示されていることを確認します。
画面の下の方にある「インポート」ボタンをクリックします。
インポートが完了しました。
データベースの置換
インポートしたデータベースに記録されているドメインの情報を「localhost」に置換する作業を行います。
今回の例では、
「https://nakajimakenji.com」→「http://localhost」
という置換を行うわけです。
置換作業は、DB置換ツール「Search Replace DB」を使用して行います。「Search Replace DB」の使い方を、以下の記事で詳しく解説していますので、この記事を参考に、必要な置換を実施してください。
ダウンロードしたソースをXAMPPのドキュメントルート下に設置
ダウンロードした「public_html」の直下にあるフォルダ、ファイル一式を、XAMPPのドキュメントルート下に設置します。
対象のフォルダ・ファイルは、次のスクリーンショットの通りです。
次のスクリーンショットは、XAMPPのドキュメントルート下に設置後です。
ソースの編集
次の2つのソースを、ローカル環境用に編集します。
- wp-config.php
- .htaccess
“wp-config.php”
データベースの接続設定を、ローカル環境のデータベースに接続するように修正します。修正する箇所は、以下の3か所です。
define( ‘DB_NAME’, ‘wp_db’ );
先ほど作成したデータベース名を設定します。今回の例では、「wp_db」というデータベースを使用しますので、以下のように修正します。
define( ‘DB_NAME’, ‘wp_db’ );
define( ‘DB_USER’, ‘root’ );
データベースのユーザー名を設定します。XAMPPの場合、ユーザー名は「root」です。
define( ‘DB_USER’, ‘root’ );
define( ‘DB_PASSWORD’, ” );
データベースユーザーのパスワードを設定します。XAMPPのデフォルトは「パスワード無し」です。
define( ‘DB_PASSWORD’, ” );
次のスクリーンショットは、修正後のイメージです。
“.htaccess”
ローカル環境では必要が無い記述を削除します。
例えば、アクセスを「”https”に統一する」という記述はローカル環境では削除する必要があります。
また、エックスサーバーの場合、”.htaccess”の先頭に、「SetEnvIf …」という記述が複数書かれている場合があります。それもローカル環境では不要なので、削除します。
動作確認
動作確認を行います。
“http://localhost”にアクセスして、サイトが正常に表示されることを確認します。
“http://localhost/wp-login.php”にアクセスして、WordPressへのログインも確認します。
セキュリティー向上プラグインによって、WordPressのログインURLを変更している場合、ローカル環境でのログインURLも変更されています。その場合、プラグインのフォルダ名を変更したり、削除することで、ログインURLをデフォルトに戻せる場合があります。
WordPress本体やプラグインの調整
WordPress本体の調整
「投稿設定」の「更新情報サービス」は、ローカル環境では不要なので、登録が無い状態にします。
広告の非表示化
「Google AdSense」等、ローカル環境で表示させる必要が無い広告は、削除したり非表示化の対応をします。
プラグインの停止
ローカル環境で動作させる必要が無いプラグインを停止します。例えば、以下のようなプラグインです。
- セキュリティー向上プラグイン
- PING送信プラグイン
- XMLサイトマッププラグイン
等
上記の他、ローカルでは停止しておいた方が良い機能など、削除したり停止する対応を行います。
以上の手順で、XServerで運用しているWordPressサイトを、ローカル環境のXAMPPに複製することができます。サイトの改修等、ローカル環境で事前に動作確認したい場合等に、参考にしてください。