WordPressなどを長らく運用しているとレンタルサーバを乗り換える必要に迫られることがあります。その時の問題はデータベースやファイルが多くなることです。そこで、許容量オーバーでphpMyAdminが受け付けなくても簡単にデータベースインポートしたり、時間のかかるファイルのアップロードを簡単すませることができます。
WordPressの引っ越しを少しでも楽に!
Wordpressに限らず、レンタルサーバを乗り換える(移転)したい場合、大まかに以下のような手順が必要です。
- 旧サーバからドメイン以下のデータを丸ごとダウンロードし、データベースをエクスポートする
- 新サーバを契約する
- 新サーバにドメインを登録する
- そのドメインでアクセスされるトップフォルダにデータファイルをアップロードする
- データベースを作り、データベースをインポートする
- ネームサーバーを変更する
データが多い場合に上記の4と5が大問題になります。Wordpressなら本体だけでなく、[uploads]内にストックされている大量の画像があったり、データベースの容量が数百MBになったりします。
特に4番のファイルデータですが、数GBをFTTTPで転送するなら膨大な時間がかかります。
また5番のデータベースをサーバ上で操作できるアプリphpMyAdminは一度にインポートできるデータベースの容量が数MBだったりと非力で、小分けしながらインポートしなければならないなど制約があります。phpのファイルphp.iniを書き換えて一度にインポートできる容量を変更できないサーバなら多くの手間がかかります。
たしかに、すべてのレンタルサーバが「さくらサーバ」のレンタルサーバのようにtelenetやSSHが使えれば話は別ですが、ほとんどサーバではシェル操作は行えまません。(分からない方は無視してしてください。そんな私も詳しくない。)
しかしPHPが使えるサーバなら、以下の方法で4と5の問題を簡単に解決する可能です。
圧縮したデータをサーバ上で展開
4番の大きなファイルを転送する時間を節約する方法ですが、ファイルを圧縮してサーバ上で解凍・展開するという方法を採用します。
まず、旧サーバからダウンロードしたファイルを、わかりやすい名前でZipファイルに圧縮します。Lhaplusなどの圧縮解凍ソフトを利用します。
WordPressのファイルを丸ごと「examle.zip」として圧縮しました。
次にCUBIC4へゆき、unzip.php(zipファイルですから解凍します。)をダウンロード。
そのunzip.phpのスクリプトを書き換えるために、TeraPadなでのエディタで開き、[filename.zip]の部分を上記の圧縮したファイル名に書き換え保存します。
上記の2つのファイル、example.zipとunzip.phpを新レンタルサーバの転送したいフォルダの中にアップロードします。
最後に、ブラウザでexamle.com/unzip.php
にアクセスすると解凍されます。ほぼ一発です。ここで、まだネームサーバを新サーバに向けていないなら、Firefoxアドオン「SwitchHosts」の使い方?バックアップ用のミラーサイト構築に役立つ複数のHosts切り替えツールを利用して、PCのHostsを切り替え、新サーバのドメインへブラウザでアクセス可能です。
最後にすべてのファイルの解凍に成功したかを、旧サーバのフォルダと比較しておきます。失敗していたならやり直しです。
巨大なデータベースのインポート
次に問題なのは巨大なデータベースのインポートです。phpスクリプトBigdump.phpを利用させてもらいます。
その前に、旧サーバからphpMyAdminでエクスポートしておく必要があります。
WordPressのデータのエクスポート方法は、データベースのバックアップ – WordPress Codex 日本語版にありますが、「作成するクリエの最大長」を300へ変更してエクスポートします。sqlファイルはPCの任意の場所にダウンロードしておきます。ここでは、example.sqlと命名します。
次に、BigDump: Staggered MySQL Dump Importerから、phpスクリプトBigdump.phpをダウンロード。
解凍されたbigdump.phpをテキスト編集ソフトで開いて、以下のように新サーバで作っておいたデータベース情報、すなわちデータベースサーバ名、データベース名、新ユーザ名、パスワードを入れ、保存します。
ここで、上記のexample.sqlを書き換えたbigdump.phpを再び、新サーバのアクセスできるフォルダにアップロードします。ここでexample.com直下に配置します。
最後に、example.com/bigdump.phpにアクセすると、同じフォルダにアップロードしたexample.sqlがリストアップされてますので確認して、[Start Import]をクリックしてインポートを開始します。
しばらく時間がかかります。途中でエラーが出る場合は、旧サーバからデータベースをphpMyAdminでエクスポートした時の「作成するクリエの最大長」の値が大きすぎことです。再びこの値を小さくして例えば100などにしてエクスポートしたものを利用します。
インポートが成功した後、最念のために旧サーバのデータベースと新サーバのデータベースをphpMyAdminで開いて比較・確認しておきます。
あとは、新サーバからWordpressの管理画面へアクセスして問題ないかどうかをチェックし、最後にドメインのネームサーバを旧サーバから新サーバに変更します。
WordPressの引っ越し(サーバ移転)が初めての方は、大変だと、感じるかもしれません。私もそうでした。しかし回数を重ねるごとに、簡単になってゆきましたし、上記の方法を取ればかなり時間の節約になるようになりました。
コメント