WordPressサーバ移転まとめ
Table of Contents WP引越しの手引き
ありがとうロリポ!こんにちはXREA+!
この土・日をかけてWordPressをホスティングしているレンタルサーバの乗り換えを行いました。ロリポも悪くないとは思うのですが、WordPressを運用していること、エントリ数も増えてきたこと、MySQLサーバが通常のサーバと別であることや1サーバあたりの収容人数が多いことなどを理由としてMySQLのレスポンスが日に日に遅くなってきたため、泣く泣く移転を決意しました(DBを使わないような静的ページのサイトであればリーズナブルでいいと思うんですけどね)。XREA+を選んだのはkohakuさん、bonoさんをはじめ多くの方がすでにWordPressの運用をされていて、MySQLのレスポンスも良好ということが決め手でした。
WordPressのサーバ移転をまとめます
実はWordPressのサーバ移転はこれが始めてではありません。ロリポのMySQL鯖が重くなってきた頃、MySQL鯖だけこっそりと新しいものに引越しをしていたのでした(  ̄ノ∇ ̄) ̄ー ̄)。そのときにきちんとメモを取っておかなかったため、今回も四苦八苦。きっちりとメモしておこうというのがこのエントリの趣旨です。
(と思っていたら、時を同じくしてlomoさんがXREA+に移転されていました。参照:WordPressの別サーバー移転メモ | caramel*vanilla。内容がかぶってしまっていますが、細々とやり方が違うので、情報を補完できれば…いいよね?)
旧サーバからDBをエクスポート
※以下、新サーバにとりあえずWordPressのインストールが終わっている状態で読み進めてください。DBごと旧サーバのものを書き込むので、細かい設定は不要です。XREAにWPをインストールして文字化けするようであれば、bonoさんところのハックを参照:power source* » XREAにUTF8設置時の文字化け: 3)解決編:。
WordPressのデータ本体はMySQLのDBにあるので、これを新サーバに持っていくことが目下の課題となります。WordPress 2.0にはdatabase backupプラグインというものも標準でついているのですが、これロリポでは動かないことが多いです(´;ω;`)。エントリ数が多いと負荷がかかりすぎて途中で止まってしまうんですね。ここでは通常通りphpmyadminを使ってエクスポートします。
phpmyadminにログインするとこんな感じの画面が表示されると思うので、左の赤枠の部分(データベース名が表示されていると思います)をクリック。
すると右フレームの画面が上の画像のようになるので、さらに赤枠のエクスポートをクリック。
上の写真の画面では、赤枠の『「DROP TABLE」を追加する』と『ファイルで保存する』にチェック。エクスポートのところにTABLEのリストが表示されるので、エクスポートしたい必要なTABLEだけを選んでやります(CTRLを押しながらクリックすることで、複数選択できます)。最低限必要なのは、
- wp_categories
- wp_comments
- wp_linkcategories
- wp_links
- wp_options
- wp_post2cat
- wp_postmeta
- wp_posts
- wp_usermeta
- wp_users
の10個かな(wpの部分は設定のプレフィックスによって違います)。このほかにも利用しているプラグインによっては選ぶものが増えると思います。私はUltimate Tag Warriorを使っているので、
- wp_post2tag
- wp_tag_synonyms
- wp_tags
の3つもエクスポートしてやりました。stattraqやbstatsのログはすべて諦めます…。容量大き過ぎです…。
wp_optionsにちょこっとおまじない
今の状態は旧サーバで公開している状態だと思うので、このままインポートしてしまうとWordPressの管理画面にログインできなくなってしまいます。DBの文字コード(おそらくUTF-8かEUC-JP)を扱えるエディタでさきほどエクスポートしたファイルを開いてやります(サクラエディタがhiromasaさんオススメ)。「wpt_options」で検索すると、INSERT INTO `wp_options` VALUES (1, 0, 'siteurl', 'Y', 1, 'http://www.oldserver.yo/‘, 20, 8, ‘WordPress のアドレス’, 1, ‘yes’);
と
INSERT INTO `wp_options` VALUES (40, 0, 'home', 'Y', 1, 'http://www.oldserver.yo‘, 20, 8, ”, 1, ‘yes’);
という二つの文に旧サーバ名が見つかるかと思います。ここがそれぞれ管理画面>一般設定の「WordPressのアドレス」、「ホームページアドレス」に対応しているので、ここに新サーバでの「WordPressシステムのあるアドレス」、「公開したいアドレス」を書き込みます。WordPressシステムの場所と公開したいアドレスが一緒の場合は同じものになります。私の場合、http://odyssey.sxxx.xrea.comです。ドメインで公開したい場合も今は新サーバでもらっているアドレスを暫定的に入力しておきます。すべての設定が終わった後でドメイン名に変えてやればOKです。
新しいサーバにDBをインポート!
ファイルを保存したら、新サーバにphpmyadminを開き、一旦現在あるDBのテーブルを削除してやります。すべて綺麗になったところで改めて、さきほどのDBのファイルをインポート。
うまくインポートできたら、新サーバのWordPressにアクセスしてみましょう。ここまでうまくいっていれば、アドレス以外は今までと同じ状況が復元できていると思います。
※phpmyadminのDBが文字化けしているようであれば、phpmyadminをハックすることで対処できます。(ファイルの位置はご自分の環境に合わせて読み替えてください。例はXREAの場合です)/public_html/log/phpmyadmin/librariesにあるdatabase_interface.lib.phpの中に
PMA_DBI_query('SET NAMES ' . $mysql_charset . ';', $link,
PMA_DBI_QUERY_STORE);
という二行があるので、この二行をコメントアウト(先頭に//を付加)してやればOKです。
最後にドメイン設定して完了
残りは簡単。新サーバ側でネームサーバを設定(XREAはここで新規ネームサーバを作成)。わたしはロリポのときにmuumuu-domainにてドメインを管理しているので、これをそのまま使ったため、以下のようにDNSを変更。
さらに、XREA側でドメインウェブの設定をしてやればOK!(XREAコンパネ→マイドメイン利用→ドメインウェブ)以下のようにすると、XREAのアドレスを維持しながら、www付ドメイン、wwwなしドメインのいずれからもアクセスできるようになります。
おつかれさまでした!
日曜日長々とお付き合いくださった、hiromasaさん、kohakuさん、akaさんありがとうございました!
よもやこんなことになっていようとは…。
おでさん、作業&記事まとめ、お疲れさまでした!
XREAユーザが増えて心強いですー。
ぼのはまだ普通のインポートもしたことがなくて、DB が壊れたら復旧できなさそうだなあと思っていたので、詳しくて分かりやすい説明で、とてもありがたいです。
今まで、バックアップ用にエクスポートするときに SQLオプションをデフォルトのまま行なっていたのですけれども、 『「DROP TABLE」を追加する』にチェックが入ってなかったです。。。壊れなくてよかったー。(^-^;
コメント by ぼの — 2007/1/23 火曜日 @ 22:01:20
わたしもまだまだMySQLはよく分からないんですが、DROP TABLEを追加することで、既存のテーブルがあった場合削除してくれるみたいですね。
WP2.1からWPへのエクスポートができるようになるわけですけど、WordPressの設定やプラグインのデータを含めたすべてをバックアップする方法は引き続きphpmyadmin頼みになるんじゃないかなぁと思ってます。
お役に立てればいいな(´ー`)
コメント by おで — 2007/1/23 火曜日 @ 23:58:10
私も good-bye ロリポ したいです。
どこが良いかなー
コメント by aka — 2007/1/26 金曜日 @ 0:40:24
>akaさん
っXREA+
なかなか快適でよござんすよ。いや、ほんとw
コメント by おで — 2007/1/26 金曜日 @ 21:19:54
→ akaさんへ@便乗レス
はじめまして。ひかげです。
営業マンではありませんが、XREAへ1票。
ロリポと比べて、コストパフォーマンスも良いと思います。
転送量も倍以上違うので、ご検討されてみては?
コメント by ひかげ — 2007/1/28 日曜日 @ 19:55:09
サーバー移転にあたって、こちらの記事が大変参考になりました。
PHPコードの読み方もわからない、子持ち主婦にも出来るWordpress!
本当に素晴らしいです~(T^T)
子供が寝てから始めて、2時間ほどで完了しました。
何日もトラブルだろうと予想してたんですけどね。
丁寧なインストラクションを本当にありがとうございました。
取り急ぎ、御礼まで(^^)
コメント by Marie — 2007/7/1 日曜日 @ 9:07:50