むちゃくちゃ大変でした!!
苦労しました!!
さくらインターネットからエックスサーバーへのサーバー移転について様々なサイトが方法や手順を紹介していますが、サーバー移行手順を説明通りにしても全くうまくいきません。
様々なエラーに遭遇し、解決までの道のりまで四苦八苦しました。
どうしてもわからずサーバーのサポートセンターに問い合わせまでしましたが、マニュアルを見てくださいとの回答しかもらえずに、途方にくれ諦めかけました。
しかし、なんとかやり遂げようと原因の解明と対処方法を調べまくった結果、なんとか成功しました!!!
サーバー移転の手順と対策について誰かのお役に立てればということと、自分の忘備録といて紹介していきます。
エックスサーバーに変更する理由
さくらインターネットとエックスサーバーの比較
月額 | 900円(税抜) | 447円(税抜) |
---|---|---|
ディスク容量 | 200GB | 100GB |
MySQL | 50個 | 20個 |
メールアカウント | 無制限 | 10 |
独自SSL | 無料・無制限 | 有料 |
公式サイト | エックスサーバー | さくらのレンタルサーバ スタンダード |
月額換算ではエックスサーバーの方がさくらインターネットより倍の価格です。
それに合わせてスペックも倍になっています。
しかし、それ以上に魅力的なのは容量の大きさと独自SSL化が無料だという点です。
独自SSLとは情報を暗号化して送受信してくれる仕組みです。
Webサイト上で「個人情報」や「クレジットカード番号」などを登録する際に、暗号化して送受信してくれます。
普段利用しているWebサイトがSSL対応しているかは、URLの「https」となっていれば独自SSLを導入しているサイトといいうことになります。
独自SSLは今後主流になってきます。
今後、グーグルの検索アルゴリズムも独自SSLを優先すると言われています。
他にはエックスサーバーはサイトの高速化が見込めるという点から非常に期待しています。
サーバー移転の手順
エックスサーバーと契約
エックスサーバーの契約については手順通り進めればいいだけです。
もし検討中の方は下記サイトでエックスサーバーのスペックを確認し、検討材料にしてください。
さくらインターネットのデータ、ファイルをダウンロード・バックアップ
それではサーバー移転についての手順を書いて聞きます。
最初にさくらのレンタルサーバーからWordPressのフォルダを丸ごとダウンロードします。
Cyberduckは無料バージョンもあります。
wwwの下のフォルダのwpの中にあるファイルを全てダウンロードします。
Macを使用している人には定番の「Cyberduck」を使ってダウンロードしました。
FTPなら何でもOKだと思います。
FTPソフトを使用しなくてもさくらインターネットのサーバーから直接ダウンロードする方法もあると思います。
- さくらインターネットにログインしてサーバー設定をクリックする
- サイドーバーの「運用に便利なツール」の下にあるファイルマネージャーをクリックする
- wpの下にあるファイルを全てダウンロードする(人によってはwpの部分は別の名前がついているかもしれません)
環境やデータ量によりダウンロードに時間がかかります。
当ウェブサイトのダウンロードは約5GBで2時間あまりかかりました。
仕事に出かける前の時間がないときにダウンロードを始めてしまいましたが、時間にはたっぷりと余裕を持って作業した方が絶対いいです。
ダウンロードエラーとかもあったりすると途中で止まってしまいます。
WordPressフォルダのダウンロードでエラーが出る場合も考えられます。
WordPressの「Sl Captcha Anti-Spam」がダウンロードエラーになってしまいました。
エラーが出たプラグインは停止し、削除した方が良いのでしょうが、面倒だったのでエラーをスルーしてサーバー移行先にアップロードしました。
最終的にエラーが出た状態でサーバー移転しましたが、今のところ問題ありません。
WindowsであればFFFFTPやMozillFillaなどのFTPソフトを使うことになるかと思います。
データのバックアップとダウンロードは兼ねています。
念のためWordPressの定番プラグインBackWPUpでバックアップをとっておきました。
さくらインターネットのデータベースDBをエスクポート
次にさくらのデータベースをエクスポートします。
さくらインターネットの管理画面から「サーバー設定」をクリックしてログインします。
サイドバーの「アプリケーションの設定」の下にある「データベース設定」から管理ツールの「管理ツール ログイン」をクリックしてphpMyAdminへログインします。
ログイン出来たら上のタブから『エクスポート』をクリックし、対象のデータベースを選択、構造の『DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加』へチェックを入れて実行でエクスポートは完了です。
ダウンロードされたものは後で使うので分かりやすいところへ保存しておきます。
エックスサーバーでドメイン設定
引っ越し対象のドメインをエックスサーバーへ追加する作業についてです。
管理画面の「ドメイン設定」から「ドメインの追加設定」で設定します。
エックスサーバーでMySQLの設定について
エックスサーバー側でデータベースを作成します。
管理画面よりデータベースの「MySQL設定」を選択します。
「MySQL設定追加」タブよりデータベース名を入力します。
文字コードは「UTF-8」を選択して追加をクリック。
データベースが追加されたことを確認したら続けてMySQLユーザーも追加していきます。
MySQLタブを選択し、「MySQLユーザID」と任意の「パスワード」を入力し、設定します。
最後にMySQL一覧から利用するデータベースの「アクセス権未使用ユーザー」から追加ボタンをクリックすると「アクセス権使用ユーザー」に反映されます。
データベース名とアクセス権所有ユーザーは同じにしておいた方が良いです。
この後の「WP-config.php」での設定の間違いをなくすことができます。
エックスサーバーにさくらインターネットのデータベースをインポート
さくらサーバーからダウンロードしたデータベースをエックスーバーへインポートして行きます。
管理画面のデータベースより「phpmyadmin(MySQL5.7)」をクリックしてログイン。
インポートのタブより、ファイルを選択して実行、これでインポートは完了です。
インポートしたときにエラーが出る場合は記事の下に「エラーのことについて」書いていますので、参考にしてください。
WP-config.phpのデータの書き換え
さくらよりダウンロードしておいたWordPressフォルダをエックスサーバーへアップロードする前に「wp-config.php」のデータベース項目の修正をします。
wp-config.phpをエディターやサーバー内から直接開いてエックスサーバーで作成、設定したものへと修正します。
1 2 3 4 5 6 7 8 | /** WordPress のためのデータベース名 */ define('DB_NAME', 'データベース名'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'ユーザー名'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'パスワード'); /** MySQL のホスト名 */ define('DB_HOST', 'ホスト名'); |
データベースとユーザー名は下の「MySQL設定」のMySQL一覧で確認できます。
ホスト名も同じ画面で確認できます。
パスワードは先ほどMySQLユーザー追加で設定したものを入力します。
wp-config.phpの設定は以上になります。
さくらインターネットのデータをエックスサーバーにアップロード
さくらインターネットからダウンロードしたデータをエックスサーバーアップロードする前に注意することがあります。
エックスサーバーで作成したドメインの「public_html」の中にindex.htmlとpngがあるとWordPressが上手く動作しない可能性があるのでFTPなどから先に削除しておきます。
移転先の新たに作成したドメインの下の「public_html」フォルダの中にアップロードします。
エックスサーバーで動作確認URLで表示チェック
WordPressフォルダをアップロードしたらあとはネームサーバーを変更するだけなのですが、その前にエラーがないか「動作確認URL」でチェックすることが出来ます。
「動作確認URL設定の追加」タブから移行したドメインを選択し、「動作確認URL設定の追加」ボタンをクリックします。
「動作確認URL設定の一覧」から表示されたURLをクリックして表示に問題なければデータ移行は上手く行っています。
30分~1時間ほど反映には少し時間がかかります。
契約ドメインのお名前.comの管理画面でネームサーバーの書き換え
最後に、ドメインを取得・管理してある業者でネームサーバーをエックスサーバーの設定に書き換えれば作業は完了となります。
お名前.comの場合は
ドメイン一覧から対象となるドメインのネームサーバーの「変更する」をクリックします。
「他のメームサーバーを利用」を選択して下記のネームサーバーを変更します。
ネームサーバー1 | ns1.xserver.jp |
ネームサーバー2 | ns2.xserver.jp |
ネームサーバー3 | ns3.xserver.jp |
ネームサーバー4 | ns4.xserver.jp |
ネームサーバー5 | ns5.xserver.jp |
このネームサーバーを変更することによって、初めてサイトの表示がエックスサーバーへと切り替わります。
ネームサーバーは変更しても浸透するのに半日~1日以上かかるようです。
以上さくらインターネットからエックスサーバーへのサーバー移行手順でした。
サーバー移行時に発生したエラーと対処方法
サーバー移行の途中で発生したエラーに対して挫折した人はいないのかすごく不思議です。
運よく自分で対処方法を見つけて無事移行できました。
もし悩んでいる方がいるのであれば参考になればと思います。
移転元のデータベースに入れない(データベース接続確立エラー)
移転作業中に移転元のデータベースのパスワードを忘れてしまい、パスワードを変更したところ「データベース接続確立エラー」という表示が出てしまいました。
サーバーを移行する前段階でのことです。
FTPで移転元のwp-config.phpを開き、忘れたパスワードに戻したところエラーはなんとか解消しました。
さくらインターネットからデータをダウンロード時にプラグインエラー発生
行こう手順でも書きましたが、プラグインがエラーが出ましたが、最終的に面倒になりほったらかしにして移転先にアップロードしましたが、今現在問題はありません。
神経質な方はエラーになったプラグインを停止、削除した方が良いかもしれません。
エックスサーバーのMySQLでインポート時にエラーが発生
移転元のさくらインターネットの方のphpMyAdminのトップ画面左側でデータベースを選んでからエクスポートのタブをクリックしてからダウンロードする場合と、エクスポート画面からデータベース名を選択してからのダウンロードかでエラーの有無が違いました。
エクスポート画面からデータベース名を選択して実行するとインポート時にエラーが発生してしまいました。
理由はわかりません。
管理画面トップの左側からデータベースを先に選択して、エクスポートするとインポート時にエラーが出なかったのでこの方法でダウンロードしました。
動作確認URL設定での「データベース接続確立エラー」発生
これが一番大変でした。
気がつくまで丸一日かかり、その間サイトに訪問できないという大失態を犯してしまいました。
というのはデータベース接続確立エラーは間違いなくwp-config.phpのデータベース名、データベースユーザー名、パスワード、MySQLサーバー名の記述ミスだということだったので何度も間違いなく見直しましたが、修復できませんでした。
これのせいで一週間悩み尽くしました。
訳が分からずサポートセンターにまで問い合わせしましたが、マニュアルをよく見て対処してくださいと言われるだけでいよいよ手詰まりになりました。
諦めかけたときにふと見ると、移転元のさくらインターネットのphpバージョンが5.6でエックスサーバーのphpバージョン7.1とバージョンに違いがあることに気がつきました。
これはもしや!!?と思い確認するとやはりバージョンが違うことで正常に作動しない可能性があることがわかりさくらインターネット側のphpバージョンをアップすることで無事サーバーを移転することができました。
確認方法は以下の通り
- さくらインターネットはサーバー設定から「アプリケーションの設定」の「PHPのバージョン選択」から確認できます。
- エックスサーバーのPHPバージョン確認は管理画面の「ホームページ」の「PHP Ver.切替」から確認したいドメインを選択します。
phpバージョンをアップするとき「上級者向け」ということで問題があれば自己責任的に描かれていたように思います。
バージョンをあげるときはかなり緊張しましたが、特に問題なくphp7.1にバージョンアップできました。
動作確認URL設定をクリックすると上記のようにトップ画面が表示されました。
まとめ
以上、さくらインターネットからエックスサーバーへのサーバー移行まで1週間かかってしまいました。
とにかくわからないことだらけでかなり悩みました。
ロリポップでPHPのバージョンの違いについてのブログ記事があったのでそれを参考にさせてもらいました。
http://terette.com/essay/?p=407
本当にありがとうございます。
さくらインターネットのQ&Aで検索するとPHPバージョンについての記述があり確信するに至ったわけです。
http://knowledge.sakura.ad.jp/knowledge/7625/
ググってもわからない中でデータベース、MySQLについて全くわからなかった事をさわりだけ触れることができてとても勉強になったのはよかったです。
最終的にphpバージョンの違いによりデータベース接続確立エラーが発生し、さくらインターネット上のサーバー管理画面でphpバージョン5.6からphp7.1に変更し、サーバー移行を一からやり直した結果うまくいきました。
エックスサーバーのマニュアルにそのような記述を見つけることができず、苦労しました。