この記事では、運用中のWordPressサイトのサーバーを引っ越しする方法について紹介します。ここではさくらレンタルサーバーへの引っ越しを前提として手順を書きますが、他のサーバーに引っ越すときも同じ流れでいけるかと思います。

 

補足:
この記事では、引っ越し作業用にサブドメインを作成して使っています。さくらレンタルサーバーはサブドメインのみを登録して使うことができますが(つまり、トップドメインは別サーバーという状況もOKということ)、それが出来ないレンタルサーバーもあるので、その点ご注意ください。

 

必要な知識

  • MySQLの基本知識(基本的なSQLが実行できる)
  • FTP接続してファイル操作が出来る

なお、一度経験してみないと分からないこともあると思うので、最初から重要なサイト行うのではなく、あまり重要ではないサイトの引っ越しで経験することを強くお勧めします。また、作業を始める前に最後まで一読するのを推奨します。

作業は自己責任で行ってください!途中1つでもミスするとサイトに繋がらなくなる可能性があるので、何か問題が生じた場合に、自分でフォローできる人が行ってください。

 

引っ越し手順

  1. 引っ越し先サーバーの契約、サーバーのIPアドレスを確認する
  2. 引っ越しに使う適当なドメインを調達して、#1のアドレスを指定する
  3. 引っ越し先サーバーのドメインを設定、#2のドメインでアクセス可能にする
  4. #3にWordPressをインストールする
  5. 引っ越し元サーバーWPからテーマとプラグインファイルをダウンロード
  6. #4に#5のファイルをアップロードする
  7. 引っ越し先サーバーの設定を行う
  8. 引っ越し元サーバーWPのエクスポートツールで、エクスポートファイルを作成する
  9. 引っ越し先サーバーWPのインポートツールで、#8をインポートする
  10. 引っ越し先サーバーWPサイトについて、十分に動作確認をする
  11. 引っ越し先サーバーWPサイトの設定を、本番用URLに変更する
  12. 引っ越し先サーバーのDBにログインして、URL書き換え作業をする
  13. 引っ越し先サーバーのドメイン設定を、本番用ドメインに変更する
  14. お名前.comにログインし、DNSを引っ越し先サーバーのIPに書き換える
  15. 後始末

 

ちょっと回りくどいやり方ですが、この方法を使うと

  • WordPressをレンタルサーバーが用意しているツールでインストールするので、その後もレンタルサーバーの管理下でWordPressの運用ができる
  • WordPressエクスポート&インポートツールで、安全にデータ移行できる
  • 引っ越し先サーバーで、引っ越し用URLを使って動作確認ができる

というメリットがあるので気に入っています。

 

1. 引っ越し先サーバーの契約、サーバーのIPアドレスを確認する

引っ越し先のさくらサーバーの準備をします。サーバーが未契約なら、レンタル契約を済ませておきます。あまり規模が大きくないサイトであれば、515yen/月のスタンダードプランで十分かと思います。

さくらのレンタルサーバ

補足:
様々な状況によって違うかと思いますが、私の管理する月間数十万PV程度のサイトでは問題無く動いています。

 

引っ越し先サーバーのIPアドレスを確認する

さくらレンタルサーバーから届くメールで、サーバーコントロールパネルへのログイン情報を確認して、コントロールパネルにログインします。

メールの表題は:「[さくらのレンタルサーバ] 仮登録完了のお知らせ」かな?

https://secure.sakura.ad.jp/rscontrol/

 

ログイン後の画面左サイドバーから、

「サーバ情報とパスワード」 >「 サーバ情報の表示」をクリック。

続いて画面右のメニューから、

「サーバに関する情報」を開きます。

サーバーに関する情報_IPアドレス表示_2x

画面に表示されたIPアドレスを控えておきます。

 

2. 引っ越しに使う適当なドメインを調達する

引っ越し先サーバーで予めサイト動作確認などをするためのドメインを調達します。ここでは、適当なサブドメインを作成して使うことにします。

お名前.comでDNS設定画面を開く

まずはサイトにアクセスします。

お名前.com

 

次のような手順でメニュー画面を開けます。

  • ログインして、画面上のメニューから「ドメイン設定」タブを選択する。
  • 「ネームサーバーの設定」の、DNS関連機能の設定を選択する。
  • 内部ドメイン一覧から、サブドメインを作成する対象ドメインを選択して「次へ進む」ボタンを押す。
  • 「DNSレコード設定を利用する」を選択する。

 

サブドメインのDNSレコードを追加する

入力の項目にそれぞれ値を設定します。

お名前com_dnsレコード設定1_2x

 

これでDNS設定が出来ました。

以下この記事では、この引っ越し用に使うドメインを{temp-domain}と記すことにします。

 

3. 引っ越し先サーバーのドメインを設定、#2のドメインでアクセス可能にする

さくらレンタルサーバーのコントロールパネルにログインして、ドメインの設定をします。

画面左サイドバーから、「ドメイン設定」を開きます。

続いて「新しいドメインの追加」を押します。

 

画面下の方にある「5. 他社で取得したドメインを移管せずに使う・属性型JPドメインを使う」のドメインの追加へ進むをクリックします。

 

他社で取得した独自ドメインの追加・属性型JPドメインの追加の入力フォームに、登録する引っ越し作業用ドメインを入力します。続く確認画面で「送信」し、「詳細設定に進む」をクリックします。

 

詳細設定画面の「#2. マルチドメインの対象のフォルダをご指定ください」の入力フォームに、フォルダ名を入力して、画面下のボタンから送信します。

ドメインの詳細設定_2x

 

ファイルマネージャーかFTPクライアントを使って、引っ越し作業用ドメイン用のフォルダを作成します。作成したフォルダに適当なhtmlファイルを置いて、動作確認を済ませておきます。DNS設定が反映されるのに時間がかかるので、最大1日ぐらい待って確認します。

 

4. #3にWordPressをインストールする

さくらレンタルサーバーのクイックインストールを使って、WordPressをインストールします。

データベースを作成する

コントロールパネルから、「アプリケーションの設定」の「データベースの設定」を開きます。続いて「データベースの新規作成」をクリックします。適当なデータベース名を入力し、エンコードをUTF-8に指定して「データベースを作成する」ボタンを押します。初めてデータベースを作成する場合は、好きなパスワードを入力します。

sakura_new_db

クイックインストール

「運用に便利なツール」の「クリックインストール」をクリックし、「ブログ」、「WordPress」を選択します。

インストール規約_2x

  • 確認:チェックを入れる
  • インストール先:引っ越し用サブドメインを選択、入力フォームに”wp”と入力する(他の文字列でもOK)
  • データベース:先ほど作成したデータベースを選択する
  • データベースのパスワードを入力する

データベースは絶対に間違えないようにします。

補足:
さくらレンタルサーバーのWordPressクイックインストールの仕様上、WordPressはルートフォルダに直接インストールすることが出来ないようです。一旦、サイトURLをhttp://{temp-domain}/wp/としてインストールします。

 

インストールボタンを押せばOKです。画面が切り替わったら「アプリケーションの設定に進む」をクリックします。

5_初期設定画面_2x

続いて「成功しました」画面が表示されればOKです。

 

サイトURLをルートフォルダに変更する

サイトURLを、http://{temp-domain}/wp/から、http://{temp-domain}に変更します。手順はWordPress Codexに掲載されています。

一通り手順を終えたらサイト表示して、URLが意図通りになっているかを確認しておきます。

 

5. 引っ越し元サーバーWPからテーマとプラグインファイルをダウンロード

引っ越し元サーバーにFTP接続し、下記フォルダをダウンロードしておきます。

  1. プラグインファイル, /wp-content/plugins
  2. テーマファイル, /wp-content/themes/{current-theme}

 

6. 引っ越し先サーバーに#5のファイルをアップロードする

先ほどダウンロードしたフォルダpluginsの直下に入っているフォルダを、引っ越し先サーバーにインストールしたWordPressのディレクトリ下の/wp-content/pluginsにアップロードします。

また、ダウンロードしたテーマフォルダを、引っ越し先サーバーのWordPressディレクトリ下の/wp-content/themesにアップロードします。

 

7. 引っ越し先サーバーの設定を行う

引っ越し先サーバーのWordPressにログインし、記事をインポートする前に終えておいた方が良い項目を中心に、各種設定を行います。

  • テーマの有効化
  • プラグインの有効化
  • パーマリンク設定

などです。ただしプラグインについては、バックアップツール、Sitemap作成ツール、Google Analyticsの認証ツールなどのプラグインは、引っ越し完了後に有効化した方が良いかと思います。

記事をインポートする前に、使用するテーマを有効化しておかないと、正しく記事がインポートされないことがあります。よくある失敗例としては、テーマがカスタム投稿タイプを使っているときに、データベースに当該投稿タイプが存在しないために、記事をインポートできないというケースです。プラグインも同様です。プラグインが、プラグイン固有の投稿タイプを使用する場合に、予めプラグインを有効化しない状態でインポートを実行すると失敗することがあります。

 

8. 引っ越し元サーバーWPのエクスポートファイルを作成する

元サイトのWordPressにログインし、ツール>エクスポートを選択して、「すべてのコンテンツ」のエクスポートファイルを作成します。

 

9. 引っ越し先サーバーWPのインポートツールで、#8をインポートする

引っ越し先サイトのWordPressにログインして、ツール>インポート>WordPressを選択します。#8でダウンロードしたエクスポートファイルを選択、Attachmentをインポートするチェックボックスにチェックを入れて、インポートを実行します。

 

10. 引っ越し先サーバーWPサイトについて、十分に動作確認をする

引っ越し先サーバーのWordPressにログインして、サイト動作を十分に確認します。

まずユーザーの設定を見直しておきます。インポートした記事の執筆ユーザーは自動的にインポートされる場合がありますが、パスワードが未設定の場合があるので確認しておきます。また、2つの同じ内容のサイトを同時に見て作業をするので、作業中のユーザーの管理画面の配色を変更しておくことをお勧めします。間違えると大変ですし、後ほどサイト切り替え完了を確認するのが楽です。

 

カスタムメニューやウィジェットなどの、外観設定は#9-#10の作業で引き継がれない点があるので、見直しておきます。また投稿編集用のプラグインを使用している場合は(Tiny MCEなど)、以前と同じように編集作業が出来るかどうかを見ておきます。

 

必要があれば、元サイトにアクセスして、現在の設定情報などを参照して、新しいサイトを修正していきます。ここで十分に動作を確認しておき、後々問題が出ないように対処しておくことが大事です。

 

11. 引っ越し先サーバーWPサイトの設定を、本番用URLに変更する

引っ越し先サーバーのWordPressにログインして、設定>一般を開きます。WordPressアドレスと、サイトアドレスそれぞれを、引っ越し用ドメインから、本番ドメインに変更します。

例えば、引っ越し用に作成したドメインがtmp.hitsuji.meで、本番ドメインがwordpress.hitsuji.me(まさにこのサイトのアドレス)だとすれば、

 修正前修正後
WordPressアドレスhttp://temp.hitsuji.me/wphttp://wordpress.hitsuji.me/wp
サイトアドレスhttp://temp.hitsuji.mehttp://wordpress.hitsuji.me

と修正すればOKです。

「変更を保存」ボタンを押したあとは、引っ越し作業が終わるまでこのサイトに触らないようにします。

 

12. 引っ越し先サーバーのDBにログインして、URL書き換え作業をする

#11の作業で全てのURLが変更されれば良いのですが、残念ながらデータベースの全てのURLが勝手に変更されないような仕組みになっております。そこでデータベースにアクセスして、引っ越し用URL→本番用URLの置換作業を行います。

ここではphpMyAdminで作業をする前提で紹介します。

さくらレンタルサーバーのコントロールパネルにログインして、データベースの設定画面を開き、「管理ツールログイン」のリンクをクリックしてphpMyAdminにログインします。

画面左に表示されたデータベース一覧から、引っ越し対象のWordPressのデータベースを選択します(絶対に間違えないように!)。

画面右にテーブルデータが表示されます。さくらレンタルサーバーのクイックインストールで入れたWordPressの場合は、テーブル名に適当なprefixが自動的に付与されています。例えばprefixが”wp59xsai2″だとすれば、

wp59xsai2commentmeta

wp59xsai2comments

wp59xsai2links

・・・という風にテーブル名が並んでいると思います。

これから変更するテーブルは、prefix+optionとprefix+postsの2つです。

