基本的な使い方

WordPressサイトをエックスサーバーに引っ越す(移転する)手順

投稿日:2018年5月18日 更新日:

WordPressサイトをエックスサーバーに引っ越す

WordPressサイトをエックスサーバーに引っ越す手順について説明します。

概要

基本的な手順は、WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】 に書いてあるのですが、これだけだと分からない人もいると思いますので、このページで補足していきます。

手順

0. 準備作業

エックスサーバーに引っ越す過程で、一時的に http でしかウェブサイトにアクセスできなくなります(SSL設定が反映されるまで少しタイムラグが発生するからです)。そのため、この時点で WordPress サイトに http でしかアクセスできなくても困らないようにしておくことをお勧めします。

例えば、WordPress サイトへのアクセスを強制的に https にリダイレクトさせる「WP Force SSL」といった WordPress プラグインを使っている場合は、一時的に停止させておきましょう。

また、WordPress の設定項目である「WordPressアドレス」や「サイトアドレス」に、https のURLを設定している場合も、WordPressの管理サイトへのアクセスが https になってしまうため、一時的に http にしておいた方がよいかもしれません。(エックスサーバー側の phpMyAdminを使って、直接変更することもできますが)。

1.移転元でバックアップが必要なデータの準備

WordPressサイトファイルのバックアップ

移転元サーバーから、対象のWordPressに必要なファイル一式のバックアップを取得してください。

ファイル一式のバックアップを取得するには、一般的に「FFFTP」や「Filezilla」などの『FTPソフト』を用いる方法や、移転元サーバーで提供されている『ファイルマネージャー』を用いる方法があります。

引用元:WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】

WordPress サイトのファイル」とありますが、これは wp-config.phpファイルや wp-adminディレクトリが入っているディレクトリをそのままダウンロードすればよいです。

WordPressのルートディレクトリ

これをディレクトリごと、FTPクライアントソフトウェアを使ってダウンロードしておきましょう。

元のサーバーにSSHでログインできる場合は、このディレクトリを zipで圧縮しておき、この zipファイルをダウンロードするという方法もあります。

データベースのバックアップ

phpMyAdmin が使える場合は、[エクスポート]タブからエクスポートができます。

phpMyAdminによるエクスポート
phpMyAdminによるエクスポート

元のサーバーにSSHでログインできる場合は、mysqldump コマンドでデータベースのデータをファイルに出力することもできます(mysqldumpコマンドが使える場合)。

$ mysqldump -uユーザー名 -p -h データベースサーバーホスト名 データベース名 > 出力先ファイルパス

