エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


30分でWordPressを引越し・他のサーバに引越しや開発環境の構築手順

      2017/03/11

WordPressを速いサーバへ引越しをする

 

WordPressが速く動くサーバを求め実験

 
ロリポップのサーバは Googleの Page Speed Insightsでは、サーバのレスポンススピードが遅いと言われてしまいました。
 「サーバーの応答時間を短縮する」
 「お使いのサーバーは 1.8 秒で応答しました。」
 
20150427_wp_01
 
 
そんなわけで、サーバ自体を変えることを想定して、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」を修正します。
 

 
WordPressでは URLを任意に処理できるよう .htaccessには上記のような記述があります。
 
これの 8行目を修正します。
 
修正前
RewriteRule . /index.php [L]
 
修正後
RewriteRule . /blog/index.php [L]
 
上記の例は、修正前は「http://blog.s-giken.net/」の様にドキュメントルートに置いてあった WordPressを「http://s-giken.xsrv.jp/blog/」のようにサブフォルダの中に入れて確認することを想定しています。
移動先もドキュメントルートならばここの修正は必要ありません。
 
 
続けて、「/wp-config.php」を修正します。
私の場合は 22行目~ 33行目でしたが、WordPressのバージョンによっては多少違うかもしれません。
データベースの接続情報が記述してある箇所ですので、新しく設定するサーバの情報に基づいてそれぞれ変更を行います。
ちなみに、バリューサーバの様に MySQLのホスト名が「localhost」の場合もあります。
 

 
 

3.新しいサーバにファイルをアップロード

 
修正を行ったファイルも含め、全てのファイルをサーバにアップロードします。
 
ダウンロードしてくるときは zip圧縮すると早かったのですが、アップロードするときは解凍された状態のファイルをアップロードします。
 
 
この際、画像ファイルなどのファイル名に全角文字が使われている場合は注意が必要です。
WordPressの場合は、「メディア」で気軽に全角文字のファイルをアップロードできてしまいますので、知らず知らずのうちに全角文字のファイルをサーバにアップしている場合があります。
通常の運用では特に問題にならない全角のファイル名も、サーバからダウンロード、アップロードする場合に問題になってきます。
 
WordPressで扱う文字は UTF-8で処理されていますので、同じくファイル名も UTF-8でアップロードする必要があります。
 
アップロードした画像が表示されない場合などは、日本語ファイルの文字コードを確認してみてください。
WinSCPでファイルの文字コードに UTF-8を指定してアップロードする場合は下記のサイトが参考になります。
 http://synclogue-navi.com/winscp-encode
 
 
また、BackWPupでバックアップを行った場合は、フォルダの中にデータベースの情報の SQLファイルなども入っていますのでそれはアップロードしない方が安全です。
 
 

4.データベースをインポート

 
データベースをインポートします。
 
20150427_wp_02
 
データベースのインポートは、おおよそレンタルサーバにはデータベース管理ツール 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」は少し仕様の理解が必要です。
 
 

 
「recently_edited」の項目は具体的には上記のように書かれていて、
i:0;s:60:"/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php";
これで一つのまとまりです。
 
この部分をそれぞれ新しいサーバのものに書き換えていきます。上記の場合は 5ファイルのパスが書かれていますので、それぞれ修正を行います。
 
20150427_wp_03
 
さらに、上記のように
/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に切り替える。っていう流れになるんでしょうね。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

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

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

wp_mail()関数でWordPressのスパム対策済のメールフォーム作成

WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。

WordPressで WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」と表示されてページが表示されなくなった

WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」のエラーでページが表示されない。その解決法の解説です。

Never Let Me Goで会員制サイトの退会機能を実装

会員制サイトで退会する機能を提供するプラグインの設定方法の解説。Theme My Loginなどの会員登録のプラグインと組み合わせて利用します。

BackWPupでWordPressのDBもファイルもバックアップ

BackWPupその1。BackWPupとWordPressのバックアップについての解説。

SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応
SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応

WordPressからのメールをスパム判定されずに送信する「SMTP Mailer」の解説。SMTP MailerはPHP 5.6、7.0になってもSMTP接続でエラーにならない設定を搭載しているのが特徴。

Advanced Custom Fieldsの関数の全部の使い方を調べてみた

Advanced Custom Fieldsに用意されている関数を全て調べてみた。よく使うget_field、the_field以外にも多くの関数が用意されていて、フォームを作成することも可能。

プラグインが原因で起動しないWordPressを復旧させる方法解説

プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。

WordPressの一覧ページのテンプレートの種類とファイルの設定

ファイル名に従って一覧ページのテンプレートは選択される。ルールに従ってファイル名を付けることで任意のカテゴリ、タクソノミーごとのテンプレートを指定可能。

Custom Post Type UIでカスタムタクソノミーを設定し編集する方法解説

カスタムタクソノミーを追加、管理するプラグインCustom Post Type UIの使い方の解説。プラグインの解説ではあるものの、カスタムタクソノミーの仕様の解説でもある。

Category OrderでWordPressのカテゴリを並替えよう

Category Orderは基本機能では並び替えができないカテゴリを並び替える機能を提供するプラグインです。ドラッグ&ドロップで並び替えができる簡単インターフェイスです。