[トラックバック企画] みんなのお家のお雑煮見せて!

この写真は2009年のおせち料理です。

我が家にもはるばる新潟から wokamoto 餅が届きました。いよいよ2010年が近づいてきましたね。

4月に開催した WordCamp Tokyo 2009。そこから WPer の交流は WordBench を中心に全国へと広がり、10月の WordCamp Kyoto 2009 開催、来年は2月に WordCamp Fukuoka が予定されています。WPer は日本全国に、全世界にいます。

ということで、もう分かりましたね? 最近少なくなってきましたが、それはそれ。WordPress 2.9 リリース記念!トラックバック企画やっちゃいます。

お題:みんなのお家のお雑煮を見せてください!
Trackback URL: http://8bitodyssey.com/archives/1504/trackback

お正月を迎え、おいしいお雑煮をいただきま……おっとっと。食べる前にちょっとまって!食べたい気持ちをぐっとこらえて写真を撮ったらブログにアップ!この記事にトラックバックをしてください!(※この記事へのリンクを忘れないで!)

お雑煮は地域色の強い料理ですから、きっといろいろなお雑煮があって面白いはず。初めて眼にするようなお雑煮も出てくるかも?

WordPress 言うてますが、Movable Type のあなたもご遠慮なく!この機会に WP に乗り換えちゃってもいいですね(おっと)。はてなのあなたも、アメブロのあなたもライブドアのあなたももちろん、みんなまとめてレッツトラックバック!

Movable Type 3.3のベータテストが間近に

先月末にMovable TypeからWordPressに乗り換えたばかりですが、そんなときにMovable Type 3.3のベータテストがもうまもなく開始になるそうです。

Six Apart – Movable Type News: Movable Typeの新しいバージョンについて
米国 Six Apart, Ltd. のWebサイトで5月25日のTeaserにてお知らせしたとおり、間もなくMovable Typeの新しいバージョンのベータテストを開始できる見込みです。

こういうニュースを見ると、またMTが気になっちゃいます。Aさんを諦めて、Bさんと付き合ったんだけど、やっぱりAさんが気になる、みたいな(ちょっと違う)。

  • エントリー・タグと検索結果のフィードによって、コンテンツの整理と取得が簡単になります。
  • Movable TypeのUIを簡単にかつ大幅にカスタマイズできるTransformerプラグインを開発できます。
  • 一般的なコンテンツ管理作業のためにテンプレートタグが大幅に拡張されています。
  • 公開したいコンテンツだけを表示するため、テンプレートタグが強化されています。
  • Movable Type 3.3で新しくブログを作成するときに設定する項目を、以前に比べて50ほど削減し、既定値が期待通りの値になるようにしました。
  • エントリータグの機能やタグクラウド、rel=”tag”属性のサポートを追加しました。
  • URLに細かく手を入れたい、あるいは検索エンジンに最適化したい場合のために、URLスキームを選択できる上に、テンプレート編集も可能です。
  • 投稿画面の入力エリアの大きさを変えられるだけでなく、一度変えた設定は覚えておくようになっています。
  • StyleCatcherを日本語化して同梱します。

気になるのはこのあたりでしょうか。

