前回の、Movable Type移行篇に続き、WordPressの移行についてまとめ。
【移転前】ロリポップ ⇒ 【移転先】エックスサーバ
こんな感じで移行しました。
MTのときにも書いたけど、移行に失敗しないようWordPressのバージョンを揃えるところから。サーバ移転するし、どうせなら最新の環境で動かしたくて、WordPress3系にバージョンアップ。
このとき、移転先のMySQLのバージョンもチェックして、違ってたら合わせる。エックスサーバーはMySQL5が使えるので、ロリポップで事前にバージョンアップすることにした。
まとめると、こんな感じ。
| サーバ | WordPress | PHP | MySQL |
|---|---|---|---|
| 移転前:ロリポップ | WordPress 2.8.4 | PHP 5.2.6 | MySQL 4.0 |
| 移転先:エックスサーバー | WordPress 3.0.4 | PHP 5.1.6 | MySQL 5.0 |
前に、Wordpress2.8へ自動アップグレードしようとして、華麗に失敗した苦い経験があるので、バックアップは入念に行う。MySQLのバージョンアップを行う前に、まずはバックアップ。面倒くさくてもバックアップ。なにはともあれ、バックアップです。
WordPressの管理画面からもバックアップできるけど、プラグインの設定が引き継げないので、「phpMyAdmin」で行う。
実際の作業は下記サイトを参考にさせてもらいました。
(参考)
エックスサーバーでMySQL5を使いたかったので、ロリポップ側でも事前にバージョンアップしておく。
ちなみに、WordPress Codexによると、WordPress 3.2からは、PHP 5.2 以上、MySQL 5.0.15 以上がサーバ要件となるみたい。まだ先の話だけどね。。
作業は下記サイトを参考に進めました。
(参考)
※メモ
「使用されている文字コード」は、「UTF-8」を選択する。元のDBはEUCだったけど、「UTF-8」じゃないと文字化けしました・・・。
続いて、データベースの設定情報を変更するため、WordPress設定ディレクトリ内の「wp-config.php」を書換。
ロリポップのマニュアルがよくまとまっていて親切です。
その前に、もう一回バックアップを取っておく。失敗は怖いです。。。
バックアップが完了したら、Wordpressを自動アップグレード!なのだが、バージョンアップの前に、「プラグインをすべて無効化」しておくこと。先人の教えに忠実に従いましょう。
アップグレードが終了したら、プラグインを有効化して、表示を確認。問題なければ、再度バックアップ。これでようやくサーバ移転用データ、ゲットです!
エックスサーバーの自動インストール機能を利用して、楽させてもらいました。ありがとう、中の人!
最初、ログインできなくて焦ったんだけど、「wp-config.php」内にWordpressのインストールディレクトリを明示的に指定して無事解決です。
(参考)
さっきバックアップしたデータを「phpMyAdmin」を使用してインポート。
作業は下記サイトを参考に進めました。
新サーバでインストールディレクトリが変更になる場合、インポート用データの画像パスを変更しないと画像が表示されない。ということで、下記2つのSQL文を発行してやりましょう。
(参考)
以上で、WordPressの移転が完了。
あとは、プラグインの動作確認とか、もろもろ検証しときましょう。
次回は、メールサーバ変更(GoogleApps)についてまとめる予定です。
がんばれ、オレ。
サーバ移転から約2週間。だいぶ落ち着いてきたので、忘れないうちにまとめておこうかと。以下、移転作業についてのメモ。
【移転前】ロリポップ ⇒ 【移転先】エックスサーバ

サーバ選びでいろいろ迷ったんだけど、結果的には、ロリポップからエックスサーバーへ移転することに。
データベースが複数個つかえて、マルチドメイン対応で、とか前提条件をいくつか決めてエックスサーバーを選んだんだけど、乗換直後にロリポのチカッパプランが誕生。もう少しタイミングが早ければ、嗚呼・・・。
全体の流れは、以下のような感じ。
今回は、「1. MT(Movable Type)の移行」についてまとめます。以下、詳細。
旧サーバでバックアップ取って、新サーバで復元するだけなのだが、移行前にMTのバージョンを揃えておくのがポイント。データ移行は、同じバージョン間じゃないとうまくいかないらしい。
ということでまずは、バックアップから。

