2006年10月31日
Movable Typeのコメントやトラックバックを一気に消す方法
Movable Type ネタが続いたので、ついでにもうひとつ。 Movable Type で ブログ・サイトを運用していると、 スパム対策を施していても コメント や トラックバック が スパムだらけになってしまったりすることがある。こんな時、不要な コメント や トラックバック を一括で消したいところ。 このような場合の簡単な方法は、 Movable Typeのそれぞれの管理画面の 画面下方のプルダウン・メニューから 「すべてのコメント(all comments)」とか「すべてのトラックバック(all pings)」を 選択すると、それこそ 「すべて」を表示してくれるので あとは「すべてチェックする」ボタンをクリックして、チェック・マークをいれてから 「削除」ボタンのクリックで一括削除が可能となる。
ところが、スパムの数があまりにも多すぎると 「すべてのコメント(all comments)」とか「すべてのトラックバック(all pings)」を 指定しても 画面が表示されるのに 時間がかかりすぎたり、 エラーで落ちたりすることがある。 もちろん件数を指定して表示させれば問題ないのだが 選べる件数の選択肢の最大値が「125件」なので、 スパムが何千件もあったりすると、 125件ずつ表示させて削除を行うとしても その作業を何十回も行わなければならなくなる。
この問題に対するひとつの解決方法として、表示件数を 例えば、500件 とか 1000件 とか 任意の件数にする方法を見つけた。 その方法はいたって簡単なので コメントの管理画面を例を挙げて説明してみる。
まず、コメントの管理画面の画面下方のプルダウン・メニューから、 「5個のコメント」を選択する。 すると、5個のコメントが表示された画面に再表示されるはず。 その際、ブラウザーのアドレス部分が
http://.../mt.cgi?__mode=list_comments&blog_id=1&limit=5となる。 ここで、最後の「limit=5」という引数が 一画面に表示されるコメントの件数になっているようだ。 ということは、これを変更すれば、任意の件数を表示できるようになる。 例えば、1000件ずつ表示させたければ
http://.../mt.cgi?__mode=list_comments&blog_id=1&limit=1000とすればよい。 また Movable Typeは おりこうさんで、 このような操作をすると、 画面下方にある次のページに移るボタンも 「次の1000」、英語版なら「Next 1000」のように 表示されるようになっている。
この様にして コメント や トラックバック を 自分の都合のよい 件数ずつ表示させて 不要なスパムを削除する作業を効率化することができる。
カテゴリー: Movable Type 22:37 | コメント (0) | トラックバック (0)
2006年10月30日
「Movable Type のログの確認」が「500 Internal Server Error」で表示できない場合の解決方法
前回のブログで、「Movable Type のログの確認(View Activity Log)」ページが 「500 Internal Server Error」で表示できないところまで 書いたので、今回はその後の試行錯誤の上、 辿り着いた解決策について。今の段階での問題点は、「ログの消去」ボタンをクリックしたいのだが そのボタンがきちんと表示されないのが問題。 ということは、結局のはなし、「ログの消去」ボタンをクリックした場合に 行われる処理が直接実行できないか、という考えに辿り着いた。
このブログのサーバーには test 用の Movable Type もインストールしてあったので、 まずはそこで 「Movable Type のログの確認(View Activity Log)」ページを表示させてみた。 こちらは問題なく表示され、 画面下に「ログの消去」というボタンが表示された。 表示されたページのHTMLのソースを解析してみると、そのボタンは
<form><input type="button" onclick="window.location='/blog/test/mt/mt.cgi?__mode=reset_log'" value="ログの消去"></form>のように定義されている。 ということは、ログを消去するためには cgiへの引数 __mode を「reset_log」として 実行してしまえばよいのではないか、ということになる。
ということで 「500 Internal Server Error」の問題が起きている ページに戻って ブラウザーのアドレス欄が
mt.cgi?__mode=view_logとなっているところを
mt.cgi?__mode=reset_logとしてからリターンキーを押してみた。 しばらくすると、処理が正常に終了したらしく 今までエラーで表示されなかったログの画面が 件数0件で正常に表示された。
確認のため、サーバー内の /mt/db 下のファイルを直接見てみると、 確かに log.created_on.idx と log.db の容量が 小さくなっている。 その後、いろいろテストしてみたが Movable Type 自身の動作も問題ないようであった。 これで、 大きくなりすぎて 表示できなくなってしまっていた Movable Type のログを安全にクリアすることができた。 今後は、このようなことにならないように、 こまめに ログを消去することにしよう。
カテゴリー: Movable Type 22:43 | コメント (0) | トラックバック (0)
2006年10月29日
「Movable Type のログの確認」が「500 Internal Server Error」で表示できない
前回のブログからの続きで、 「Movable Type のログの確認(View Activity Log)」ページを開こうとしても 表示されないことについて。Movable Type の管理画面のトップページにある「Movable Type のログの確認(View Activity Log)」をクリックしても
500 Internal Server Errorというエラーが表示されて、実際のログが 表示されない。 どうもログがある程度以上 大きくなると ログの確認ページを 正常に表示できなくなってしまうようだ。
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, Webmaster and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
ここでの 目的は ほとんどが コメント・スパム や トラックバック・スパム の記録となっている しょうもないログを消去してしまうことだ。 しかしながら それを行うための「ログの消去」ボタンは この「Movable Type のログの確認(View Activity Log)」のページにしかないようなのだが、 そのページが きちんと表示されないとなると どうやって ログを消去したらよいのか。
昨日のブログでも書いたとおり、 「Berkeley DB」 を利用している場合の解決方法として、 ただ単に、 /mt/db 下のファイル log.created_on.idx と log.db を消してしまっても 構わないのかもしれないが、 私は Movable Type の内部の処理については 全く知らないので、 他の動作に影響がないともいえない。 さて、どうしようかな? といったところ。
そんなことを考えている間にも コメント や トラックバックの スパムが どんどん攻撃して来ているらしく、 log.db の容量が どんどん大きくなってきている。 早急に対策をとらなければならないようだ。
カテゴリー: Movable Type 22:11 | コメント (0) | トラックバック (0)
2006年10月28日
Movable Type ブログサイトのディスク容量圧迫の原因
どうも最近、このブログを運用しているサーバーのディスク容量が どんどん圧迫されてゆくので しばらく前からその原因を探っていた。コメント・スパム や トラックバック・スパム に対しては 既に カテゴリー 「MTスパム」で 紹介した方法で対策をとっている。 そのため、スパムによって ディスク容量が食われて行く、という認識がなかった。
ところが、いろいろ調査してみると、 コメント・スパム も トラックバック・スパム も 対策プラグインによって しっかりと 弾かれているのだが、 その結果が Movable Type のログに記録されてしまい それが膨大な量となっているようであった。
このブログの場合、データベースとして デフォルトの 「Berkeley DB」 を利用しているのだが、 /mt/db 下のファイルを 見てみると、
-rw-rw-rw- 1 nobody nobody 22855680 Oct 21 21:25 log.created_on.idx -rw-rw-rw- 1 nobody nobody 0 Apr 8 2005 log.created_on.idx.lock -rw-rw-rw- 1 nobody nobody 484130816 Oct 21 21:25 log.db -rw-rw-rw- 1 nobody nobody 0 Apr 8 2005 log.db.lockこのように 「log」という名称で始まるファイルが4つが見つかった。 おそらく、これらが Movable Type のログ関連のファイルと推測される。 これを見ると 貴重な サーバー上でのディスク・スペースが 500MB も占領されていたことになる。
原因がわかったところで、それでは早速、Movable Type のログの消去を行おうと、 管理画面のトップページにある「Movable Type のログの確認(View Activity Log)」をクリックしてみる。 ところが エラーが起こってページが表示されない。 さて、どうしたものか?
この続きは、次回のブログで。
カテゴリー: Movable Type 22:47 | コメント (0) | トラックバック (0)
2006年7月20日
Storable.pm
前回のブログ「 MTプラグインが認識されない 」の続き。問題発生時には ログを調べるのが鉄則、とばかりに、MovableType の管理画面のログを覗いてみた。 今回、「mt-ban-ascii.pl」と「mt-ban-norefertb.pl」という 2つの プラグインを入れてみたのだが、どちらからも 「Plugin error:」のメッセージが吐き出されているようである。
その内、まず、解決が簡単そうな「mt-ban-norefertb.pl」に関する方をみてみよう。 メッセージが長いのでチョット省略したが、内容は以下のような感じ。
Plugin error: /usr/www/users/mt/plugins/mt-ban-norefertb.pl Can't locate Storable.pm in @INC (@INC contains: /usr/www/users/mt/extlib 以下ディレクトリのリスト) at /usr/www/users/mt/lib/MT/PluginData.pm line 9.このメッセージを解析してみると、どうも「Storable.pm」というパールのモジュールが見つからない、 というようなことを言っているようだ。 ということは、単純に、「Storable.pm」をインストールすれば解決するのだろうか。
それから、パールのモジュールのインストール方法を調査してみた。 調査の結果、結局 私が使ってるサーバーのOS が FreeBSD なので、 Ports としてインストールできるようだ。 よって、サーバーのシェルにログイン後、スーパーユーザーになって、
cd /usr/ports/devel/p5-Storable make installと打っただけでパールのモジュールの追加ができたようだ。 さて、これで MovableType のプラグインが動き出すかな?
【参考リンク】
カテゴリー: Movable Type , MTスパム 21:18 | コメント (0) | トラックバック (0)
2006年7月19日
MTプラグインが認識されない
このブログのカテゴリー「 MTスパム 」で Movable Type のスパム対策について、過去にまとめてきたものは、 私が管理をお手伝いしている JTPAのサイト に対して行ってきたものであった。 自分のブログ・サイトについては、それほどスパム攻撃を受けていなかったので ほったらかしにしていた。 ところが、ここ最近、コメント・スパムも トラックバック・スパムも共に凄い勢いで増えてきた。自分のサイトの Movable Type は、いづれバージョンを上げるので その時にスパム対策も行おうと思っていたので、今まで別段 対策を講じてこなかったのだが、 ここにきて、スパムのあまりの多さに、緊急処置を行う事にした。 そこで、JTPAのサイトで行ったのと同様の対策の中で、 比較的簡単な対策を自サイトにも施してみた。
それは、『 MovableType のスパム対策(12) 「MTBanASCII」 』と『 MovableType のスパム対策(13) 「BanNoReferTb」 』とで解説したように、 MTのプラグインをインストールすることである。 これなら、簡単な作業で ある程度の効果が期待できる。
ところが、JTPAのサイト では何の問題もなかったのに、 自分のサイトに上記2つのプラグインをインストールしてみると、これがうまくいかない。 プラグインが 認識されれば、MTの管理画面に「利用可能なプラグインの設定」として リストされるハズであり、現に JTPAのサイト では そうなっている。 ところが、自分のサイトの管理画面では そのリストが表示されないし、もちろん、プラグイン自身も動作している気配がない。 さて、これから原因を究明してゆかなかければならない。
カテゴリー: Movable Type , MTスパム 21:43 | コメント (0) | トラックバック (0)
2006年2月21日
MovableType のプラグイン
MovableTypeは基本的にスクリプト言語 Perl で開発されている。 MovableTypeには新しい機能をプラグインとして追加できる機能があり、 そのプラグイン自身も Perl で記述することができる。MovableTypeのプラグインについてのドキュメント によると、
プラグイン・ファイルは専用のディレクトリに格納されたPerlスクリプトです。 Movable Typeが初期化されるとき、プラグインもすべてロードされ、 Movable Typeのコードとシステムを実行時に変更することができます。 .pl の拡張子を持ったファイルだけが、プラグインと見なされ自動的にロードされます。となっている。 プラグインとして開発された Perl のファイルを 置いてくだけでよい、とのことだ。これは非常に便利。
では、その置き場所は、というと、 これについてもドキュメントに
plugins ディレクトリは、 mt.cgi ファイルと同じディレクトリに入れてください。 そのディレクトリを作成するには、FTPサーバーに接続し、 Movable Typeをインストールしたディレクトリに移動します。 新しいディレクトリを作成して plugins と名付けます。とある。
実際にあるプラグインをインストールしてみると、 管理画面のメイン・メニューに 「Configure Active Plugins」 という欄ができて、 そこにインストールされているプラグインの名称と説明が表示されるようになる。
カテゴリー: Movable Type 22:16 | コメント (0) | トラックバック (0)
2005年9月15日
「はてなダイアリー」に対するトラックバック・エラー
時々、梅田さんをはじめ「はてな」の住人の方々のブログに対してトラックバックをすることがあるのだが、 うまくいく時と、エラーが出てうまくいかない時があった。 やっと、その原因がわかったので、今日はそれについて。ブログをやっていて、他のサイトへトラックバックをかける際は、 結構な確率でエラーが起きるので、 「はてなダイアリー」に対するトラックバックのエラーもあまり気にしていなかった。 しかし、先日、「電車男」のブログを書いた後、「そう言えば、梅田さんも 電車男 に関する エントリーを書かれていたな」と思って、軽い気持ちで、トラックバックを かけさせていただいた。 しかし、何度やってもダメだった。 今日は真剣に原因究明をしようと思い、エラーログを調べてみた。 すると、そのエラー内容は
2005.09.14 15:56:06 XX.XX.XX.XX Ping 'http://d.hatena.ne.jp/umedamochio/20050825/p1' failed: http://d.hatena.ne.jp/umedamochio/ was not found in your page.となっていた。 エラー内容を判りやすく表現すると、 「あなたが今トラックバックしようとしている元のページ (今回の例では、私のブログの「電車男」エントリー)の中に http://d.hatena.ne.jp/umedamochio/ という記述が見つかりません」 ということ。 これは、言い換えると、つまり、 「トラックバックをするなら、先にリンクを張れ」と はてなダイアリー のサーバー様はおっしゃっているわけである。
さすが、「はてな」である。 これで「はてな」へのリンクも増えるし、 また、一種のトラックバック・スパムの防止にもなっているわけだ。
原因がわかったので、私のブログの「電車男」エントリーに 梅田さんのブログ へのリンクを追記してから 再び、トラックバックをかけてみた。 すると、今度は、何の問題もなく受け付けられた。
通常、私もトラックバックをさせていただく場合は、 先方へのリンクを入れるように努めている。 それがネチケットだと思うから。 しかし、今回は先方へのリンク無しにトラックバックをしてしまっていた訳だ。 たいへん失礼しました。
カテゴリー: Movable Type , ブログについて 22:46 | コメント (0) | トラックバック (4)
2005年6月 9日
Movable Type 3.17日本語版の提供を開始
Movable Type 3.17日本語版が提供され始めたとのことである。 以前から、6月上旬にバージョン3.16を出荷するというアナウンスがあったが、 米国での Movable Type 3.17の提供に伴い、バージョン3.16日本語版をスキップして、 Movable Type 3.17日本語版をリリースされたようある。「Movable Type 3.17の修正点」に 3.151-ja からの変更点について詳しく挙げられている。 内容を一通り眺めてみたが、指摘していた問題点のいくつかが修正されているようである。
例えば、【国際化/ローカライゼーション】欄に
dirify は、Latin-1だけでなくUTF-8のウェブログでも機能するようになりました。
カテゴリー名がすべて、非ラテン文字あるいは句読点からなる場合、数字のIDはその”dirified”の表記として、使用されるようになりました。これらは、このブログのカテゴリー「MTカテゴリー」で指摘してきた問題の解決策かもしれない。
それから【設定】欄に
PublishCharsetの設定値をもとに、データベースとの接続時のエンコードを指定できるようになりました。詳細は、 SQLSetNames の項をご覧ください。という記述があるが、これは PublishCharsetの設定値のみを変更すれば、データベース内のデータを変更することなく、サイトの表向きの文字コードを変更できるということであろうか。 それであれば、「トラックバックの文字化け で挙げていた問題が一気に解決するかもしれない。
さて、これからバージョンアップ作業を行うことになると思うが、それについても今後このブログでレポートしてゆきたい。
カテゴリー: Movable Type 22:58 | コメント (0) | トラックバック (0)
2005年4月29日
トラックバックの文字化け
最近、いくつかのブログサイトに対しトラックバックをさせていただたいたが、その際、懸念していた事態に遭遇してしまった。トラックバック情報が文字化けするのである。
ブログを公開するにあたり、初めにいくつかのサイトに対しトラックバックの実験をしたが文字化けは起こらなかった。 しかし、exciteブログ(exblog.jp)に対し、トラックバックを送ると、そのページのトラックバック表示が文字化けしてしまうことが判明した。
このサイトでは、既に存在する他のページと統一するために日本語文字コードとしてEUCを採用している。 しかし、Movable Typeをはじめとするブログソフトや、XMLの世界では、UTF-8を採用するのが標準となってきている。
今後を考えると、場合によっては、エントリーが少ない今のうちに、サイトの文字コード変換を行った方がよいのかもしれない。 早急に調査して、どうするかを決定する必要がある。
カテゴリー: Movable Type , 文字コード・文字化け 04:02 | コメント (1) | トラックバック (0)
2005年4月21日
Movable Type の Mixi日記への設定
私は Mixi にもアカウントをもっているが、
ブログを公開するにあたって、Mixi にも日記としての設定をすることにした。
その設定の方法をここにまとめておく。
- Mixiにログインしたら、自分のページの上に並んでいるメニューから[設定変更]ボタンをクリック。
- 「日記・ブログの選択」欄で、「Movable Type系」を選択。
- 「日記・ブログのURL」欄にブログのURLを指定する。私の場合「http://www.skymerica.com/blog/yotsumoto/」を入力
- 「RSSのURL」欄にブログのRSSのURLを指定する。私の場合「http://www.skymerica.com/blog/yotsumoto/index.rdf」を入力
- 画面下の[変更]ボタンをクリック。
- 変更内容の確認画面で再び[変更]ボタンをクリック。
しばらくすると、Mixiの自分ページに「最新の日記」という欄が新たに表示されるようになった。 Mixiのヘルプによると時間が最長4時間程かかるようである。 自分の場合、反映されるまでに2時間程かかった。 この間、設定がうまくいったかどうか知りたくて、非常に待ち遠しい思いをするが、こればっかりは気長に待つしかないようである。
実際にブログのアクセス・ログを解析してみると、
"GET /blog/yotsumoto/index.rdf HTTP/1.1" 200 23327 "-" "Mixi RSS Fetcher"
というアクセスが複数ある。それぞれの時間間隔が約3時間半程であった。
これは、今後、新しいMovable Type のエントリーがMixiに反映されるのにもこれぐらいかかるということであろう。
カテゴリー: Mixi , Movable Type 16:44 | コメント (0) | トラックバック (2)
2005年4月12日
異なる漢字コード間でのトラックバック試験(1)
今後もMovable Type にて、いろいろ試してみたいので、専用の実験ブログを作成することにした。そこで、いい機会なので、あえて、違う漢字コードでブログを立ち上げ、その間でのトラックバック試験を行って見ることにした。
漢字コードの異なるブログシステム間でのトラックバックが正常に動作するかどうかについて試してみた。 使ったのは、両方とも Movable Type 3.151-ja である。
設定ファイルであるmt.cfgにおいて、片側のmt.cfgは、
PublishCharset utf-8
となっており、もう片方のmt.cfgは、
PublishCharset EUC-JP
としている。
結果としては、どちらの方向のトラックバックも問題なく表示された。 ということは、送信時点か受信時点でのどちらかでコード変換しているはずである。 まだ、詳しくは調査していないので推測であるが、送る段階で、漢字コードをUTF-8に変換しているのではないだろうか。
また、シンジケート(RSS)の方にも漢字コード問題がでる可能性がある。
とりあえず、それぞれのトップページから Syndicate this site (XML) とあるリンクを別ウィンドウで開いてみて、そこで使われている漢字コードを調べてみる。 すると、それぞれの mt.cfgで指定されている漢字コードが各ファイルの行頭で
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="EUC-JP"?>
の様に指定されており、その中で使われている日本語のコード自身もそれに従っている。 この場合、文字化けが起こるかどうかは、RSSリーダー等、使っているソフトによる依存することが考えられる。 とりあえず、手元の、FireFoxのライブブックマークで両方をテストしてみたが、全く問題はなかった。
カテゴリー: Movable Type 02:34 | コメント (0) | トラックバック (0)