mysqldumpコマンドのオプション

  • -u: データベースのユーザー名(ユーザーID)
  • -p: パスワードの入力を促します
  • -h: データベースのあるコンピュータ(ホスト名)(例:db.example.com

2. Xserverへの移転作業

1. ドメイン設定の追加(独自ドメインで運用する場合)

エックスサーバーで新しく独自ドメインを使用する場合は、「ドメイン設定」というのを追加する必要があります。

サーバーパネルの「ドメイン設定」メニューから「ドメイン設定の追加」を行うことができます。

ドメイン設定の追加
ドメイン設定の追加

例えば、ドメイン設定で「example.com」という独自ドメインを追加すると、以下のURLでウェブサイトを公開する準備を行ってくれます。

  • http://example.com
  • http://www.example.com

この作業によって、example.com というディレクトリが作成され、この中にある public_html ディレクトリがドキュメントルートとなり、ウェブサイトが公開されるようになります。

また、先ほど挙げたURLではなく、http://foo.example.com といったサブドメインでウェブサイトを公開したい場合は、更に「サブドメイン設定」を追加する必要があります。

サブドメイン設定の追加
サブドメイン設定の追加

サブドメインの設定を追加することによって、この場合であれば、example.com/public_html/ ディレクトリ内に、foo ディレクトリが作成され、ここが URL http://foo.example.com に対するドキュメントルートになります。

ドキュメントルートとは?

ここでの「ルート」とは、「一番上の」という意味です。
あるウェブサイトの実体である HTMLファイル(やCSS, 画像, PHPファイル等)が配置されたディレクトリの中で、一番上の階層にあたるディレクトリのことを「ドキュメントルート」と言います。

「無料独自SSLを利用する」チェックボックスについて

「ドメイン設定の追加」や「サブドメイン設定の追加」を行う画面に、「無料独自SSLを利用する」というチェックボックスがあります。しかし、無料独自SSL証明書の作成を行うためには、先にネームサーバーの設定しておく必要があるため、ここにチェックを入れておくとエラーになります(もちろん既にネームサーバーが設定してあれば問題ありません)。ですので、ここでチェックを入れておく必要はありません。あとで、ネームサーバーを設定してからSSLの設定は行います。

ウェブサイトにアクセスできるか確認しましょう

エックスサーバー上に追加した「ドメイン設定」または「サブドメイン設定」がちゃんと反映されたか、確認しましょう。反映されるまでに少し時間が掛かりますので、これ以降の作業と並行しながら、時々確認することをお勧めします。

ここで確認しておかないと、以降の作業で問題が起きた時に、「どの時点で問題が起きていたか?」が曖昧になり、原因の特定に時間が掛かってしまいます。特に、「5. サイトデータのアップロード」を行ってから、「サイトが正常に表示されない」となった場合、エックスサーバーの設定反映がまだなのか、サイトに問題があるのかすぐに判別がつきません。

方法

この段階で、引っ越し予定のURL(例:http://foo.example.com)にアクセスしても当然エックスサーバー側のウェブサイトは表示されません。引っ越し前のサーバーにあるサイトが今まで通りに表示されるだけです。

こういう場合の確認作業には、動作確認について | レンタルサーバー【エックスサーバー】 に書いてあるように、「hostsファイル」を使います。

hostsファイルについては以下のページを参考にしてください。

hostsファイルとは?

2018.05.18

例えば、このファイルに

183.181.97.xxx  foo.example.com

と1行追加しておくと、ウェブブラウザで http://foo.example.com にアクセスした時に、記述した IPアドレス 183.181.97.xxx を見に行ってくれるのです。

ということで、サーバーパネルの「サーバー情報」に記載されている IPアドレスと、目的のサーバー名を hostsファイルに書きましょう(管理者権限が必要です)。

「サーバー情報」に「IPアドレス」欄があります
「サーバー情報」に「IPアドレス」欄があります

hostsファイルに記述したら、ウェブブラウザで目的のURL (http://foo.example.com など) にアクセスしてみましょう。

「ドメイン設定」もしくは「サブドメイン設定」が反映されていない場合は、以下のように表示されます。

まだ設定が反映されていない場合の表示
まだ設定が反映されていない場合の表示

しばらく待って設定が反映されれば、以下のような表示になります(このページは、自動生成された index.htmldefault_page.png が表示されています)。

設定反映後はこのように表示されます
設定反映後はこのように表示されます

この「反映」には、最大で半日とか1日掛かるようですが、今までの経験では長くても1時間くらいで反映されています。

2. データベースの作成

ここは、WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】 に従うだけでよいです。

ただ、参照先だと「ここで何をやっているのか?」が分かりにくいと思うので、簡単な説明をしておきます。

ここでやっているのは以下です。

  1. これから追加するウェブサイト(WordPressサイト)のデータを入れるデータベースを新規に作成する。
  2. このデータベースにアクセスするための、データベースユーザーを新規に作成する。
  3. 1のデータベースにアクセスする権限を、2 で作成したユーザーに与える。

WordPress は MySQL というデータベースソフトウェアを使用します。各記事のコンテンツや設定情報などのデータをここに格納するのです。

MySQL では「データベース」という単位で「データの入れ物」を作成して使うのですが、通常、WordPress 1サイトに対して MySQL のデータベースを1つ用意します。

また MySQL では、内部で「ユーザー」を作成し、それぞれの「データベース」に対してのアクセス権限を細かく設定できるようになっています。データにアクセスする場合は、必ずどれか1つのユーザとしてアクセスする仕組みになっており、これによりアクセスしてくるユーザーの「できることの範囲」を管理できるようになっています。

それで、ここでやっている操作についてですが、ここでは1つのデータベース1人のユーザーを作成し、この2つを紐付けています。今回移行する WordPress サイトでは、内部でこのユーザーを利用してデータベースにアクセスします(この後で設定します)。こうすることで、この WordPress サイトは他のデータベースに対しては何も操作することができなくなるのです。プログラムに何か問題が起きた場合や、ハッカーにウェブサイトを乗っ取られた場合であっても、他のデータベースへ影響を与えずに済むのです。

データベースに関しては、以下のページも参考にして下さい。

データベース(MySQL)とは?

2018.05.09

3. wp-configファイルの書き換え

先ほども少し書きましたが、ここで WordPress サイトで利用するデータベースの情報を設定します。

設定する項目は以下です。

  • MySQLデータベース名
  • MySQLユーザー名
  • パスワード
  • MySQLホスト名

なぜこれをやっているのかというと、移行前の環境で使っていた「データベース名」や「ユーザー名」はエックスサーバーではほぼ100%変わるからです。

エックスサーバーでデータベースを作成する場合、データベース名の先頭に「サーバーアカウント名」が必ず付くようになっています。MySQL のユーザーを作成する場合のユーザー名も同様です。文字数制限もあります。ですので、移行前に使用していたデータベース名やユーザー名をそのまま使うことはできないのです。

また、エックスサーバーで使用する MySQLのデータベースは専用のサーバーで稼働しているため、「MySQLのホスト名」も設定しておく必要があります。これはサーバーパネルの [MySQL設定] を開くと一番下に書いてあります。

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

ここは、WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】 に従うだけでよいです。

5. サイトデータのアップロード

ここも、WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】 に従うだけでよいです。

1. ウェブサイトが正常に表示されるか確認しましょう

ここでも「1-2. ウェブサイトにアクセスできるか確認しましょう」と同じ要領で、ウェブサイトにアクセスしてみましょう。サイトデータをアップロードした後なので、本来のウェブサイトが表示されるはずです。
ちゃんと動くか確認しましょう。

ネームサーバーを変更してからでは遅いです

ネームサーバーを変更してから「ウェブサイトが正常に表示されない」「動きがおかしい」ことに気付いても、対応が面倒なことになります。ネームサーバーの変更は、反映が行き渡るまで時間が少し掛かるため、すぐに戻しても、一旦変更してしまった後のIPアドレスにアクセスされてしまうことが起きてしまいます。一部の人に、おかしなウェブサイトを見せてしまうことになるのです。

6. ネームサーバーの変更、およびサイトの動作確認

ここに関連する設定は主に2つあります。

  1. 対象となる独自ドメインのネームサーバーとして、どこのネームサーバーを使うか?の設定
  2. そのネームサーバー内のDNSレコードの設定
1. 対象となる独自ドメインのネームサーバーとして、どこのネームサーバーを使うか? の設定

通常、ネームサーバーの提供元には以下の3種類があります。

  1. ドメイン取得サービスが提供しているネームサーバー
  2. レンタルサーバーサービスが提供しているネームサーバー
  3. 独自に用意したネームサーバー

引っ越し前の時点で、1 と 3 を使っていた場合は、今使っているネームサーバーを継続して利用することができます。変更が必要になるのは、この後の「DNSレコード情報」だけです。しかし、「今後はエックスサーバーのネームサーバーを使う」ことも可能です。

2 を使っていた場合で、「旧環境のレンタルサーバーは解約するのでそちらのネームサーバーはもう使えない」ようなら、1 か 3 もしくはエックスサーバーの用意するネームサーバーのどれか使うことになります。どれでもよいです。

「どのネームサーバーを利用するか」の設定は、独自ドメインを取得したサービスの管理サイトで行えるようになっているはずです。

例えば、以下のようなページでネームサーバーを登録します。

ネームサーバーの変更ページの例
ネームサーバーの変更ページの例

この画面にあるような ns1.xserver.jp といったネームサーバー名は、そのネームサーバーを提供しているサービスの管理ページなどに載っています。

2. ネームサーバー内のDNSレコードの設定

どこの ネームサーバーを使うかを設定したら、次はそのネームサーバー内に「DNSレコード」を追加(もしくは変更)します。具体的には、サーバーの「ホスト名」と「IPアドレス」の対応付け情報を登録します。

エックスサーバーのネームサーバーを利用する場合は、基本的な情報が自動で登録されているので何もする必要はありません。

それ以外のネームサーバーを使う場合は、そのネームサーバーを提供しているサービスの管理サイトで、自分でDNSレコードを追加(または変更)する必要があります。利用しているサービスによって具体的な手順は異なりますが、基本的には「レコードの種類」「ホスト名」「IPアドレス」を登録します。以下はその例です。

  • レコードの種類: A
  • ホスト名: foo
  • IPアドレス: 183.181.97.xxx

※ ホスト名は、「*」というワイルドカードでもOKです。

この設定がインターネット上で反映されるまでには少し時間が掛かります。

TTL

同じ管理サイト内で「TTL (Time to live / キャッシュを保持する時間)」という設定項目がある場合は、そちらを小さな値にすることで、反映されるまでの時間を短くすることができます。

DNSに関しては、以下のページも参考にしてください。

レンタルサーバー利用者に役立つDNS(とネームサーバ)の知識

2018.04.12
3. 動作確認

ここでの動作確認は、hostsファイルを使う必要はありません。既に追加した行は削除しておいて下さい。

まだしばらく、旧環境のウェブサイトにもアクセスがくると思うので、1,2日くらいは旧環境のウェブサイトもアクセスできるままにしておいて下さい(旧環境のアクセスログが見れる場合は、そのログを見てアクセスがないことが分かれば、サイトを止めて構いません)。

コマンドプロンプトや PowerShell などで、以下のように ping コマンドを実行し、エックスサーバー側の IPアドレスが表示されることでも、ネームサーバーの設定変更が反映されたことを確認することができます。

コマンド実行例

> ping foo.example.com

但し、まだこの時点では http でのアクセスしか設定していません。次に、https でもアクセスできるように、SSLを設定します。

7. SSLの設定

やることはシンプルで、サーバーパネルの「SSL設定」から対象となるドメイン(もしくはサブドメイン)に対して、「独自SSL設定の追加」という操作を行うだけです。

独自SSL設定の追加
独自SSL設定の追加

これも、反映されるまで 1時間くらい掛かります。時々、ウェブブラウザから https でのURLでアクセスして確認しましょう。

本当は、もっと早い段階で、https でもアクセスできるようにしておきたいのですが、ネームサーバーを設定した後でないと無料独自SSLの設定ができないために、この順番になります。

エックスサーバーは「SSL証明書の持ち込み」ができないのですが、もしこれができるのであれば、旧環境で使っていたSSL証明書を予め持ち込んで設定しておくことができるかもしれません(旧環境で「持ち出し」ができればですが)。今後に期待しましょう。

おわりに

WordPress移転(移行)手順 | レンタルサーバー【エックスサーバー】 は非常にありがたい情報ですが、いくつか説明が足りない部分もあると感じましたので、ここで補足してみました。

レンタルサーバーサービス自体が、WordPress のようなウェブサイトをなるべく簡単に扱えるようになっていますし、やることもハッキリ決っているため、引っ越し作業は割とラクです。よくできた仕組みです。

少し引っ掛かるのは、DNSレコードの変更前に、SSLの設定ができないことです。これにより、https でのアクセスに関して言えばダウンタイムが発生してしまいます。エックスサーバーが「SSL証明書の持ち込み」に対応してくれれば、もう少し改善されると思うのですがどうでしょうか? SSLでのウェブサイト公開が当たり前の世界になるべく、Let’s Encrypt が生まれ、レンタルサーバーでもこれを利用して無料独自SSLのサービスが開始されるようになりました。しかし、まだ少し問題があるようです。「SSL証明書の発行」をもう少し柔軟にできるようにならないと、「ウェブサイトの完璧な引っ越し」は実現しないように思います。

エックスサーバー(XSERVER) の紹介

2018.03.27

参考

-基本的な使い方

執筆者:fitallright

関連記事

エックスサーバーの無料独自SSLが自動更新に失敗したら手動で更新しましょう

エックスサーバーでは 無料独自SSL といって、無料でSSL証明書を発行する機能がついています。 この機能では、Let’s Encrypt というSSL証明書を自動で生成するツールを使って …

ConoHa API を利用してサーバーを再起動するシェルスクリプトを書く

VPS である ConoHa には、API が用意されています。Web のプロトコルである HTTPS (TLS/SSL) を使って、特定のサーバーに命令を送ることで、いろいろな操作を行うことができる …

エックスサーバーで SSHログインしてデータベースをバックアップする手順

エックスサーバーでデータベースのデータをバックアップ(コピー)するには、phpMyAdmin を使うのがラクですが、何らかの理由で phpMyAdmin が使えない場合は、SSHログインしてバックアッ …

VPS に phpMyAdmin をインストールする 手順

phpMyAdmin を自分で VPS 上にインストールする手順を説明します。 (yum のようなパッケージ管理ツールは使わない方法です) 目次1. phpMyAdmin とは?インストールする場所に …

エックスサーバーに独自に Vim を導入する

エックスサーバーで借りているあるサーバーに SSHでログインしたところ vi コマンドが使えました(エックスサーバーの全てのサーバーで使えるかは不明です)。そしてこの vi コマンドは実際には vim …

ロリポップ!「スタンダードプラン」
さくらのレンタルサーバ「スタンダードプラン」