スポンサーリンク
お名前.comからエックスサーバーに移転
元々、サーバーもドメインもお名前.comで運営していたWordPressサイトを、サーバーだけエックスサーバーに移転したので、その手順を記しておきます。
もし同じように、WordPressサイトをお名前.comからエックスサーバーに引っ越ししたい方は参考にして下さい。
ちなみにバックアッププラグイン等は使わず、サーバーの機能に依存することも無いやり方なので、お名前→エックスサーバーじゃなくても参考にはなると思います。
引っ越した理由はこちら→お名前.comからエックスサーバーに慌てて逃げた理由
スポンサーリンク
引っ越し作業
ここではnobuo-create.netというドメインを例に説明してきます。
エックスサーバーにドメインを登録
まずはエックスサーバーに、移転したいドメイン(nobuo-create.net)を登録します。
エックスサーバーのサーバーパネルからドメイン設定に進みます。
ドメインの追加設定というタブを開いて、移転したいドメイン名を入力して追加をクリックします。
ドメインを追加したら、エックスサーバーのサーバー上のファイルツリーに、nobuo-create.netというディレクトリが作られます。FTPソフトで確認してみてください。
エックスサーバーにDBを新築する
続いて、エックスサーバーのnobuo-create.net用のデータベース(MySQL)を用意します。
サーバーパネルのMySQL設定に進みます。
MySQL追加タブを開いて、データベース名を適当に決めて新しいデータベースを作ります。
※名前はなんでもいいですが、後で使うので複数ある場合はどれが作ったやつか忘れないように。
MySQLユーザ追加タブでユーザーも作成します。名前とパスワードを決めてください。もちろんパスワードを忘れないように注意!
※既存のユーザーを使う場合は別に作らなくてもいいです。
MySQL一覧タブに戻って、先程作ったDBに、先程作ったユーザーを割り当てます。
アクセス所有権ユーザーのところに、先程作ったユーザーが追加されているのを確認してください。
これで、このユーザーを使って、新しいDBにアクセスできるようになりました。
お名前サーバーのDBのバックアップを取る
続いて、お名前サーバーから引越し前のデータベースを全部引っこ抜きます。
今度はお名前サーバーのphpMyAdminを開きましょう。
MySQLのユーザー名及びパスワードは、コントロールパネルのMySQLというところから確認できます。
phpMyAdminをインストールしていない人は導入の事前準備:phpMyAdmin | アプリケーションの設定 | 共用サーバーSD 活用ガイドを参考にして、まずはphpMyAdminを使えるようにしてください。
データベースを抜き取る前に、1つすることがあります。
wp_termmetaテーブル(接頭辞wp_は違う人もいると思います)の構造を開いて下さい。
このwp_termmetaテーブルの照合順序の値が原因で、データベースのインポートに失敗するので、今のうちに値を変更しておきます。
meta_keyとmeta_valueのそれぞれの行の照合順序の値
utf8_unicode_520_ci
を
utf8_general_ci
に変更します。
まずmeta_keyの行の変更をクリックしましょう。
照合順序の選択boxの中から、utf8_general_ciを選択して、保存するをクリックします。
同様に、meta_valueの行の照合順序もutf8_general_ciに変更します。
両方共、utf8_general_ciになっていればOKです。
あともう一箇所あります。wp_termmetaテーブルを選択した状態のままで、操作をクリックします。
テーブルオプションという枠の中に、照合順序を選択できるところがあるので、その選択ボックスでutf8_general_ciを選択した状態にして、その下にある実行をクリックします。
これでデータの編集は完了です。
ではこのデータベースの中身を取り出します。取り出したいデータベース全体を選択した状態(個別のテーブルを選択していない状態)に戻って、エクスポートというところをクリックします。
エクスポート方法というところの詳細を選択するとエクスポートする際の詳細設定を見ることができます。僕の場合、特に設定を変えなくても良かったですが、デフォルト状態が違うこともあるかも知れないので、不安な人は一応チェックしてみてください。
圧縮に関しては、してもしなくても構いません(落としてからどうせ解凍する必要があるので)。
実行をクリックしてsqlファイルをダウンロードします。
エックスサーバーのDBにデータを流し込む
ダウンロードできたら、そのデータをエックスサーバーの先程作ったデータベースに流し込みます。
と、その前にsqlファイルを少し編集する必要があります。ファイルを開いて下さい。
22行目辺り?にあるCREATE DATABASEのSQL文を消去します。
もうデータベースは作ってあるのでこの処理は要りません。というかあるとエラーになります。
※間違ってCREATE TABLEを消さないように!
※場合によってはCREATE DATABASEのSQL文が無い場合もあります。その場合はそのままで大丈夫です。
では、このsqlファイルをエックスサーバーのデータベースに流し込みましょう。
エックスサーバーのサーバーパネルのphpmyadminをクリックします。
先程作ったユーザー名とパスワードで、phpMyAdminにログインします。
データベース名が間違っていないかチェックしてください。
もし現在稼働中の他のサイト用のデータベースに間違って上書きでもしたら、取り返しがつきません!
データベース名に間違いがなければ、そのデータベース名をクリックします。
そして画面上部のインポートをクリックします。
インポートするファイルを選択するところがあるので、そこから先程編集したsqlファイルを選択して、実行するをクリックします。
※200MB以内なら圧縮しなくても大丈夫なようです。
以上でデータベースの移行は完了です。
もしインポートの途中でエラー等があった場合、テーブルの作成が途中で終わってる可能性があるので、テーブルの数が引越し前のデータベースと同じかどうかチェックしておいてください。
お名前サーバーのWordPressをDLする
続いて、FTPソフトを使って、引っ越し前(お名前サーバー)のWordPressを丸々ダウンロードします。
FTPソフトでお名前サーバーにつないで、該当のドメインのディレクトリを開きます。
ドメイン直下のディレクトリにWordPressが丸々入ったフォルダがあるはずです。フォルダ名は人によって違うかも知れませんが、wpとかwordpressとかだと思います。
このWordPressフォルダを丸々ダウンロードします。
注意! もしWordPressのバックアッププラグインを使っていて、サーバー上にバックアップを保存する設定にしている場合、とてつもなく重いファイルが大量に入っています。その場合、ダウンロードに相当な時間がかかる可能性があるので、要らない分は消すなりしてからダウンロードを行った方がいいかと思います。あと、テーマとかも要らないものは先に消してしまった方が軽くなっていいです。
WordPressをエックスサーバー用に書き換える
WordPressをダウンロードできたら、その中のwp-config.phpをエックスサーバーの情報に書き換えます。
WordPressフォルダの最上層にwp-config.phpというファイルがあるので開きます。
wp-config.phpにはこのWordPressが連携するデータベースにアクセスする為の情報が書かれています。ダウンロードした状態ではもちろんお名前サーバーのデータベースの情報が入っているので、それをエックスサーバーのデータベース(さっき作ったやつ)の情報に書き換えます。
各情報は、エックスサーバーのサーバーパネルからMySQL設定を開いて確認することができます。
パスワードは先程作ったやつです。表示はされません。
正しく書き換えられたらwp-config.phpを上書き保存します。
※誤ってクォーテーションを消したりしていないか確認してください。
エックスサーバーにWordPressをアップロードする
wp-config.phpを書き換えられたら、そのWordPress本体を、エックスサーバー側の移転先ディレクトリ(一番初めに作ったやつ)にアップロードします。
FTPソフトでエックスサーバーに接続してください。
エックスサーバーのディレクトリ構造はお名前サーバーとはちょっと違うので要注意です。
ドメインディレクトリ直下にpublic_htmlというディレクトリがあるのですが、その下が事実上のドメイン直下のディレクトリになります。
つまり、ドメイン直下に何かをファイルを置こうと思ったら、該当ドメイン下のpublic_htmlの直下に置く必要があります。
なので、WordPressを配置するのも、public_html直下です。
先程wp-config.phpを編集したWordPressを、フォルダごとpublic_htmlの直下にアップロードしてください。
index.phpと.htaccessを設置する
ドメイン直下にあるindex.phpと.htaccessは、WordPressが正常に動くための重要なファイルです。これらはお名前サーバーで使っているものをコピーしてエックスサーバーに移して使います。
index.phpをアップロードする
お名前サーバーの方のドメイン直下にあるindex.phpをダウンロードしてください。
index.phpの一番下の方に、以下のような記述があると思います。
/** Loads the WordPress Environment and Template */ require('./wp/wp-blog-header.php');
./wp/wp-blog-header.phpという記述が非常に重要なところで、このindex.phpのあるディレクトリから見て、/wp/wp-blog-header.phpが存在しないと、WordPressは全く動きません。
ディレクトリ名(wp)が違っていたり、階層が違ったりしてWordPressが機能しなくなることのないように、不安な人はwp-blog-header.phpの場所を確認してみてください。
問題がなければ、index.phpをエックスサーバーのドメイン下のpublic_htmlの直下にアップロードしてください。
index.htmlを削除する
index.phpをアップロードしても、同一ディレクトリにindex.htmlがあれば、index.phpは読み込まれません。
同名のphpファイルとhtmlファイルが存在する場合、htmlファイルが優先して読まれるというルールがある為です。
なので、index.htmlは削除してしまいましょう。
ちなみに、ドメイン直下に元々あるindex.htmlとdefault_page.pngは以下の画面を表示するためのファイルです。
.htaccessを書き換える
.htaccessファイルはwebサーバーを制御する為に書く非常に重要なファイルです。
お名前サーバーに設置している.htaccessを見てください。自分で特に編集していない場合は、WordPressに関する以下のようなコードが書かれているはずです。
# 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
一方、エックスサーバーにある.htaccessは初期状態で以下のような内容になっているかと思います。
suPHP_ConfigPath /home/サーバーID/nobuo-create.net/xserver_php/ AddHandler fcgid-script .php .phps FCGIWrapper "/home/サーバーID/nobuo-create.net/xserver_php/php-cgi" .php FCGIWrapper "/home/サーバーID/nobuo-create.net/xserver_php/php-cgi" .phps
※サーバーIDの部分はそれぞれ自分のIDが入っているはずです。
↑これはエックスサーバー独自の記述で、WordPressとは関係なく書かれているサーバーの設定の為の記述のようです。
これらのエックスサーバー独自の記述の下に、お名前サーバーで使っていたWordPressに関する記述をコピペします。
suPHP_ConfigPath /home/サーバーID/nobuo-create.net/xserver_php/ AddHandler fcgid-script .php .phps FCGIWrapper "/home/サーバーID/nobuo-create.net/xserver_php/php-cgi" .php FCGIWrapper "/home/サーバーID/nobuo-create.net/xserver_php/php-cgi" .phps # 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
要はお名前サーバーの.htaccessの内容をコピーして、エックスサーバーの.htaccessに(付け足す形で)ペーストするだけです。
新サイトの表示を確かめる
これで引っ越し作業はとりあえず完了です。
後はネームサーバーを変更するだけですが、実際にネームサーバーを変更する前に、変更後の状態を確かめることができるので、先に確かめておきましょう。
※ネームサーバーの変更は慎重にやりましょう。安易に、やっぱ戻す!とかしないように。
エックスサーバーには動作確認という機能がついています。
他社で管理されているドメインを、当サーバーに移転(ネームサーバーの切替)する前にサイト内容を確認できる動作確認URLの発行を行うことができます。
さすがです。ただこの機能は反映されるまでに時間がかかったり、WordPressサイトだと上手く反映されないことがあったりと不安定らしいので、hostsファイルを編集する方法の方が確実です。
動作確認の為のhostsファイルの編集については、エックスサーバーのマニュアルページに載っていますのでそちらを参考にしてやってみて下さい。
参考動作確認について | レンタルサーバー【エックスサーバー】
Macでhostsファイルを開くには、Finderのメニューバーの移動 → フォルダへ移動をクリックします。
出てきた入力欄に、/private/etc/hostsと入力して移動をクリックします。
すると、hostsファイルが見つかると思います。
動作確認について | レンタルサーバー【エックスサーバー】を参考にして、ネームサーバー変更後に正しくサイトが表示されているかどうか確かめてみて下さい。
※トップページだけでなく記事ページも表示されるかチェックするようにして下さい(.htaccessファイルが正しく機能していないとトップページ以外表示されないという状態になることがあります)。
ネームサーバーを変更する
動作確認で問題がないようでしたら、いよいよネームサーバーを変更します。
お名前.comのドメインnaviにログインして、該当ドメインの行のネームサーバーの列の変更するをクリックします。
他のネームサーバーを利用のタブにチェックを入れます。
5つの入力欄にエックスサーバーで設定されているネームサーバーをそれぞれ入力ます。
※エックスサーバーのネームサーバーについてはサーバーパネルのサーバー情報から確認することができます。
正しく入力できたら、確認画面へ進むから、ネームサーバー変更を実行して下さい。
ネームサーバーが完全に切り替わるには、24時間から72時間程度かかるので、しばらくはサイトの表示が不安定になるかも知れませんが、完全移行できるまで見守りましょう。
お疲れ様でした。
説明通りやったにも関わらず何か問題が発生するようでしたら、コメント欄にでもご報告いただけると嬉しいです。
書いてある通りやったら移行できたー!っていう報告を書いて頂けると、もっと嬉しいです。(^^)
こんばんは、詳しく解説してくださりありがとうございます。
とても参考になりました。
ただ、動作確認がうまくできなかったため、ネームサーバーを変更したところ、「データベース接続確立エラー」という表示が出てしまいました。
「wp-config.php」の記述は何度も確認したのですが、原因がさっぱりです。
変更してまだ時間が経ってないからかもしれないので、時間を置いて再度アクセスしてみようと思います。
by kiyose 2020/03/05 22:51
おかげ様で、試用期間の間で、記載されている方法で一定程度まで移行することができました。
ありがとうございます。
新サイトの表示を確かめるの途中までは問題なく行うことができたのですが
.htaccessの設定のせいかわかりませんが、トップページは表示されるものの、やはり下層ページがうまく表示出来ませんでした。
Wordpressの管理画面では記事データ等はアクセスできるので、取り急ぎ移行は進めようと思います。
by しゅう 2021/08/15 11:13