demu.jpが、コメントスパム攻撃により、大変なことになっていた。コンチャックスとか言ってるあいだに。
とりあえずエントリーを全て下書きにし、メンテナンス中の画面にしてみた。

ミニマルで僕好みのデザインになった。「これでいいじゃん。」と思った。
メッセのコメントが泣きそうだったので、まじめに対応するにした。
FTPでサーバの中をのぞいてみたら「comment.db」が200MBを超えていた。「いましめ」にどんなけスパムコメント来てたんだろう。
管理画面でポチポチ消してみた。100個くらい消したところで、これは明後日になってしまいそうだなと気付いてやめた。
知恵を絞って対応することにした。
以下の方法でうまくいったのでメモ書きしておく。MTのバージョンは3.35。
0. エントリーの書き出し
エントリー(コメント・トラックバック付き)を書き出しておく。手違いで、全部ぶっとばしちゃったときの保険も兼ねて。書き出したデータには迷惑コメントのストックがない分、データが軽い。
1. ローカルにMT3.35をインストール
インストールといっても、Mac OSX に Movable Type 4 をインストールみたいに新しいブログをつくるところまではやらなくていい。
MT-3_35-ja.zipを解凍して、perlが動くところにポイっと置いておく。とりあえずこれでOK。mt-config.cgiをローカル用に編集し、データベースを配置すれば、リモート上と同じ環境になる。
ポイっと置く場所はMac OSX に Movable Type 4 をインストールを参照。
以下、しばらくローカルでの作業になる。
2. データベースをダウンロード
demu.jpの場合、Berkeley DBを使っていた。関連ファイルを全てダウンロードし、ローカルで動かすMTのフォルダの適当な場所に配置する。この後の試行錯誤のため、ダウンロードしたものは、まるまる複製しておくと安心。失敗してもやり直せる。
3. mt-config.cgiを編集
CGIPathを書く。BerkeleyDBへのパスを書く。mtをcgi-binの中に入れたのでStaticWebPathも書いた。
CGIPath http://localhost:8888/cgi-bin/mt3/
DataSource ./db
StaticWebPath http://localhost:8888/mt-static/
僕の場合、こんな感じ。
4. mt.cgiを開いてログイン
http://localhost:8888/cgi-bin/mt3/mt.cgi
を開いてログインした。
5. ローカル用に公開の設定
「設定」から「公開の設定」にすすみ、サイトURLやサイトパスをローカル用に修正しておく。
6. エントリーを全部削除する
「エントリー」で一覧を表示し、ぜーんぶ削除する。けっこう勇気がいる。
7. コメント、トラックバック関連のdbファイルを捨てる
エントリーを削除してみたのの、コメント・トラックバックは消えていなかったので、dbファイルをちょくせつ捨てることに。捨てるといっても、mt-config.cgiで指定したフォルダから外してしまうだけで良い。
これで、テンプレートのみ既存のままで、中身(コンテンツ)が空っぽになる。
8. エントリーの読み込み
書き出しておいたエントリーを読み込む。読み込めなかったらどうしようと、ビクビクする瞬間。
9. サイトを再構築し、確認。
表示を確認。コメント機能も無事復旧した。
10. MT Database ConverterでSQLiteに変換
今後、同じようなトラブルのないよう、軽くてサクサク動くSQLiteにデータベースを変更してあげる。いい人だ。
MT_Database_Converter.ja_JP - Ogawa::Code - Tracを利用させていただく。
ここから主にリモートでの作業。
11. SQLiteをアップロード
2MB強になっていた。Berkeley DBのときは250MB超だった。激やせに成功。
12. mt-config.cgiを編集、アップロード
Berkeley DBからSQLiteを参照するように修正し、アップロードする。
13. ログインし、公開の設定を修正
「設定」から「公開の設定」にすすみ、サイトURLやサイトパスを元に戻す。
14. サイトを再構築し、確認。
表示を確認。完了です。
* * *
雑感
そもそも「コメントスパムを受けつけない施術をした方がいいんじゃないの?」と、思わんでもないが、それはまた、別の話。
最近のコメント