MT3.2日本語版とMySQLで快適楽チン
■MT3.2の変
今回は出会いネタじゃないんですが、正直焦った、驚いた。
あまりにも焦って出会いネタじゃないけど書いちゃいました。
今回はMT3.2日本語版とMySQL移行解決メモ。
朝、PCで自分のサイトを検索してみたら「アレ?何か変?」
焦りました。先ず自分のサイト名を検索してみたら、全く違うサイトに変身しているではありませんか?
そしてこのブログも…。
事の発端は9月30日の朝、ニュースサイト見てたら、その一つにMovable Type 3.2 日本語版が出たとの記事をITmediaで見つけたこと。
それじゃあ仕事から帰ったら早速アップグレードでもしようかなあ?なんて感じでその日の夜実行に移したのはいいんですが、今までだったらシックス・アパートのサイトからアップグレード版をダウンロードしてサーバーにアップすればすぐに終わった作業が、今回は時間が掛かった。
Movable Typeユーザー・マニュアルとMovable Typeのアップグレード手順とではアップグレードのやり方ちょっと違う気が…。
迷った挙句、前者の方が新しいマニュアルなので前者を参考に。
その「既存環境からのアップグレード」を見ながらやって、今回は先ず全てダウンロードするって事で、実質全て入れ替え。
まあ、入れるだけだから簡単、簡単ナンテ感じで、必要なところは書き換えてサーバーにアップ。
全てアップしたら画面の指示通り進んで、最後にアップグレードのボタンをクリックして完成…と思っていたんです。
管理画面も変更されて、設定とか使い勝手が良くなってるし、最初にインデックスだけ再構築してみると処理速度が格段に速くなってる。
しかし…再構築中に何度やっても500エラー。
■記事数によって高負荷で500エラー
「よし!全部再構築してみようっと」
この時点で記事数は数百。試しにもう一つブログを作って記事一つアップして再構築。そしたらそれは問題なく再構築できる。
記事が多過ぎるとサーバーに負荷が掛かり過ぎて再構築中に500エラーが出やすいらしい。
今までは再構築に時間が掛かることはあってもエラーになることはなかった。
MT3.2導入後、以下の様な感じでした。
インデックス…問題なしこれじゃあ使えない。
エントリー…再構築中500エラー
カテゴリー…再構築中500エラー
月別アーカイブ…再構築中500エラー
■500エラー解決法
500エラーをなくす方法としては、再構築時の負荷を減らす方法を考えればいい。
記事を減らすとか自分の場合はBerkeley DBだったので、これを圧縮掛ける等…。
ちなみに圧縮掛けるにはMT-ShrinkFInfoというプラグインがあります。
プラグイン入手と詳細は「Ogawa::Memoranda」。これはマジに便利です。
ということで、Berkeley DBからMySQLに移行することにした。
とはいってもMySQLは素人の自分には分かり難く今まで避けていた経緯があるのでスッゴク不安。
でもこのままの状態では、記事投稿とインデックスは再構築出来るけど全体の再構築が出来ない。
で、ちょっと苦労してやった方法。
○mt-config.cgi変更点
今回からmtはmt.cfgに代わるmt-config.cgiというのに変更。
でもmt.cfgでも動作はします。
ですが、今後mt-config.cgi中心になりそうな雰囲気なので、自分は変更しました。
このファイルは、自分で作ってmt-config.cgi-originalからコピーする。
その35行目
# ObjectDriver DBI::mysqlの部分の「# 」を抜く。
# Database
# DBUser
# DBPassword
# DBHost localhost
前回まで「mt-db-pass.cgi」に入力していったDBパスワードは上のようにmt-config.cgiに記入。
ObjectDriver DBI::mysql
Database 自分で作ったデータベース名
DBUser ユーザーアカウント
DBPassword 自分で作ったDBパスワード
DBHost localhost
これで、サーバーにアップロード。
次に「mt-db2sql.cgi」というCGIがサーバーに入っているか確認。
入っていなかったら、mt-db2sql.cgiを入手。
mtと同じフォルダにアップロード。
○MySQL作成
ここまでできたら次にMySQL作成。
レンタルサーバーのロリポップのMovableTypeのMySQL移行が一番分かりやすいのでこれを見ればいいけど、これだけだと出来ない。
ここでの注意点は、mt-config.cgiファイル用70行目DataSource ./dbは移行作業時、コメントアウトしない。
ここがロリポップのマニュアルと違う点ですが、こうしないとできなかった。
コメントアウトして移行しようとしてもデータは移行は出来ない。
(ちなみに自分のサーバーはロリポップではありませんが、この手のマニュアルはサーバーによって仕様等多少違う部分がありますが、参考にはなるので使えます。)
そしてさっきアップロードした「mt-db2sql.cgi」にアクセス。
ここまでうまくいっていれば、データは移行されています。
DB移行終了後、「# DataSource ./db」といった感じにコメントアウト。
dbフォルダーは、消しても残してもどっちでもいい。
移行後、表示される画面で記事数、カテゴリー数など一通り確認して終了。
最後にphpMyAdminもインストールしたので、これで読み込まれているか確認。
これで終了。
のはず…でした。
■MT3.2の管理画面での設定に注意
10月1日、検索エンジン経由で自分のメインサイトを見ると、mtの「Movable Type Publishing Platform」という管理画面になってた。
これはなぜか?
以前までアップグレードは部分的にちょっといじるだけでしたが、MT3.2からは、全てダウンロードしてアップロードする。
ここに落とし穴があったのです。
○テンプレートに注意
「全て」で、しかもデフォルトで用意されているテンプレートもアップロードされている。
今回はデフォルトのテンプレートも生成され、設定がそれになっていた。
確認しないで、再構築したので、最初はこれが反映されてしまったが、これは単にチェックミスなのですぐ直った。
■First Weblogに注意
しかも、これは自分だけかも知れませんが新たに「First Weblog」という新しいブログが生成されていた。
設定はしてなかったのでなんとなく
「ちょっといじる?」
と新しいブログを未設定のまま再構築。
その再構築の速さに感動。
そしてこのブログも再構築。
全て構築されるまで、場合によってはいままで20分くらい掛かってたのが、数分で終了。
一安心してたけど、しばらくして異変に気づく…
ブログはデザインが壊れまくり。これはすぐ修正できましたが、試しに再構築した「First Weblog」がなぜかメインのサイトのフォルダ、しかもメインサイトトップで反映されていた。
⇒メインサイトトップ
⇒このブログ
ダメ押しで、検索エンジンgoogleにキャッシュされていて、タイトルが「Movable Type Publishing Platform」となってる。
それにしてもキャッシュするの早いんじゃない?一日経ってないよ、MTでの作業が終わってgoogleにキャッシュされるまで。
普段はそれでいいんだけどね、googleさん。
再構築したならタイトルが「First Weblog」となるはずが、「Movable Type Publishing Platform」というログイン管理画面になってた。
これ↓

