レンタルサーバー環境に作成したWordPressのサイトをローカル環境へ移行する方法についてまとめています。ローカル環境はXAMPP/MAMP/DS216j(NAS)を使った環境を想定しています。レンタルサーバーはさくらインターネットを想定しています。
レンタルサーバーの環境をローカル環境へ移行するとサーバー環境が正常にバックアップできたかどうかを確認できますし、またサイトのカスタマイズなど試したい修正をサーバー環境に影響することなくローカル環境で実施することができます。ここではまるっと全ての環境をレンタルサーバーからローカル環境へ移行する方法についてまとめています。
レンタルサーバーのデータベースをエクスポート
レンタルサーバーのサーバコントロールパネルにログインし、データベースの設定から管理ツールログインをクリックしphpMyAdminログイン画面を表示します。
phpMyAdminへログイン後、エクスポート対象データベースのエクスポートタブを選択し「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENTを追加」をチェックし、画面下にある「実行」ボタンを押します。
「[データベース名].sql」ファイルをダウンロードして保存します。
レンタルサーバーからWordPressファイルをダウンロード
ターミナルでサーバーにログインします。
接続方法について、WindowsではTeraTerm、Macではターミナルなどを使って行います。「レンタルサーバーへSSH接続する方法」を参考にしてください。
対象WordPressディレクトリを圧縮
ダウンロードの対象ディレクトリ配下をすべてZIP形式に圧縮します。
zip -r [圧縮ファイル名] [対象WordPressディレクトリ]
zipコマンドのオプション
-e | 圧縮ファイルにパスワードを付けます。 |
-r | ディレクトリを再帰的に圧縮します。 |
-u | 圧縮されているファイル内のファイルを更新します。 |
-z | アーカイブにコメントを追加します。 |
-@ | 対話的に圧縮するファイルを指定します。 |
FTPクライアントアプリを使用して、圧縮したファイルをローカルにダウンロードします。
アプリについては「FTPクライアントアプリの使い方」を参考にしてください。ここではWinSCP、FileZillaを紹介しています。
ダウンロードしたファイルを展開後、Webルートディレクトリに格納します。
ローカル環境でデータベースを新規作成
データベースの作成はコマンドを使用する方法と、phpMyAdmin操作画面から作成する方法の2種類説明します。コマンドの使用は慣れると早くできますが、どちらでも同じように作成できるのでやり易い方を選んでください。
コマンドを使用したデータベースの新規作成
コマンドを実行するために、Windowsの場合はコマンドプロンプトを管理者モードで起動、Macの場合はターミナルを起動します。
XAMPP/MAMPを起動し、 MySQL、Apacheを起動します。
MySQLにログインします。
mysql -u root -p
データベースを新規作成し権限付与します。
create database [データベース名] character set utf8; grant all on [データベース名].* to '[ユーザー名]'@'localhost' identified by '[パスワード]';
XAMPP/MAMP/DS216jからデータベースの新規作成
XAMPP/MAMP/DS216jからMySQLのphpMyAdminコンソールを起動しログインします。
XAMPPの場合は起動画面のAdminボタンかlocalhostのルートで表示されるトップページの上部にphpMyAdminへのリンクがあります。
MAMPの場合は起動画面からWebStartページを開いて、ページ上部のツールメニューからphpMyAdminへのリンクがあります。
DS216jの場合はDSMからphpMyAdminコンソールを起動します。
ログインしたら上部メニューにあるデータベースを選択し、「データベースを作成する」に新規作成するデータベース名(サーバーで使用しているデータベース名を推奨)を入力し、「照合順序」はutf8_general_ciを選択して作成ボタンを入力します。
ローカル環境のデータベースにレンタルサーバーのデータベースをインポート
phpMyAdmin画面左サイドメニューから先ほど作成したデータベースを選択します。
phpMyAdmin画面上部メニューにある「インポート」を選択し、「ファイルを選択」ボタンを押して先ほどエクスポートしたレンタルサーバーのデータベースファイル(.sql)を選択しファイルの文字セットでuft-8を設定してページ下部にある実行ボタンを押します。
※以下メッセージが表示されてインポート出来ない場合
このエラーが表示されたときはphp.iniの設定にあるファイルの最大値を変更すると解消できます。
・php.ini を開く
XAMPPの場合は「C:\xampp\php」配下にあります。
MAMPの場合は「/Apptiolications/MAMP/bin/php/phpx.x.x/conf」配下にあります。MAMPは複数のphp環境がインストールされるので、アプリで設定しているphpバージョン配下のphp.iniを修正してください。
・「; Maximum allowed size for uploaded files.」行以下の値を2Mから10MB等に変更
upload_max_filesize = 10M (初期値は2MBに設定されています。MAMPは32MBに設定されているのでこのエラーは表示されないかもしれません。)
・XAMPPもしくはMAMPのMySQL、Apache 再起動して再度インポートを実行してください。
レンタルサーバーからダウンロードしたWordPressフォルダにあるwp-config.phpファイルを修正
ダウンロードしたWordPressフォルダの中にあるwp-config.phpをローカル環境用に修正します。
/** WordPress のためのデータベース名 */ define('DB_NAME', 'wordpress'); ←作成したデータベース名を入力 /** MySQL データベースのユーザー名 */ define('DB_USER', 'root'); ←rootを入力 /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'xxxxxxxx'); ←rootのパスワードを入力 /** MySQL のホスト名 */ define('DB_HOST', 'localhost'); ←localhostを入力
※レンタルサーバーとローカル環境のディレクトリ構成が違う場合は、.htaccessファイルも修正して下さい。このファイルはWordPressで構築したWebサイトのルートにあります。
例えば、レンタルサーバーはhttp://hogehoge.comをルートとしてWebサイトが表示されていると、ファイル内は以下の記載になっています。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
これをローカル環境に移行する際に、「http://localhost/wordpress」をルートとして構築する場合は以下のように変更します。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ ←変更箇所 RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] ←変更箇所 </IfModule> # END WordPress
本番URLをローカルURLに書き換え
スクリプトを使用しインポートしたデータベース内の本番URLをローカルURLに書き換えます。
以下のサイトにアクセスし「DOWNLOAD V3.1.0」を押下し「Search-Replace-DB-master.zip」をダウンロードします。
Search and Replace for WordPress Databases Script
zipファイルを解凍すると「Search-Replace-DB-master」フォルダが格納されているので、こちらを「wp-config.php」と同階層にフォルダごと配置してください。
ブラウザで「http://localhost/WordPressディレクトリ名/ Search-Replace-DB-master/index.php」にアクセスすると以下の画面が表示されます。
画面上部replace項目に検索ワードを入力し、with項目に置換したいワードを入力します。databese項目はwp-config.phpの項目を自動で入力されています。
すべて入力できたら、actions項目の「dry run」ボタンを押してまず試験的に実行します。すると以下のような画面が表示されます。
検索したテーブルと行の一覧が表示され、変更候補がリンク付きで表示されます。リンクをクリックすると変更箇所の詳細を表示することができます。
確認して問題なければ「live run」ボタンを押して実際の置換を実行します。実行後は置換結果として上記と同じ画面が表示されます。
ローカル環境にログインしてWordPressの動作を確認
Webブラウザから「http://localhost/WordPressフォルダ名」にアクセスし、全ての固定ページ、投稿ページ、メニューなどに使われているリンクが正常に動作するか確認してください。
問題なく動作すればすべて完了です。お疲れ様でした。
関連: