WordPress

サーバーの移行/引越しは簡単!?

投稿日:2017年2月24日 更新日:

運営しているサイトの5つを移行する作業を始めました。
現サーバーは残り2週間なので、それまでに新サーバーに無事に引越し出来る計算です。

まずはデータベースのない2つは簡単に終了しました。問題は残り3つのWordPressで作成したサイトです!

実は移行先のMySQLのバージョンが現サーバーより、ちょっと下がるのです。「普通は反対じゃーねーか!」と思ったけど・・・仕方ないですね。

最初はWebソフトでアップロードすることばかり考えていたのですが、FTPが繋がらない! FTP設定は正しいのにダメ!

そこでサーバーのサポートチームにメールしました。「繋がんないよ~」

アカウント名、パスワード、IPまで聞かれて、待つこと5分。

「name serverを変更してませんねえ。変更したら繋がります」

それは知ってますけど、作業に2~3日かかるので、name serverを変更する前にファイルを完全にアップロードしたいじゃないですかあ~! サイトを止めたくないから、ファイルを移行してからささーっとname serverを変更してスムース移行したいですよねえ。

まあ、その意をサポートさんに伝えると、「別のサーバーも管理画面(コントロールパネル等)でコピーすればいいよ!」

・・・ということで、昔から使っているWebソフトではなく、コピーすることにしました。

サポートは一旦切って、Google検索してYouTubeの動画で方法を勉強しました。ホントに自分は古い人間だなあと・・・ハイテク方法があったんですね! コピペ移行ですよ‼︎

でも実際は「圧縮して、ダウンロード、アップロードで移行」なので、コピペではないです。

簡単にまとめると・・・

データベースのないサイト移行の場合(htmlとか)

1. 現サイトのサーバー管理画面(コントロールパネル等)にログインして、マイフォルダから「public_html」を選択して同じ場所でいいので「圧縮」します。*サーバーによっては「public_html」 ではなく、別の名前の場合があります。

2. 圧縮したら、『ダウンロード』で自分のデスクトップでもどこでもいいので保存します。

3. 引越し先のサーバー管理画面(コントロールパネル等)にログインし、『アップロード』で圧縮したファイルを選び、ターゲット先のサイトのフォルダに入れます。

4. そのファイルを『解凍』すると「public_html」フォルダができます。中には全ての必要なファイルが入っています。

5. 「public_html」に「public_html」フォルダが入っているので全てのファイルを選択し、public_html下に『移動』します。空になったフォルダは削除してください。

6.  最後にDomain購入先のサイトにログインして、name serverを引越し先のサーバーから与えられたものに変更します。ns1.xxxxx.com、ns2.xxxxx.comとかってやつですね。

即って言っていい程、引越しが終了します。1回目のname serverの変更後の待機時間でサイトがエラーになったり、時間がかかったことはないですが、古いのに戻したりすると、寝て起きるまでエラーが続きますねえ。それ以上ずーっと待っててもサイトが非表示の場合はサーバーのサポートチームに連絡しましょう。割とすんなり解決してくれますよ!

データのあるサイト移行の場合(MySQLとか)

1. 現サイトのサーバー管理画面(コントロールパネル等)で『ファイル』下のー『バックアップ』という項目をクリックし、MySQL データのバックアップでデータ名を選択します。自分のデスクトップでもどこでもいいので保存します。

2. 引越し先のサーバー管理画面(コントロールパネル等)にログインし、同じく『バックアップ』の項目に入り、「データを修復する」を選択します。先ほど保存したファイルを選択すると、データ移行完了です。これは理想なんですがね。しかし・・・

***問題発生!!***
現サーバーと移転先のサーバーのMySQLはバージョンが違うせいか、いくら待ってもデータ移行が終了しません。なので、MySQLでインポートすることにしました。インポートに失敗すると何が悪いかエラー表示が出ます。試みると「#1273エラー – Unknown collation: ‘utf8mb4_unicode_520_ci’」。仕方なく、SQLのオペラーションでコツコツ「utf8_general_ci」に変換しました。20~30分かかりました。移行先のサーバー会社にMySQLのバージョンアップをリクエストすれば良かったかな? でも修正した方が早いかと。

***別の問題発生!!***
「#1064エラー」でした。理由はともかく、データを修正するなんて時間の無駄! と言うか無理難題! 再度インポートを試みる時に「SQL交互モード」の選択があるので「Traditional(古いバージョン)」に変更すると・・・ 成功しました!

3. データは移行完了なので、上記の[データベースのないサイトの移行]の1~6のステップを実行してください。これで移行先のサーバーにデータベースもファイルも全部揃いましたね。

4. 移行先のマイフォルダの中にあるwp-configureファイルを開いて、移行先のデータ名、ユーザー名に書き換えます。データ名とユーザー名は”abcde_example”みたいに”_”が中間に付いてます。前の部分の”abcde”が現サイトと移行先のサイトで異なって入れば、サイトはエラーになります。勿論です! 移行先のサイトの データ名、ユーザー名、パスワードを使いましょう。

後は、ドメイン会社のサイトにログインして、name serverを移行先のDNSに変更しましょう。エラーが出てないように祈ります!

2時間ぐらいして、移行先のname serverに変更されていました。

***またもや問題発生!!***
トップページは無事に出たのですが、他のページ(=リンク)は全部#404エラーで表示されませんでした。やり直しです。その前に、チェックするファイルがありますねえ。はい、アレとアレです。

  • 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

  • wp-configファイルをチェック!

データベース名、ユーザー名は移行先のサーバーで変更になってしまったのですが、ちゃーんとアップデート済みです。

最後の手段でプラグイン!

「サーバー間のMyPHPのバージョンも違うし、仕方ないプラグインでやってみるかな!」ということで、name serverを元のサーバーのDNSに戻して、2時間待ちました。元サーバーでWordPressの管理画面にログインしてプラグイン「Duplicator」をインストールしました。
最後の画面に出てくる2つのボタン「installer」と「archive」の両方をクリックして、合わせて2つのファイルを自分のコンピュータに保存しました。

次に移行先のサーバーの管理画面にアクセスして、保存した「installer」と「archive」の2つのファイルをindexのあるのと同じディレクトリにアップロードします。

ここで、name server会社の管理画面にログインして、移行先のサーバのDNSに変更します。

2時間ちょっと待ってようやく移行先サーバーに変わりました。管理画面のフォルダにある既存のwp-config.phpを削除します。移行失敗したデータベースが存在するなら、それも削除します。

ブラウザのURLに「(ドメイン名)/installer.php」を入れるとプラグイン「Duplicator 」のインストール画面が表示されました。

『Action』の『Connect and Remove ALL Date』 にチェックマークを入れて、先ほど移した圧縮ファイルを指定。データ名、ユーザー名、パスワードの項目も記入し、「Test Connection」をクリックすると、成功=Success!!
*他のデータベースのサイトは最初は失敗しました。「utf8mb4_unicode_520_ci’」や他のラテン語は全て「utf8_general_ci」に変換してから、やり直しました。ホント、コツコツ作業です!

最後の画面で「Run Update」をクリックしてサイトがちゃんと表示されるか確認してみましょう。最後のステップ3で2番目の『Test Site』でトップやリンクが正しいか確認できますが、ブラウザでチェックしても同じです。問題なければ、終了なので、閉じます。

成功すると嬉しいですよね!

結論はデータベースはプラグインでサーバー移行しよう!

結論として、データベースの付随するサイトはエラーの連続でした。サーバ間のデータ名、ユーザー名、パスワードが変わっても、wp-configファイルを変えれば良いだけなので、それが問題ではなかったと思います。

サーバー間でMySQLのバージョンが異なっていたのが理由なのか「圧縮したデータのインポートができない」、「別モードでインポートし直し」、「移行先サーバのデータ名が全然違う(仕方ないのですが・・・)」、「データ名を変更してもリンクが表示されない」、最終的にプラグインを使ったのですが、最初に使い方を間違えたせいで時間を取ってしまいました。

バックアップを取っていても、古いサーバの契約期限が切れるまでに終了したかったので、それがまあ出来たので最終的には○ですね。◎はないです!

スポンサーリンク

-WordPress

関連記事

blog

スマホのスライド式メニュー

使っているテーマのスマホのヘッドメニューは、ドロップダウンメニューなので本文が隠れるのですね。ちなみにStinger8です。 そこで、簡単にスマホのヘッドメニューをスライド式に変更しました。 実際のと …

blog

WordPressセキュリティ対策

WordPress 4.7以上のバージョンでちょっとしたセキュリティ対策が可能です。インストールの際に使ったWordPressのユーザー名と投稿者名が同じ場合、第三者にサイトを乗っ取られやすいくなりま …

blog

コメント欄をごっそり消す方法

WordPress管理者ログインするとメニューに「プラグイン」がありますね。クリックします。 右上の検索でキーワードを選択して「disable comment」と入力。コメント欄をカスタマイズできるプ …

blog

WordPressの管理画面にログインできない

WordPressの管理画面にログインできない! 困りました。突然、ログインできなくなりました。 ログインしようとすると、ブラウザで”This Page isn’t worki …

blog

CSS margin & padding の省略形

CSSのマージンとパディング marginとpaddingは-top, -bottom, -right, -leftと合わせて使いますが、省略形もありますね。 padding-top: 10px; p …

Author Profile
こつこつインフォの筆者こつ子です。
いつも兀々やってます。
出版関係のグラフィックデザイナー。
趣味はWebsiteを作ること、ヨガ、犬と山歩き、フルーツ酒作り。
読んでくれてありがとう〜!
**ご意見はこちらへ**