上図の通り、管理画面の「システムメニュー>ツール>バックアップ」画面に移動。zip圧縮を選択の上、「バックアップデータを作成」ボタンをクリック。しばらくたつと、zipファイルがダウンロードされます。
※「ツール>エクスポート」だと、テンプレートデータ等がエクスポートできないので注意!
(参考)
続いて、MTを最新版にバージョンアップ。
当然のごとく、MT5へのアップグレードを考えたけど、SQLiteはサポートしてないみたいで、断念。そのうち、MySQLに移行して、MT5にするかな・・・。
結局、以下のバージョンアップを実施。
Movable Type 4.261 ⇒ Movable Type 4.28
※メモ
MTファイルをアップロードする際、転送モードは「バイナリ転送モード」を選択する。
mt.cgi等のCGIファイルは、パーミッションを「755」に変更する。
続いて、バックアップデータを復元。

※メモ
sqlitedbファイルを利用して、データ移行する際は、FTPの転送モードに注意。
ダウンロードもアップロードもバイナリモードで行うこと。
アスキーモードのままだと、mtログイン画面にて、下記エラーが発生する。
「DBD::SQLite::db prepare failed: database disk image is malformed(11)」
(参考)
バージョンアップしたMTでデータが復元されていることが確認できたら、再度バックアップを実施。新サーバへの移行に備える。
ここからようやく、新サーバでの作業。
旧サーバと同じバージョンのMTを、新サーバにインストールしていくのだが、手順は、「MTのバージョンアップ」のときとほぼ同じなので割愛。
http://blog.example.com/のように、サブドメインで公開する場合は、mt-config.cgiの「CGIPath」と「StaticWebPath」を、絶対パスで指定する必要がある。
ルート相対のままにしておくと、ディレクトリを読みにいけないため、captchが表示されないなど、不具合が発生する。
(変更前)mt-config.cgiの設定
| CGIPath | /mt/ |
|---|---|
| StaticWebPath | /mt/mt-static/ |
| StaticFilePath | ルート相対 |
↓
(変更後)mt-config.cgiの設定
| CGIPath | http://www.example.com/mt/ |
|---|---|
| StaticWebPath | http://www.example.com/mt/mt-static/ |
| StaticFilePath | (変更なし) |
(参考)
ということで、以上でMTの移転完了。
これにプラスして、プラグインの動作確認したり、移行データの検証したり、リダイレクトの設定したり、みんなにお知らせしたりと、やること盛りだくさん。ひとことで言えば大変でした。
でも、参考として挙げている数々のサイトに助けられ、無事移行が完了しました。感謝、感謝。
<結論>
サーバの移転なんて、しないに越したことないね! なんだ、この結論。。。
サーバ移転:Wordpress移行篇に続きます。
サーバの移転ではまったので覚え書きとしてメモ(というか半分以上、愚痴)。
ちょっと前から、サイトリニューアルの依頼を受けて個人で制作してた。
で、完成間近になって、さてサーバを移転するか!とDNSの設定をいじってみたがうまくいかん...。
まずは状況のまとめ
・現行サイトは独自ドメインを使用。(仮に、client-domain.com)
・サーバはロリポップを使用。(仮に、old.lolipop.jp)
・リニューアルを機にサーバをロリポップの別サーバに移転。(仮に、new.lolipop.jp)
これまでにサーバの移転を自分でやったことはなかったけど、DNSの設定を変更すりゃいいんだろ?くらいに思っていた。
が、DNSを変更しようとして重大なことに気付く。
ロリポップの場合、DNSの指定は以下のようになる。
プライマリネームサーバー uns01.lolipop.jp (IP 202.222.19.125)
セカンダリネームサーバー uns02.lolipop.jp (IP 202.222.19.126)
そう、ロリポップのレンタルサーバである限り、ネームサーバの指定値は同じなのだ。
ということはつまり、ロリポップからロリポップへのサーバ移行は、内部の設定を変更してもらわないと「無理」と言うこと。
ということで、現行サーバ管理者に早速ドメイン設定の解除を依頼した...のだが、いつまでたっても解除されない。
ロリポップに事情を話して解決方法を相談したが、「現行サーバ管理者に依頼してください」の一点張り。
これではいつまでたっても、新サーバに移行できないので、色々調べた結果、新サーバのIPアドレス当てにDNSの設定を行うこととした。
IPアドレスの調べ方(Windowsの場合)
(1) スタート > すべてのプログラム > アクセサリ > コマンドプロンプトを起動
(2) nslookup new.lolipop.jp(=調べたいサーバ)と入力してEnter
(3) 表示されたAddress: ***.***.194.77という数字がIPアドレス
IPアドレスを調べるだけなら、nslookupっていう便利なサイトがあるから、そちらを使わせてもらうのが吉。
ということで、DNSの設定をIPアドレスに変更してめでたしめでたし、と思いきや、今度はロリポップ側で403エラーが発生。
どうやら、IPアドレスをDNSの設定値にすると、ロリポップ側ではじいてしまうらしい。
しょうがないので最終手段。別サーバを用意してそこに飛ばすことに。
用意したのは、Host Mysite 101.comなる海外の無料サーバ。
無料サーバをたくさん紹介している「無料ホームページ・無料サーバー比較」というサイトから探してきた。
このサーバ、無料にも関わらずPHPにも対応してるし、広告も入らないという優れもの。
とまあ、サーバの紹介はいいとして、旧サーバのデータを「Host Mysite 101」にアップして、DNSを切り替えたところ...見事に接続できた!
画像がまったく表示されないっていうバグがあったものの、画像を別サーバに置いて、それも力ずくで解決。
この一連のサーバ移転トラブルで3日くらい悩んでた。しかも、まだリニューアル完了してないし...
まだまだ修行が足りないようです。(いろんな意味で)
最後に、この一連の作業をワークフローとして図式化しておきます。
それにしても、×多すぎ...

