ワードプレスのサーバー移行!コアサーバーからエックスサーバーへ

「500 Internal Server Error」になる

コアサーバーを長年使っていて使いやすいサーバーですが、安いCORE-Aを使っているからか?ワードプレスでアクセスが多いドメインのサイトが頻繁にインターナルサーバエラーになってしまってページが表示されないことがあります。

MovableTypeと違ってページを予め作らないで、PHPからそのつど生成するから負荷がかかってしまっているようです。

プランのグレードをアップすればインターナルサーバエラーにならない可能性が高いのですが、XserverのX10プランも契約しているのでそっちのサーバーでは特にエラーなど起こっていないので移行することにしました。

どのブログかというと・・・Bey.jpです。

このブログは2ヶ月ほど毎日更新したらページビューが順調に上がって今は日400ページビューいくようになって、ずっと更新していったらどんどんアクセスしてくれる人が増えることが予想されるので今のうちにサーバーを移行しておきます。

コアサーバーCORE-AからエックスサーバーX10へ移行

ワードプレスは、PHPやJS,CSS、画像ファイルなどの集合体と、データーベースのMySQLを使用していますので、ファイル全部とMySQLデーターベースのダンプを行ってダウンロードします。

ワードプレスファイルのダウンロード

ファイルのダウンロード

コアサーバーの場合は以下のようなパスになると思います。

/virtual/ID/public_html/bey.jp

FTPソフトでコアサーバーにログインしてドメインのディレクトリまるごとダウンロードします。

Coreserver ワードプレスダウンロード

僕はWinSCPを使っています。SFTP(暗号化されたFTP)も使えて普通のFTPも使えて、Putty(ターミナル)も使えてかなり便利です。

Delete Post Revisionでリビジョンを削除する

ファイルをすべてダウンロードしたら次はMySQLデーターベースをダンプしますが、半年とか1年以上記事を書いたワードプレスのMySQLデーターベースの中にはいらないリビジョンファイルが多数存在しています。

リビジョンとは投稿前の記事の状態や下書前の記事の状態を保存しておいてくれて、いざというときに前の状態にもどしてくれる便利な機能なのですが、それが溜まっていくとデーターベースがえらいデカくなってしまうので移動時にはリビジョンを削除してからやったほうがストレスなくMySQLをダンプできます。

ワードプレス Delete Post Revision プラグイン インストール

Delete-Post-Revision 新規インストール

プラグイン>新規追加から「Delete Post Revision」で検索します。 Delete-Post-Revision インストール

検索結果で表示されますのでインストール

Delete-Post-Revision インストール完了

プラグインを有効化を押すと使えるようになります。

Delete Post Revisionを使ってリビジョン削除 

Delete Post Revisionは左メニューのツール>Delete Post Revisionにあります。

Delete-Post-Revision 削除 するとこのような画面になるのでどんなリビジョンがあるのか軽くチェックします。

Delete-Post-Revision 実行

一番下の上記のような削除のボタンがあるので押します。1423こもリビジョンがあった!Delete-Post-Revision 実行完了これで綺麗さっぱりリビジョンが削除されました。

もしリビジョンをとっておきたい場合はこの作業はやってはいけません(汗)

MySQLデーターベースをダンプする

該当のMySQLデーターベースをサーバーのディレクトリトップにダンプする作業です。

Coreserverでしたら、/virtual/ID(ユーザ名)/のディレクトリにmysql_bey(bey.jpの場合).dump。というファイルができ、これをダウンロードします

coreserver-MySQLdatabase

Coreserverの管理ページにアクセスしてデーターベースを選びます。

coreserver-MySQLdatabase-ダンプ DL

存在するデーターベースが一覧表示されるので該当のラジオボタンを選んで保存ボタンを押します。

そうすると3分後程度でIDトップのディレクトリにダンプファイルが保存されていますのでダウンロードします。

coreserver-database-wscp DL

こんな風に保存されています。ちなみに古いダンプファイルは名前変更されて.backupファイルになります。

Coreserver MySQLダンプファイルDL

パソコンにダウンロードしました。

エックスサーバーでドメイン設定

こんどは、新サーバーになるXserverでドメインの設定をします。ここでドメインの設定をしてもまだネームサーバーの変更をしなければ新サーバーへはアクセスされませんので余裕をもって移動していきます。

新サーバーで正常に動くか確認してから、ネームサーバー変更を行って最終的に誰でも新サーバーにアクセスされるようになりますのでネームサーバーを変更しない限り新サーバーにアクセスされることはありません。 xserver ドメイン設定

Xserverのサーバーパネルにアクセスして「ドメイン設定」を選びます。xserver ドメイン追加設定

次にドメインを記入します。今回は、「bey」でjpドメインを選びます。

xserver ドメイン追加

ドメインの追加が完了しました。ここでXserverにbey.jpのディレクトリが作成されます。

 ワードプレスのファイル アップロード

Xserverにbey.jpのディレクトリができたら今度はアップロードします。

Coreserverからダウンロードしたフィアルを全部Xserverにアップロードしていきます。

Xserverですと/bey.jp/public_html/にアップロードします。

Xserver デフォルトファイル削除

すでに上記のような.htaccess,default_page.png,index.htmlというファイルがありますが、削除して構わないと思います。

移行後のエックスサーバーのファイル設定

wp-adminの中の.htaccess

wp-adminの中の.htaccessはCoreserver用のなので削除しました。

# 画像・ファイルアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
# プラグイン・テーマ 新規インストール/アップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 本体アップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

