2008年 3月 20日 (木) 春分の日
先日 BBS の SPAM について書いたが,実はそれ以上にそれ以前からずっと悩まされていたのがトラックバック SPAM だ。ご承知のようにこのブログは Movable Type を利用して作成しているが,問題だったのは,従前やはり MT を使って運営していた大学のゼミのためのブログ(現在は閉鎖)のようだ。すなわち,当該ブログを削除する際に個々のエントリーやそのトラックバック受付設定をまず削除すればよかったのかもしれないが,それらをせずにブログ全体を削除してしまったため,トラックバックのための情報は残っていたままになっていたようで,そのことが SPAM を誘っていたのではないかと思われる。ブログ作成当初から MT ver. 3.17 を使い続けて(アップグレードを面倒がっていた),有志によるプラグインによってトラックバック SPAM を弾いていたのだが,残念ながらこれではトラックバックの CGI の起動自体までは防げていなかったようである。
このことに気づいたのは,レンタル・サーバーの運営会社である さくらインターネット からの通知によってであった。そのメールによれば,私のサイトの上記 CGI が 「著しく呼び出されて」
いてサーバーに負荷がかかっていたといい,応急処置として当該 CGI のパーミッションを変更したとのことであった。
こうなると重い腰を上げていよいよ対処せざるを得ない。ここで当初私がやろうとしたことは,①MT をアップグレードすること,そして②データベースを MySQL に移すこと,のみであった。MT のアップグレードは当然なのだが,最終的には現在の最新バージョンである 4.1 にすべしということで,データベースの移行も必要となったのだ(MT 4 以降では従前の Berkeley DB が使えないそうなので)。まずは MT を 3.38 にして(これは頗る簡単だった),データベースを変更……と思っていたところで考えた――単に MT をアップグレードしてもトラックバックの CGI がサイトの同一箇所にあれば引き続き SPAM に狙われてしまうのではないか,と。そこで作戦を変更,MT 4.1 はまったく別の場所にインストールしておいて,従前のデータをそちらにインポートすることに。単純に 3.38 でエクスポートするのではなく,4.1 用にデータを整えなければならなかったがそれほど難しい作業ではなかった(ネットで留意点を調べてそのとおり実行したが,参照にしたサイトは失念)。
しかしここで壁が立ちはだかる。従前使っていたテンプレートをそのまま流用しようとしたのだが,どうやら一部のテンプレート・タグの仕様が変更になっていたようで従前のものはそのまま使えず,再構築の際にエラーが発生。この問題も公式のヘルプや検索して見つけたサイトを参考にしつつ何とかクリアできたものの……さらに大きな壁が……サイトの再構築に時間がかかりすぎる。とりわけ個別エントリー・アーカイヴの再構築には一晩かかってしまうのだ(なぜか理由はわからないが,EntriesPerRebuild を設定してもダメで一つひとつ再構築しているらしい)。テンプレートの変更のたびに一晩費やすとは……さすがにやっていられない(この辺りの心情を吐露したのが 18日付の日記)。
もっとも,これはある意味仕方のないことでもある。何せエントリー数が 2000を超えているのだから(毎日記録をつけるようになって 5年半。一日ごとにエントリーを作っているのだから,至極当然。)。逆に言えば,これを毎度再構築してスタティック(静的)なページにすることが無理な話なのだろう。そこで,渡りに船とばかりにダイナミック・パブリッシングにしようと思ったのだ。
当然ながらまずは情報収集。ここで見つけた重要な留意点としては,①/lib/MT/App/CMS.pm の “Options -Indexes +SymLinksIfOwnerMatch”
をコメントアウトする(さくらインターネット の制限事項のため),②ブログのルートに自動生成される mtview.php のパーミッションを 755 にする,といったところ。しかしこれだけでは不十分で,現に私は何度か失敗した。上記に加えて,③ダイナミック・パブリッシングに設定変更し再構築する際に,ブログのルートに .htaccess を置かないこと(既存のファイルがあると,上記①の機能によって .htaccess が自動生成されるのが妨げられてしまう。私は一度,自動生成される内容を既存の .htaccess に追記してみたが,矛盾が生じていたようでダメだった。),そして④アーカイヴのパスに部分一致(おそらく先頭部分一致)する静的ページをつくらないこと(私はアーカイヴのパスを “%Y/%m/%d.shtml”
のように指定しているが,例えば 2006.shtml というように先頭部分一致するような静的ページがあるとアーカイヴを呼び出す際にこれが表示されてしまう。),に注意すべし。
しかして,昨夜ようやくダイナミック・パブリッシング化することができた。これでもう,あの再構築地獄を免れることができる。静的ページがなくなったおかげで,Namazu の検索インデックスを生成するのには一手間かかるようになってしまったが,2000超のエントリーの再構築よりはよっぽどマシだ。
見たもの・聴いたもの
- Burnin' Dragon ― The Havana Boys (Online: Digital Tunes / HAV002-X)
- Pole ― Pole (CD: mute / 9216-2)
- リゲティ: コンティヌウム / ハンガリアン・ロック / カプリッチョ第1番,第2番 / インヴェンション / ポエム・サンフォニック / ムジカ・リチェルカータ / ピアノのための練習曲より / コンティヌウム (プレイヤー・ピアノ版) 《 Ligeti: Continuum / Hungarian Rock / Capriccio Nos.1 & 2 / Invention / Poème Symphonique / Musica Ricercata / Études pour Piano / Continuum (adapted for 2 Player Pianos) 》 ― Charial (barrel-org) / Terrioux (metronomes) / Hocker (player-p) (CD: Sony Classical / SRCR 2155)
- Star Trek: ヴォイジャー ―第99話:火山惑星からの生還 (Super! drama TV, 13日 26:00~27:00 <録画>)
- Star Trek: ヴォイジャー ―第100話:寄生生命体の恐怖 (Super! drama TV, 14日 26:00~27:00 <録画>)
- Star Trek: ヴォイジャー ―第101話:過去を救いに来た男 (Super! drama TV, 17日 26:00~27:00 <録画>)
- Star Trek: ヴォイジャー ―第102話:水の惑星に消えた夢 (Super! drama TV, 18日 26:00~27:00 <録画>)
- Star Trek: ヴォイジャー ―第103話:遥かなるボーグの記憶 (Super! drama TV, 19日 26:00~27:00 <録画>)
- You Can't Do That on Stage Anymore Vol.3 ― Frank Zappa (CD: Rykodisc / RCD 10085, 86)
- ケージ: 二つの小品(1935) / メタモルフォーシス / バッカナール / 危険な夜 / トスト・アズ・イト・イズ・アントラブルド / 季節はずれのヴァレンタイン / ピンぼけの源 / 二つの小品(1946) / 瞑想への前奏曲 / マルセル・デュシャンのための音楽 / おもちゃのピアノのための組曲 / 夢 《 Cage: 2 Pieces (1935) / Metamorphosis / Bacchanale / The Perilous Night / Tossed as it is Untroubled / A Valentine out of Season / Root of an Unfocus / 2 Pieces (1946) / Prelude for Meditation / Music for Marcel Duchamp / Suite for Toy Piano / Dream 》 ― Kirstein (prepared-p, p, toy-p) (CD: Sony Classical / SICC 76, 77)
- ビーバップ!ハイヒール ―爆笑科学がわかる▽掃除機で空を飛ぶ▽色気でボウリングを倒す (ABCテレビ, 23:17~24:17)
- 雨上がり決死隊のアメトーーク! ―熱唱!!昭和アニメソング芸人▽ケンコバ&中川翔子らキン肉マン&ドラゴンボール&009▽特選25懐かし映像 (ABCテレビ, 24:29~25:26)
この記事に付されたタグ
- Contemporary Classical [166]
- SF [113]
- Techno/Electronica [604]
- Zappa [227]
- ウェブ [59]
- テレビ [614]
- バラエティ [473]
- 音楽 [752]
コメントの送信
- メール・アドレスも含めて全項目が必須です(メール・アドレスは公開されません)。名前はニックネーム等でも構いません。
- 実在しないメール・アドレスを記入してもコメントの送信はできますが,その場合はブログ管理者から送信者にコンタクトすること,例えば,プロバイダ責任制限法(平成13年法律137号)3条2項2号に基づく送信防止措置を講ずることの同意の照会等が不可能となります(この場合は送信防止措置に異議がないものとみなし,管理者においてただちに同措置を講じます。)。
- 送信の操作が反映されて表示が切り替わるまで多少時間がかかります。しばらくお待ちください。
トラックバックの送信
- あなたのブログがトラックバック機能を備えている場合は記事作成画面等から上記 URL に Ping を送信してください。
- 手動でトラックバックする場合は下記のフォームからあなたのブログおよびその記事に関する情報を送信してください。手動送信時には別のウィンドウが開きます。元のウィンドウ(記事表示画面)をリロードしてトラックバックが反映されていれば処理がなされています。別に開いたウィンドウは送信処理後は閉じても構いません。


ダイナミック・パブリッシングで「キャッシュなし」に設定しているんだけど,表示速度はそんなにストレス感じませんよね? こんなにサクっと表示されるのに,静的アーカイヴでやっていたときは何であんなに再構築に時間がかかったんだろう?……さくらの MySQL サーバの遅さとかも疑ったもんなぁ。