ドメインを取得した。
苦労してMTをインストールした後だし、ドメインの移行って大変そうだから敬遠していたのだが...。どうやらサーバの移転と違って、ドメインを変えるだけなら簡単にできるらしい。
それならってことで早速ドメインを取得。旧ドメインからの移行が無事終了したので、移行の流れを自分用のまとめとして記事にしておく。
まず、以前の状況のまとめ。
1. 使ってたのはロリポップのサブドメインプラン(hoge.lolipop.jp)。
2. hoge.lolipop.jp/blog フォルダにMovableType4.1をインストール済み
3. hoge.lolipop.jp/piyo フォルダにphpを使ったサイトを構築。
ほんとは「skylovedesign.net」でドメインが取りたかったんだけど、既に埋まっていたので代わりに「skyld.net」を取得。
以下、ドメイン移行手続きの流れ。
(1) ドメイン管理会社のサイトで、欲しいドメインを申請する。
(僕は「ムームードメイン
」で取得しました。キャンペーン期間中につき「.net」が年間649円だったので。以下、ムームードメイン+ロリポップという組み合わせでの流れを記述。)
(2) ドメイン申請の決済終了後、ムームードメインのコントロールパネルから「ドメインの取得」を選択し、ドメインを発行する。
(この手続きを行うまで、ドメインは使えない。)
(3) 同じくムームードメインのコントロールパネルから、「ネームサーバ設定変更」を選択。『ロリポップ!のネームーサーバーを使用する』をチェックした上でDNS情報を変更する。
(4) MT管理画面から、ブログのサイト設定を変更する。
(MT管理画面 > ウェブログの設定 > サイトのurlとアーカイブのurlを新しいサブドメインのurlへ書き換え > 再構築をかけ終了)
(5) 旧ドメインにアクセスしにきた人を新ドメインに飛ばすために、.htaccessでリダイレクトの設定を行う。
この(5)ではまってしまった。
googleで調べた方法、『.htaccessに Redirect permanent文を書く』ことで新ドメインにリダイレクトさせようとした。
ソースコードは以下。
Redirect permanent / http://www.skyld.net/
もうお気付きの方も多いと思うが、上のように書くと無限ループに陥っておかしなことになる。
上のコードの意味は、アクセスしてきたものはすべて http://www.skyld.net/ に飛ばしなさいということ。
こう書けば、旧ドメインにアクセスしてきた場合、新ドメインにリダイレクトすること自体は可能だが、新ドメインにたどりついた瞬間、またリダイレクトしようとして。その後も、その後も同じことを繰り返す。そう、つまり無限ループ。
この無限ループを回避するため、最終的には.htaccessにこう書いた。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(skyld\.net)(:80)?
RewriteRule ^(.*) http://www.skyld.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(hoge\.lolipop\.jp)(:80)?
RewriteRule ^(.*) http://www.skyld.net/$1 [R=301,L]
2~3行目: wwwなしのskyld.netへのアクセスをwww.skyld.netにリダイレクトする処理
4~5行目: 旧ドメインhoge.lolipop.jpへのアクセスをwww.skyld.netにリダイレクトする処理
これでドメイン移行完了。かかった時間は3時間くらい。はじめに思ってたよりは簡単だったかな。
あ、そうそう、ムームードメインでは引き続き○○○.netの割引キャンペーンをやってるみたい。8/25が締め切りなので、ドメイン取得を検討中の方は使ってみてはいかがでしょ?
あ、なんかアフィリエイトブログみたくなってる。まあ、気にせずに。
参考記事:
サブドメインへ移行しようかと。 - 我楽
dis-CHARGE.net - リダイレクトについて
セカンドノート: 独自ドメインへ移行