この「小心者の杖日記」を擁するoutdex.netへのスパムトラックバックが多く、サーバの負荷になっていると、お世話になっているチカッパ!から連絡がありました。4月からときどきMovable Typeの管理画面へアクセスできない問題が発生していたのですが、それもスパムトラックバックが原因のようです。
そこで、「MovableTypeで行こう!: スパムトラックバックが激減!」を参考にふたつの対策を施してみました。
ひとつは、テンプレートの個別エントリーアーカイブから以下の記述を削除しました。最近はこれがスパムトラックバックの標的になっっているようです。
<$MTEntryTrackbackData$>
もうひとつは、mt-tb.cgiの名前の変更。変更した後に、mt-config.cgiの最後に変更した名称を以下のように記述すると、問題なく稼動しました。
TrackbackScript mt-tb.cgi(ここを変更した名称に)
そしてそれ以前の問題として、「Six Apart - Movable Type News: Movable Type 3.35 日本語版の提供を開始」に気づいていなかったのでアップグレード。今回は、手作業でコメント・プレビューのテンプレートの修正が必要です。ブログによって該当するテンプレートタグがあったりなかったりするので、なかなか消耗しました。そして、すべて再構築する必要があるのでまた時間がかかりました。
「便利ツール : 『Yahoo!ブックマークに登録』リンク - Yahoo!ブックマーク」、「イザ!ヘルプ | イザ!ブックマークアイコンの設置について」があったので、以前の「ソーシャル・ブックマーク・サービスへの追加アイコンのソース 改訂版」に追加しました。
この「小心者の杖日記」は文字コードがEUCなのでうまく日本語が反映されない場合があるのですが、他の文字コードなら問題なく反映されるのではないでしょうか。
最近Movable Typeの管理画面に長時間アクセスできない事態が2度ほどあって、チカッパ!に問い合わせたところ、SQLiteのデータベースが122MBもあるのでその容量を軽減してほしいというアドバイスをいただきました。そこでさっそくスパムのコメントやトラックバックを削除したのですが、データベースのサイズはいっこうに減りません。
そこで調べていくうちに、「Naga BLOG: 削除や、スパムで肥大化したデータベースファイルを定期的にスリム化する『PeriodicVacuum Plugin』を入れてみました。」で紹介されていた「PeriodicVacuum_Plugin.ja_JP - Ogawa::Code - Trac」へたどりつきました。
前述の2サイトでの解説によると、SQLiteのデータベースはスパムのコメントやトラックバックを削除しても非使用領域が残り、データベースのサイズが小さくならない仕様になっているのだとか。驚きました。慢性的にスパムのコメントやトラックバック(特に後者)の襲来に悩まされている僕のブログは、それでは肥大するはずです。
そこでPeriodicVacuumプラグイン。PeriodicVacuum.zipをダウンロードし、解凍して中のPeriodicVacuum.plをMovable Typeのpluginsディレクトリにアップロードします。そしてパーミッションを755などに設定するだけ。非常に簡単です。これでエントリーやコメント、トラックバックを削除したタイミングで、1週間ごとに自動的にSQLiteのデータベースの非使用領域の解放操作をしてくれます。
さっそくスパムの削除をして、PeriodicVacuumプラグインが動くかを見てみました。しばらく待ってFTPで確認してみると、122,058,752Bあったデータベースが一気に5,701,632Bまで縮小しているじゃないですか。大丈夫なのかと思うほどの劇的な縮小ぶりです。
ちなみにこちらの人力検索はてなで紹介されているように、TkSQLiteというツールを使ってローカルで行う方法もあるようです。こちらの方法については、「SQLiteのサイズを小さくする。 : NOBODY:PLACE」で詳しく解説されています。
この「小心者杖日記」を擁するoutdex.netがお世話になっているチカッパ!が1周年を迎え、太っ腹なキャンペーンを開始しました。以下、お知らせメールより。
─────── ★ 標準ディスク容量を2倍に拡張! ★ ───────
1周年を記念いたしまして、ユーザー様への感謝の意を込めて
ディスク容量の拡張をおこないました(これまでの2倍)!
標準でのご利用で、これまでの500MBから【1GB】に、
追加オプションのご利用の場合は【2GB】までご利用いただけます。
▼容量増加のお知らせ
http://chicappa.jp/?mode=info&page=1&id=102#102
─────── ★ 初期費用 無料 キャンペーン開催 ★ ───────
10日間限定で、初期費用無料キャンペーンを実施いたします。
初期費用 通常2,100ポイントが【無料】になります!
『チカッパ!レンタルサーバー』を月額費用のみで
スタートすることができ大変お得です!是非、ご検討ください。
▼初期費用 無料キャンペーン 情報
http://chicappa.jp/?mode=info&state=campaign#1YEARS
初期費用無料キャンペーンは4月19日までですので、お早めにどうぞ。
ITmediaに「『Movable Type 3.34日本語版』リリース、脆弱性を修正」という記事が。「Six Apart - Movable Type News: Movable Type 3.34日本語版の提供を開始」でもアナウンスされています。
この「小心者の杖日記」もさっそくMovable Type 3.34へアップグレードしました。
*このエントリーの内容は古いバージョンです。最新のものは「ソーシャル・ブックマーク・サービスへの追加アイコンのソース Ver.3」をご覧ください。
ソーシャルニュースサイトのnewsingに「ピックアップボタン設置方法」というページがあったので、この「小心者の杖日記」にも追加しました。文字コードがEUCなので、日本語が文字化けする場合のコードを利用しています。
以前の「ソーシャル・ブックマーク・サービスへの追加アイコンのソース(Movable Type専用)」にnewsingを追加したソースを置いておきますので、興味がある方はどうぞ。
追記:ECナビ人気ニュースをBuzzurlに変更しました。コメント欄でご指摘いただいたtsupoさん、ありがとうございました。
本当はdiggにも対応したかったのですが、トピックの種類を選択する必要があるようなので挫折しました。
昨日あたりからMovable Typeでエントリーを投稿するとエラーが出てきて、嫌な予感がしていたのですが、今日になってとうとうエントリーの投稿時とカテゴリーの再構築時に「500 Error」とエラーが出るようになりました。ロリポップ!
からチカッパ!
へ引っ越してやっと快適だと思ったのに、まさかまた引越し……? と頭を抱えそうになりつつ対応策を調べてみたところ知ったのが、「カテゴリー関係の新しいプラグイン (オラオラ)」経由で知った「Smart Rebuild - Faster Category Rebuilds」というプラグインの存在です。
使い方は簡単で、「Smart Rebuild - Faster Category Rebuilds」からSmartRebuild.zipをダウンロードし解凍、そしてSmartRebuild.plをMovable Typeのpluginsフォルダにアップロードするだけです。あとは再構築すると、自動的にカテゴリーの再構築が分割して行われるようになります。Movable Type 3.33-jaでも問題なく動作しました。
しかし、エントリーの投稿時には相変わらずエラーが。困ったなぁ……。
追記:その後チカッパ!の方に対応してもらい、快適な環境が戻ってきました。ありがたいことです。
今年に入ってから使い出したロリポップ!
でしたが、Movable Typeのエントリーが900を超えたあたりから投稿時にエラーが頻出し、最近は投稿すると同時にエラーという状態になっていました。カテゴリの再構築だけできない点からしても、これはロリポップ!側だけの問題ではなく、「小心者の杖日記」のカテゴリが多いという要因が大きそうです。
そんなわけでロリポップ!の方とも相談してみた結果、上位サービス(?)のチカッパ!
へ移転してみることにしました。まだWebメーラーがないなど、ロリポップ!よりも劣る点もあるのですが、人柱感覚で飛び込んでみます。
とはいえ、特にCDのカテゴリをはじめとしてエントリーは増え続けるわけで、今後に不安がないわけでもありません。というか、不安です。時代は階層構造のカテゴリよりもフラットなタグなんですかねぇ……。
それはともかく、サーバーの移転を設定しました。最長で72時間ほどDNSの浸透にかかるので、それまではコメントやトラックバックをいただいてもうまく反映されないかもしれません。ご了承ください。
ロリポップ!での更新はこのエントリーを最後にして、あとはチカッパ!で更新しますので、新しいエントリーが表示されたら無事移転できたと思ってください。うまくいくといいなぁ。
あと、ハードに使おうとしない限りは、ロリポップ!はなかなか安定したいいサーバーでした。paperboy&co.の皆さん、またお世話になります。
Six Apartから「Movable Type News: 【重要】 Movable Type 新バージョンとパッチの提供について」がアナウンスされたことを「[N] Movable Type 3.2以降に脆弱性、パッチ提供開始」で知りました。
さっそくMovable Type 3.33のファイルをダウンロードして、そのままアップロード。ただし、mt-config.cgiは従来使っていたものにしておきました。再構築は無事にできたので、あとはこのエントリーが無事に投稿されることを祈るばかりです。
*このエントリーの内容は古いバージョンです。最新のものは「ソーシャル・ブックマーク・サービスへの追加アイコンのソース Ver.3」をご覧ください。
ご覧の通り、各種ソーシャル・ブックマーク・サービスへの追加アイコンを増やして、むやみにソーシャル性を高めてみました。なんだかにぎやかですね。これは「ブログの参考にしたページ、役立つソフト・ツール | 住 太陽のブログ」を参考にさせていただいて、ちょっと変更してひとつ増やしたものです。
これまでのはてなブックマークに加えて、del.icio.us、livedoorクリップ、ニフティクリップ、ECナビ人気ニュース、BlogPeople Tags、BlogPeopleアイ・ビー、PingKing、そしてFC2ブックマークへ簡単に登録できます。
ただし、この「小心者の杖日記」の文字コードがeuc-jpのせいか、livedoorクリップ、ニフティクリップ、PingKingでは文字化けしてしまいます。残念。
ともあれ、以下にソーシャル・ブックマーク・サービスへの追加アイコンのソース(Movable Type専用)を置いておきますので、興味がある方はどうぞ。
あとは、終了するソーシャル・ブックマーク・サービスが出てこないことを祈るばかりです……。
Movable Type 3.32
へアップグレードしました。「ブログ別!作成・カスタマイズ講座:MovableType 3.32-jaへのアップグレード方法」を参考にして、今回はおとなしく全部のファイルをアップロード。途中でどこまでアップロードしたか頭が混乱してきますね……。
アップロード終了後に再構築してみると、SQliteを使っているためか、かなり早くなった印象です。これには驚きました。
そのうち封印していたタグ機能も試してみようと思います。
Six Apartで「Movable Type News: Movable Type 3.32日本語版の提供を開始」というアナウンスがされました。特に注目したいのはこの部分。
エントリー・タグの処理を最適化
テンプレート・タグ「MTEntryTags」を使ったときに、タグの数が増えるにしたがって公開のパフォーマンスが非常に悪くなる問題を修正しました。(小川宏高さん)
僕もこの現象に悩んでタグ機能を使うのを諦めたので、時間があるときにでもMovable Type 3.32に挑戦して再度試してみたいと思います。
このままでいいか……と思っていると、どんどん取り残されてしまうのがMovable Typeの世界。ずっと「Movable Type 3.3へアップグレード、新登場のタグ機能への対応(そして挫折と修正点)」や「Movable Type 3.3へのアップグレードに伴い発生した問題点」で力尽きていたのですが、バグフィックスされてのリリースから1ヶ月、やっと「Six Apart - Movable Type News: Movable Type 3.31日本語版の提供を開始」でアナウンスされているMovable Type 3.31を導入しました。
とはいえ、やったことは「Milano::Monolog: Movable Type 3.31リリースされとります」で紹介されているファイルをアップロードしただけ。注意力は使いますが、全部アップロードし直すよりは簡単です。
恐かったのはテンプレート関連の変更だったのですが、今のところ大丈夫のようです。タグ機能は重くなるのが恐くて相変わらず使っていません。
このエントリーは、「Movable Type 3.3へアップグレード、新登場のタグ機能への対応(そして挫折と修正点)」とともにお読みください。
以前のバージョンからMovable Type 3.3へアップグレードすると、アップグレード自体は簡単なものの、それに伴ってふたつの問題が発生したので以下にまとめてみました。
1.テンプレートを自分でいじってデザインしている場合、表示がおかしくなる
これは以前のバージョンで<MTEntries>と記述していた部分に発生する問題です。この問題は、テンプレートの関連部分を以下のような記述に書き換えることで解決します。ソート順を逆にするには、「descend」を「ascend」にしてください。
<MTEntries>↓
<MTEntries sort_by="created_on" sort_order="descend">
2.タグ機能を使うと非常に重くなりエラーが出る
これは必ずしもタグ機能のせいとは言い切れないのですが、僕はこのような印象を受けました。タグを追加するとカテゴリーの再構築ができなくなり、エントリーの投稿も途中でエラーが出る状態に。そして、タグをすべて削除したところ、正常に使えるように戻りました。この「小心者の杖日記」のカテゴリ数が多いことも関連しているのかもしれません。Movable Type 3.3の目玉のひとつとも言えるタグ機能だけに、なんとかしてほしいものです。
追記:などと書いていたら、やはり「Six Apart - Movable Type News: Movable Type 3.3修正版リリースのお知らせ」が。このエントリーの1番目の問題は、「月別や日別など日付をベースにしたアーカイブテンプレートを再構築すると、出力結果のすべてのページに同じ最新エントリが表示される」にあたると思われます。
いやー、疲れました。といってもMovable Type 3.3へアップグレード自体よりも、主に新登場のタグ機能への対応で。(そして、追記部分を見ていただければわかるように、結局タグは外したのですが。)
Movable Type 3.3へアップグレード
これは「Milano::Monolog: MovableType3.2から3.3へのアップグレード手順」と「ロリポップ!レンタルサーバー - MovableTypeの設置の前に」を参考にしてわりとスムーズにできました。
ただ、今回のアップグレードで難所のようだったのはmt-config.cgiの記述。みらのさんはこう書かれています。
従来のmt-config.cgiそのままでも問題なく動作しますが、気分的にスッキリしたい人は従来の設定を元にmt-config.cgiを記述しましょう。
DB周りの項目が4つほどありますが、使わないDBの設定はばっさり削除です。
とはいえ、EntriesPerRebuildとかTrackbackScriptとかいろいろな項目をカスタマイズしている人は、従来のまま使った方が安全です。
そんなわけで、mt-config.cgiに関しては従来のものをそのまま使うことにしました。
あと、FFFTPでロリポップ!にファイルを大量にアップロードするときはよく途中で止まるのですが、そういう場合はディレクトリを下りてアップロードしていくとうまくいくようです。
タグ機能への対応
この「小心者の杖日記」のトップページの右カラムに登場したのがタグクラウド(Tag Cloud)です。これに関しては、「カイ氏伝 MT 3.3: Movable Type 3.3へのアップグレードからタグクラウド設定まで」と「小粋空間: Movable Type 3.3 エントリー・タグ詳説」を参考にさせていただきました。
基本的には前者のページのやり方を真似しているのですが、個別エントリーでタグを表示する設定については、「Tags : 」の文字の大きさを調整したいために以下のような記述にしました。
<MTEntryIfTagged>
<div class="entry-tags">
<div class="entry-tags-header"><MT_TRANS phrase="Tags">Tags : </div>
<ul class="entry-tags-list">
<MTEntryTags>
<li class="entry-tag"><a href="<$MTTagSearchLink$>" rel="tag"><$MTTagName></a></li>
</MTEntryTags>
</ul>
</div>
</MTEntryIfTagged>
また、タグの文字の大きさを調整して右寄せにするために、スタイルシートのテンプレートへの記述は以下のようにしました。
.entry-tags { margin: 0 10px 10px 0;
font-size: 10px;
color: #999;
text-align:right;
clear: left;
}
.entry-tags-header,
.entry-tags-list,
.entry-tag { display: inline; }
.entry-tags-list {
list-style:none;
padding: 0px;
}
などと書いていますが、記述として正しいのかどうかはわかりません。
アップグレードに伴い発生した問題
一方で、現在日別アーカイブと月別アーカイブが正常に表示されず、再構築しようとしてもエラーが出る現象が発生しています。(追記:日付アーカイブのテンプレートを以下のように変更することで解決しました。mixiのMovable Typeコミュニティの皆さんの情報に感謝!)
<MTEntries>↓
<MTEntries sort_by="created_on" sort_order="descend">
また、エントリーの投稿時にもエラーが発生します。カテゴリーの再構築もできません。このあたりはかなり煮詰まってきましたので、もしアドバイスがあればいただけると幸いです。(追記2:どうしてもカテゴリーの再構築でエラーが出るので、一時的にタグ関連の機能を削除してみました。)
(追記3:日別アーカイブと月別アーカイブの記事一覧の表示もおかしくなったため、以下のように変更したら正常になりました。どうもMovable Type 3.3では「MTEntries」の後に「 sort_by="created_on" sort_order="descend"を挿入しなければならないようです。)
<div class="side">
<div class="sidetitle_l2">記事一覧</div>
<div class="sidemiddle_l">
<ul>
<MTEntries category=<$MTCategoryLavel$>
<li><a href="<$MTEntryPermalink$>" TARGET="_self"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
</div>
<div class="sidebottom_l"></div>
</div>
↓
<div class="side"><div class="sidetitle_l2">記事一覧</div>
<div class="sidemiddle_l">
<ul>
<MTEntries sort_by="created_on" sort_order="descend" category=<$MTCategoryLavel$>
<li><a href="<$MTEntryPermalink$>" TARGET="_self"><$MTEntryTitle$></a></li></MTEntries>
</ul>
</div>
<div class="sidebottom_l"></div>
</div>
タグはカテゴリとどう使い分けようかと悩んだのですが、当面はカテゴリよりももっと細分化されたキーワードを入れてみようと思います。(そして、追記部分を見ていただければわかるように、結局タグは外したのですが。)