SQLタブをクリックして、下記の3つのクエリを実行してください。色付きの箇所は、あなたの条件に書き換えてください。

update wp59xsai2posts set post_content=replace(post_content,'http://temp.hitsuji.me','http://wordpress.hitsuji.me');
update wp59xsai2posts set guid=replace(guid,'http://temp.hitsuji.me','http://wordpress.hitsuji.me');
update wp59xsai2options set option_value=replace(option_value,'http://temp.hitsuji.me','http://wordpress.hitsuji.me');

このようにして、postsテーブルのpost_contentカラムとguidカラム、optionテーブルのoption_valueの3つについて、それぞれURLを引っ越し作業用URLから本番用URLに書き換えます。

 

ここまでの作業で、引っ越し先のWordPressの準備が整いました。あとは、このサイトに本番URLでアクセス可能な状態に切り替える作業を行います。

 

 13. 引っ越し先サーバーのドメイン設定を、本番用ドメインに変更する

引っ越し先サーバーのドメイン設定を書き換えます。

レンタルサーバーのコントロールパネルにログインして、ドメイン設定画面を開きます。#3と全く同じ方法で、本番URLのドメインを追加します。サイトフォルダは、#3で作成したフォルダ(既にWordPressが入っている)を指定します。この段階では、まだサイトには繋がりません。

 

14. お名前.comにログインし、DNSを引っ越し先サーバーのIPに書き換える

お名前.comにログインして、本番ドメインのDNS設定を書き換えます。この作業は、サイトへのアクセス数が少ない時間帯に行うことをお勧めします。

 

お名前.comにアクセスして、手順#2と同じ要領でDNS設定画面を開き、本番サイトのIPアドレスを、手順#1で確認したIPアドレスに書き換えます。元のアドレスは、念のため手元に控えておきます。

 

DNS設定を書き換えれば、暫く時間が経過したのちに、新しいサイトに繋がるようになります(1〜4時間ぐらいかかることが多い)。#10で管理画面の色を変えておけば、色が変わった時点で分かります。

 

正しく作業をすれば、一定時間後に旧サイトから新しいサイトに自動的に切り替わって繋がるようになります。(新サイトに切り替わるまでの時間は、あなたの利用プロバイダと、DNSサーバーとの通信上の距離に依存するかと思います。)

 

万が一、新旧どちらのサイトにも繋がらなくなった場合

  • 全くページが表示されない場合は、お名前.comのDNS設定が間違っている可能性が高いです。
  • 引っ越し先のレンタルサーバーの404が表示される場合は、引っ越し先のドメイン設定が間違っている可能性が高いです。
  • 何らかWordPressのサイトが表示されるっぽいが、レイアウトが崩れているor正しく動作しないなどが生じた場合は、手順#11-12のURL書き換え設定で失敗した可能性が高いです。一旦DNS設定を旧サイトのIPアドレスに戻しつつ、引っ越し先サイトを修正する方がいいです。
  • 数時間経過しても新サイトに繋がらない場合は、これもDNS設定が反映されていないと思われるので、別のプロバイダからアクセスを試みてみるといいです(自宅、会社、携帯など、プロバイダが違うと状況が変わるかもなので)。

この引っ越し方法では旧サイトのデータベースおよびWordPressは一切変更しないので、どうしてよいか分からない場合は、慌てずDNS設定のIPアドレスを元に戻せば、一定時間後に再び旧サイトに繋がるようになります。

 

15. 後始末

引っ越し作業の後始末をします。

  • 新サイトの設定画面を開き、検索エンジンへの公開設定にチェックを入れます(検索対象とする場合)。
  • google analyticsやwebmaster tool、sitemapなどのプラグインを有効化して、動作開始させます。
  • 引っ越し用に作成したドメイン設定について、お名前.comのDNS設定と、レンタルサーバーのドメイン設定の2カ所から削除します。

新サイトを暫く運用して問題が無いことが確認できたら、旧サイトを削除します。

注意点

手順8-9でエクスポート&インポート作業をした後で旧サイトにした変更は、新サイトに引き継がれません。切り替え作業のこの隙間時間に、例えばコメントなどが投稿された場合などは、後で手動でデータを移行するなどの措置が必要になります。

 

「サイトの運用」の記事