なんか全体的にWPへのキャッチアップのような気がするのは気のせい?(´・ω・`)

[WordPress]IDを維持したままMovable Type 3.2からWordPress2.0.2へ移行する

Importing from MT 3.2 to WP 2.0.2 やってみたので忘れないうちにメモ。

MTで使っていたIDをWPでそのまま使う、Movable TypeからWordPressの移行方法については、Mudita JournalさんのImporting from MT to WordPressという記事を参考にしたのですが、この方のMTはバージョン2.6のようで、MT3.2とはファイルのプログラムの記載が若干異なっているようなので、まとめ直してみました。

MTのエクスポートスクリプト(ImportExport.pm)を編集する

まずはMovable Typeのエクスポートスクリプト(ImportExport.pm)をいじります。/lib/MT/ImportExport.pmをテキストエディタで開いて、sub exportの文字列を検索します。

その下に
$tmpl->text(<<'TEXT');
AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
TITLE: <$MTEntryTitle strip_linefeeds="1"$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
……

という文字列があります。ここにある項目がMTの書き出しによって書き出されてくるので、ここにID: <$MTEntryID$>の項目を付け足してやります。

$tmpl->text(<<'TEXT');
AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
TITLE: <$MTEntryTitle strip_linefeeds="1"$>
ID: <$MTEntryID$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
……

こんな感じに。場所は必ずここってわけでもないようですが。書き換えたら、元の位置にアップロードして上書きします。

MTの書き出しから、データをエクスポート

MT管理画面MTの管理画面のメニューから「読み込み/書き出し」を選びます。「< strong>エントリーの書き出し」タブを選んで、「(サイト名)のエントリーを書き出す」のリンク先をテキスト形式で保存します(テキストエディタで開いて、バックアップデータにMTのIDがきちんと入っていることを確認しておくことを忘れずに)

WPのインポートスクリプトを置き換える

上述したMudita JournalさんがImporting from MT to WordPressにて、MTのIDも含めてインポートできるスクリプト(?)を公開されているので、こちらを利用させてもらいます。

ダウンロードして(検索で「this one」の文字列を検索するとそこからダウンロードできます)解凍してできたmt.php/wordpressインストールディレクトリ/wp-admin/import/にアップロードして置き換えてやります。

※ Mudita Journalさんでは、元のファイルはバックアップのためmtORIG.phpに変えておくように書かれていますが、なぜかわたしの環境では mtORIG.php(mtORIGINALとかでもダメ)が邪魔して(このあと行う)スクリプトが実行されなかったので、サーバー上のファイルは上書きしてしまいました。ローカルの元ファイルは取っておくと安心かもしれませんね。

インポートを実行する

wordpressインポートメニューWordPress管理画面の「インポート」をクリックして、さらにインポート元 CMSとして「Movable type」を選択します。

MTからのインポート画面すると左のような画面になるので、さきほど作成したMTのエントリーデータを指定します。

ユーザ名を選択次にMTのエントリーを、どのユーザ名の投稿として取り込むかを選択します。全部adminとして取り込むこともできるので、これでいってみました。

インポート中取り込み中。決して忙しいわけではありません。

インポート中すべて完了しました」と出たらインポート終了です。メイン画面に戻って取り込みがきちんとできているか確認してみましょう。

.htaccessを使って旧URLへのアクセスを新URLにリダイレクトする

ここからはオプションのようなものですが、MTのエントリーへのアクセスがあった場合に、同じ内容のWPのエントリに自動的にリダイレクトするようにしてみました。

URLが移動した場合の.htaccessの書式は、
Redirect Permanent 旧URL(相対パス) 新URL(フルパス)
なので、1エントリごとに1行ずつ書いてやらないといけません。

バカ正直に書くのは激しく面倒なので、Wordpress WikiのA method for redirecting Movable Type entries to Word Press permalinks using .htaccessを参考に、MTのテンプレート作成機能を使ってファイルを一つ作ってやります。

MT管理画面の「テンプレート」→「テンプレートを新規作成」で、テンプレート名:Redirect、出力ファイル名:redirect.phpと入力(名前はこうじゃなくてもいいんですけどね)。
テンプレート内容に
<?php
require('wp-config.php');
header('Content-type: text/plain');
?>
<MTEntries lastn="999999">
Redirect Permanent /mt/archives/<$MTEntryID pad="1"$>.php http://www.yourpage.com/archives/<$MTEntryID$>
</MTEntries>

と入力します(赤字のところは、環境に合わせて修正してくださいね)。

この内容で保存→再構築してできたredirect.phpをダウンロード。テキストエディタで開いてやるといっぱい redirectが並んでいるので、これを.htaccessにコピー&ペースト&アップロードすれば完了です(アップロード先は rootディレクトリ。すでに存在する場合は上書きではなく、中身に追記してください)。

SQLite移行とmt-db-convert.cgiエラー

このブログを管理しているMovable Typeは、ロリポップのサーバーに入っているのですが、ロリポでMTを運用している方はご存知の通り、半年くらい前から猛烈に重いっっ!/(-_-)\

夜中になるとエントリの投稿や再構築だけでなく、そもそもシステムにアクセスしてもなかなか反応が帰ってこないし、たとえ再構築しても「500 Internal Server Error」を頻発していました。

しかも最近は昼間にアクセスしても反応が遅い…orz

公式には何も言われていないけれど、ロリポの一つのサーバーにお客を詰め込みすぎてるだの、MySQLサーバーにもお客を詰め込みすぎだの、大量のスパムを処理し切れなくて重いだの、だのだの、といったことが利用者の間では実しやかに囁かれています。

以前苦労して移行したMySQLのせいで重いのだとしたら、別のデータベースに移行するしかない!と意気込んで調べてみると、SQLiteがいいらしいじゃないですか。

幸いにもろりぽはSQLite対応。決めた。行くしかない。

と思ってOgawa::Memorandaさん作成のmt-db-convert.cgiに取り組んでみたものの、何度やってもエラーが出る。

An error occurred while loading data:
繧ィ繝ゥ繝シ縺檎匱逕溘@縺セ縺励◆: unable to open database file(1) at dbdimp.c line 94

何度やってもこれがでる。

パスの指定が間違ってるから出るそうなんですが、そんなことは絶対ない!自信あるもんo(ToT)o

……と思っていたら、大間違いしてました|||○| ̄|_。

パスは確かに正解でした。…が、パス書くところが間違ってました

以下、ワタクシのやり方を記述します。これでうまく行くはず。

mt-db-convert.cgiを使ったMySQL→SQLite移行方法

mt-db-convert.cgiをダウンロードする。

FTPソフトで、mt-db-convert.cgiをmt.cgiがあるのと同じフォルダにアップロードする。パーミッションはロリポなので700に(755でも動きますけどね…)

また、mt.cgiのあるフォルダから見て、./db/の中にsqliteフォルダを作ります。

ブラウザで、mt-db-convert.cgiを開く。

以下の図の通りに設定。

mt-db-convert.cgi設定図

左側はmt-config.cgiの設定が読み込まれるので、一番下のDBpasswordのみMySQLで設定したものを入力

右側はObjectDriverにSQLiteを選択。Databaseに、/db/sqlite/db.datと入力(注意!:これを入力するのは DataSourceじゃありません!!わたしのばかばかー(´Д⊂)。

Convertボタンをプッシュ!

安心して眺めましょう。エラーが出なければ完了です。

最後に出る、Your recommended setting 以下の設定をmt-config.cgiに反映したらおしまい!

おつかれさまでした。

さて、SQLiteにして再構築してみました。

早い!まるでエラーない!アクセスも快適!…と今のところ良いとこづくめです。

そのうちSQLite利用する人が多くなって重くなったりしないかなぁ?(←DBの違いをまるで理解してません)

Movable Type 3.2にアップデート

Movable Type 3.2先月末正式にリリースされたMovable Type 3.2にアップデートしました!

MT 3.2-b1-ja→MT 3.2-jaという、階段1段分くらいのステップアップのみですが、MT 3.17→MT 3.2-b1-jaのアップデートと同様の順番で行えばまったく問題なくアップデートが完了しました。

それにしてもMT 3.2のスパムフィルター機能はいいですね。

あめぇぇーりぃかとかから来る訳の分からない

カジノだの、バイアグラだの、モトローラのタダ電話だの、といった宣伝系コメントスパムはもちろん、トラックバックまできっちり捕捉して、再構築なしに消してしまえる。

言及リンクのないトラックバックもはじいてるようで、こちらからトラバしたものにお返しで送ってくださるトラバまで捕捉しちゃうところが困りモノですが…。