一応、Coreserverのwp-adminで設定していた.htaccessを備忘録で書いておきます。

 wp-config.phpの設定

wp-config.phpの以下を変更

//ini_set("session.save_path", "/virtual/ID/public_html/bey.jp/session");コメントアウト
define('DB_NAME', 'bey');
define('DB_USER', 'bey');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', 'xserverに変更');

設定が完了したら、 wp-config.phpのパーミッションを400にして管理者のみ読めるようにします。

ドメイントップの.htaccessの設定

wp-config.phpはデーターベースのパスワードなどが保存されているため他人に見られたらマズイので以下のように外部から.htaccessにアクセスできないようにしておいたほうが良いかと思います。

<files wp-config.php>
order allow,deny
deny from all
</files>

上記を.htaccessに入れておきましょう。

 phpMyAdminでMySQLダンプフィアルをインポート

専用のMySQLデーターベースとユーザを作成

xserver MySQL

Xserverのサーバーパネルの「MySQL設定」を押します。

xserver MySQLデータベース作成

「MySQLの追加」タブでデーターベース名を記入します。文字コードはそのままUTF-8にします。

xserver MySQLユーザ作成

データーベースができましたがアクセスできるユーザがいないためユーザを作成します。「MySQLユーザの追加」タブからユーザとパスワードを記入します。

xserver MySQLデータベースにユーザ追加

ユーザーができたら「MySQLの一覧」から該当データーベースのユーザを選んで追加ボタンを押します。

以上でMySQLデーターベースとユーザができました。

phpMyAdminでワードプレスのデーターベースをインポート

MySQLデーターベースとユーザができたらそれにワードプレスのデータを入れていく作業をします。phpMyAdminで旧サーバーからダンプしたmysql_bey.dumpファイルをインポートします。

xserver phpMyAdmin起動

phpMyAdminもサーバーパネルにリンクがあります。

リンクを押すとID、パスワードを聞かれますので先ほど作成したMySQLのユーザとパスワードを入力します。

xserver phpMyAdminアクセス

phpMyAdminにアクセスできたらデータベースを選びます。先ほど作ったデータベース名が左上のほうに表示されています。

xserver phpMyAdmin インポート

データベースにアクセスしたらまだテーブルが無い状態なので早速 インポートタブを押してデータをインポートしていきましょう。

参照ボタンで、旧サーバーからダンプしたmysql_bey.dumpファイルを選んで実行ボタンを押すだけです。ファイルの文字セットはそのままUTF-8にしたままです。

以上で新サーバーに今まで使っていたデータベースがそのまま使えるようになりました。

エックスサーバー 動作確認URL

Xserverには便利な機能があってサーバー移行時に使う「動作確認URL」のページがあります。これを使うとサーバー移行前でも新サーバーのページを確認でき、正常に表示されるかなどのテストができます。

Xserver 動作確認URL

Xserverのサーバーパネルの「動作確認URL」を押します。Xserver  動作確認URL設定の追加

ドメインを選びます。Xserver  動作確認URL設定の追加完了

これで仮のドメインができました。これは新サーバーの確認が終わったら削除します。

http://bey-jp.check-xserver.jp
にアクセスしたらば正常に表示できました。表示するだけならば全ページ確認できるようです。

http://bey-jp.check-xserver.jp/wp-admin
こちらにアクセスしたら今使っている
https://bey.jp/wp-admin
ここにリダイレクトしてしまったので動作確認URLではワードプレスの管理画面は使えないようです?

なので今使ってるパソコンのhostsを変えて擬似的にドメインのアクセス先を変更して設定してみます。
ワードプレスのアドミンに入って設定する必要がない場合は特にhostsを変更して無理にアドミンページに入る必要は無いかと思います。

パソコンのhostsを変更する

今回はこの記事を新しい記事をサーバーで書くこと(この記事)やちょっとした変更などを事前にやっておくためにhostsで新サーバー(xserver)にアクセスしてみます。

hostsはパソコンからアクセスするドメインとIPアドレスの対応を設定するファイルです。自分のパソコン限定でドメインのアクセス先を自由に設定できます。

開発の時にローカルのサーバーを使っている時など自由にドメインを設定できるので便利です。

今回は稼働中のドメインを移動する前に新サーバーが正常動作しているか確認のためにhostsを使います。

C:WindowsSystem32driversetchosts

このファイルを秀丸などで開きます。

hosts 秀丸

このように編集するのですが、使っているXserverのIPアドレスが分からない場合はサーバーパネルの「サーバー情報」のページに書いてあります。

hosts IPアドレス確認

hostsを設定して保存したらすぐに自分のパソコンだけ新サーバーのbey.jpにアクセスするようになります。

他のパソコンはまだ旧サーバーのCoreserverにアクセスしていますので慌てずにゆっくり作業ができます。

ネームサーバー変更

Xserverの新サーバーのサイトが正常稼働することが確認できたら最後にネームサーバーの変更をしてこのサーバー移行作業が全て完了します。

ネームサーバーの変更

コアサーバーからエックスサーバーに変更完了しました。

完了後hostsファイルを忘れずに元にもどしておきましょう。

#IPアドレス bey.jp

このように仮に設定した行を#でコメントアウトするか行を削除しましょう。

 

以上でコアサーバーからエックスサーバーの移行完了しました。

今度は500 Internal Server Error起きないといいけど・・・しばらく様子見です。

コメント

タイトルとURLをコピーしました