出先で見て気づき慌てて修正して、その数時間後、検索エンジンのキャッシュも、元のサイトタイトルに戻ってきている。
早く気づいて良かった。
MT3.2それまでのものと比べると、再構築の処理速度が速いし、投稿画面からエントリファイル名を個別に設定できたり、便利な機能が増え、管理画面もかなり使い勝手が良くなっている。
けど慣れるまでが大変かもね。俺はね。
今現在は何もなくMT3.2日本語版とMySQLで快適楽チンです。
参考:Movable Type 3.2レビュー(ITmedia)
テクノラティプロフィール
トラックバック(0)
http://www.nicemeets.com/act/mt-tb.cgi/500
ありがとうございます(^^*)
再構築エラー500で困っていたので
こちらのDB移行方法がとても参考になりました!
いろいろと丁寧に書いていただいているので
他のサイトでもおすすめさせていただきました。
いえいえ、自分の記事がお役に立てて光栄ですm(__)m
MT3.2リリース後、再構築エラー500でトラブってる方が多いらしく、自分以外でもかなり多くのブログでその状況を書いた記事を目にしました。
でもそれぞれサーバー環境とか違うみたいで、当時自分の状況と同じ解決法がなかったのでかなり考えました。
今はリリースされて時間が経っているので多くのブログで解決法が紹介されているようですね。
とにかく解決されて本当に良かったです。
再構築エラー500でほとほと諦めようと
してたので、とっても参考になりました。
御礼。
お役に立てて嬉しいです。
自分も500エラーでちょい悩みました。
特にMT3.2がリリースして間もなかったので、記事にしているブログがなかったので…
失礼します!