30分でWordPressを引越し・他のサーバに引越しや開発環境の構築手順
2015/12/27
WordPressを速いサーバへ引越しをする
WordPressが速く動くサーバを求め実験
ロリポップのサーバは Googleの Page Speed Insightsでは、サーバのレスポンススピードが遅いと言われてしまいました。
「サーバーの応答時間を短縮する」
「お使いのサーバーは 1.8 秒で応答しました。」
そんなわけで、サーバ自体を変えることを想定して、8個のレンタルサーバを対象にこのエス技研ブログをコピーして実際にどれくらいのスピードになるかを実験してみました。
その結果は「実測比較・レンタルサーバスピード選手権!WordPressが速いのは?」に記載しています。
結論から書くと、ヘテムル、X10、さくらプレミアムあたりがよさそうです。
ただ、月額費用を考えると、ロリポップも悪い選択じゃないということも確認できましたね。
実験を行うために行ったWordPressの引っ越し作業手順
で、この記事では、その実験を行うために必要となった WordPressを他のサーバにコピーをして動かすための手順を解説します。
この仕組みを理解できれば、他のサーバに WordPressを本格的に引越しする方法も理解できます。
WordPressを他の環境に持っていくのは結構簡単ですよ。
【手順】
1.現行サーバにあるファイル一式を取得
2.ファイルの情報を修正
3.新しいサーバにファイルをアップロード
4.データベースをインポート
5.データベースの値を変更
1.現行サーバにあるファイル一式を取得
まず、サーバにある WordPressのファイルをダウンロードします。
WordPressのファイル一式を取得するには、BackWPupでバックアップファイルを作成する方法がおススメです。
BackWPupでのバックアップ方法については、「BackWPupでバックアップ・全体バックアップ具体的設定例」に記事を書いていますので参考にしてください。
BackWPupを使わずに、普通に FTPで全ファイルをダウンロードしてきても何の問題もないのですが、BackWPupを使うとデータベースも含めて必要な全ファイルを取得し、zipで圧縮してくれますのでダウンロードしてくる時間が短縮できて便利ですね。
また、BackWPupを使わずにバックアップする場合は、データベースのバックアップも行います。
phpMyAdminで全てのテーブルを選択してエクスポートします。
2.ファイルの情報を修正
取得したファイルの中で修正が必要なファイルを修正します。
BackWPupでファイルを取得した場合は、zipファイルを解凍してから修正をします。
修正が必要なファイルは「/.htaccess」「/wp-config.php」で、いずれも WordPressが入れてあるルートフォルダにあるファイルです。
まず、「/.htaccess」を修正します。
1 2 3 4 5 6 7 8 9 10 |
# 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 |
WordPressでは URLを任意に処理できるよう .htaccessには上記のような記述があります。
これの 8行目を修正します。
修正前
RewriteRule . /index.php [L]
修正後
RewriteRule . /blog/index.php [L]
上記の例は、修正前は「http://wordpress.s-giken.net/」の様にドキュメントルートに置いてあった WordPressを「http://s-giken.xsrv.jp/blog/」のようにサブフォルダの中に入れて確認することを想定しています。
移動先もドキュメントルートならばここの修正は必要ありません。
続けて、「/wp-config.php」を修正します。
私の場合は 22行目~ 33行目でしたが、WordPressのバージョンによっては多少違うかもしれません。
データベースの接続情報が記述してある箇所ですので、新しく設定するサーバの情報に基づいてそれぞれ変更を行います。
ちなみに、バリューサーバの様に MySQLのホスト名が「localhost」の場合もあります。
1 2 3 4 5 6 7 8 9 10 11 12 |
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('DB_NAME', 'wordpress_db'); /** MySQL データベースのユーザー名 */ define('DB_USER', 's-giken_user'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'password'); /** MySQL のホスト名 */ define('DB_HOST', '11.22.33.44'); |
3.新しいサーバにファイルをアップロード
修正を行ったファイルも含め、全てのファイルをサーバにアップロードします。
ダウンロードしてくるときは zip圧縮すると早かったのですが、アップロードするときは解凍された状態のファイルをアップロードします。
この際、画像ファイルなどのファイル名に全角文字が使われている場合は注意が必要です。
WordPressの場合は、「メディア」で気軽に全角文字のファイルをアップロードできてしまいますので、知らず知らずのうちに全角文字のファイルをサーバにアップしている場合があります。
通常の運用では特に問題にならない全角のファイル名も、サーバからダウンロード、アップロードする場合に問題になってきます。
WordPressで扱う文字は UTF-8で処理されていますので、同じくファイル名も UTF-8でアップロードする必要があります。
アップロードした画像が表示されない場合などは、日本語ファイルの文字コードを確認してみてください。
WinSCPでファイルの文字コードに UTF-8を指定してアップロードする場合は下記のサイトが参考になります。
http://synclogue-navi.com/winscp-encode
また、BackWPupでバックアップを行った場合は、フォルダの中にデータベースの情報の SQLファイルなども入っていますのでそれはアップロードしない方が安全です。
4.データベースをインポート
データベースをインポートします。
データベースのインポートは、おおよそレンタルサーバにはデータベース管理ツール phpMyAdminが用意されていると思いますので、そこからインポートします。
BackWPupでファイルを取得した場合は、WordPressのルートフォルダにある「******-***.sql」と言った感じの SQLファイルをインポートします。
5.データベースの値を変更
インポートしたデータベースのレコードを修正します。
情報の変更は phpMyAdminで行います。
変更するテーブルは「wp_options」です。
修正するのは、「option_name」の項目が「siteurl」「home」および「recently_edited」のレコードの「option_value」に書かれている値です。
実際に見てもらえれば分かると思いますが、「siteurl」「home」にはサイトの URLが記載されていて、「recently_edited」にはファイルのパスが書いてあります。これを修正します。
「siteurl」「home」の方は新しいサイトの URLを記述すればいいだけですので問題ありません。URLの最後の「/」はないものが標準のようですが、ある、なしはあまり気にしないでよさそうです。
「recently_edited」は少し仕様の理解が必要です。
1 |
a:5:{i:0;s:60:"/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php";i:1;s:49:"/home/s-giken/wp-content/themes/sgiken/header.php";i:2;s:48:"/home/s-giken/wp-content/themes/sgiken/style.css";i:3;s:49:"/home/s-giken/wp-content/themes/sgiken/single.php";i:4;s:45:"/home/s-giken/wp-content/themes/sgiken/ad.php";} |
「recently_edited」の項目は具体的には上記のように書かれていて、
i:0;s:60:"/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php";
これで一つのまとまりです。
この部分をそれぞれ新しいサーバのものに書き換えていきます。上記の場合は 5ファイルのパスが書かれていますので、それぞれ修正を行います。
さらに、上記のように
/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php
この部分の情報として「i:0;s:60:」があるわけですが、この一番最後の「s:60:」の部分が文字数を表していますので、ファイルのパスを書き換えた場合は、ダブルクォートで囲まれている部分の文字数が何文字なのかを数えて修正をします。
ここで解説している手順は、データベースにインポートしてから phpMyAdminによって値を修正する方法を紹介していますが、SQL文のテキストを修正してからインポートしても問題ありません。
また、プラグインによっては必要なファイルのパスをテーブル「wp_options」に保存している場合もありますので、それを修正する必要があります。
テーブル「wp_options」はせいぜい 300~500件程度のレコードですので、上から順番に見ていく、もしくは、phpMyAdminの「検索」機能を使ってパスが書かれている箇所がないかどうかを確認します。
例えば、この記事の最初でファイルをダウンロードする際に使用した「BackWPup」ですが、バックアップのログを保存する場所の情報が「backwpup_cfg_logfolder」の項目に記述されています。
BackWPupを正常に動作させるためにはここも変更をしておく必要があります。
BackWPupは、単にパスが記述されているだけですが、先ほど説明したように文字数を設定する必要な場合もありますので、状況に合わせて文字数の値も修正しておきましょう。
これで WordPressの引越しの設定は終了ですので、WordPressをアップロードしたフォルダにアクセスすると無事にアクセスできると思います。
その他の対応内容
WordPressのシステムとしての対応はここまでで終わりなのですが
・各種設定で URLを記述している箇所の修正
・投稿内に URLでリンクを記述している箇所の修正
など、引き続き対応する必要がある箇所があります。
例えば、このブログであれば、グローバルメニューの「Home」のリンクは URLを記述しています。
また、投稿記事内で他の記事へのリンクは全て URLでリンクを記述していますので、それを置換する必要があります。
後者の投稿内のリンクは、「WordPress投稿テキストを検索・置換するSearch Regexの使い方解説」に記事を書いていますが Search Regexを使って一括置換すると便利でしょう。
ドメインも含めて引越しをする場合
お試しではなく本当に引越しをする場合についても説明しておきます。
実際の手順を確認すればわかると思いますが、ドメインが変わらなければ変更するポイントは、データベースの接続とファイルを置く場所のパスの設定だけですので、作業はより簡単になります。
基本的な流れは1~5で変わりません。
ですが、2、5で行う設定情報の変更が下記の箇所だけになります。
2.ファイルの情報を修正
「.htaccess」の設定変更は必要ありません。
「/wp-config.php」のデータベースの接続情報は、サーバによって変わるところですのでここは変更が必要です。
新しいサーバの設定情報に従って変更をします。
もう一つは、
5.データベースの値を変更
テーブル「wp_options」の変更です。
「siteurl」「home」はそのままで OKで、「recently_edited」の値を新しいサーバのパスに合わせて変更するだけです。
もっとも、サーバを引越しをして、ドメインが切り替わるまで動作テストをしない、っていうのはなかなかない選択肢なので、一度レンタルサーバのドメインに切り替えて動作検証をしてから、本番 URLに切り替える。っていう流れになるんでしょうね。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
WordPress管理画面のメニューに項目を追加する方法解説
WordPressの管理画面のメニューに項目を追加する方法をサンプルソースを交えて解説します。
-
Captchaを使って WordPressのコメントスパム対策をする
コメントスパム対策として入力させない対策の一つとしてCAPTCHAという方法がありそれを簡単に実装できるプラグインCaptchaの解説です。
-
アクセス5倍増!FC2、seesaaからWordPressに引越結果をレポート
FC2、seesaaからWordPressに引越しでアクセス数がどう変わるかのレポート。canonical、meta refresh設定とWordPressの集客力の検証しています。
-
WordPressの確認画面付フォーム MW WP Formの使い方詳細解説
WordPressの確認画面付お問い合わせフォームプラグイン「MW WP Form」の詳細解説をしています。
-
WordPressのPing・更新情報サービス設定方法とPingサーバ
WordPressのPing機能、更新情報サービスの設定方法の解説と Pingサーバのリストを提供しています。
-
BackWPupでバックアップ・Jobの設定・保存する情報の設定
BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。
-
WordPressのユーザ名を後から変更する方法。adminの使用は危険。
運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。
-
WordPressの 外観のテーマのための関数の並び順
WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。
-
BackWPupでバックアップ・リストア(復元)の具体的手順
BackWPupその9。バックアップファイルからのリストア(復元)の手順です。
-
Meta ManagerでWordPressのキーワード、ディスクリプションを編集
WordPressの基本機能にないキーワード、ディスクリプションを編集するプラグインMeta Managerの解説です。