PHP/PEARのマニュアルをミラー

 最近、オンラインのPHP、PEARマニュアルにお世話になることが多いので、いっそ自分とこにもミラーしたらどうか、と思って調べてみました。

 それぞれ、PHPの公式サイトからパッケージを取得できました。PHPはここから、PEARはここから

 面白いのは、Windowsのオンラインヘルプ形式であるchmフォーマットでも配布されてる点です。これだと単一のファイルでローカルHDD上に置いておけるし、検索などのUI面のメリットもあります。ただ、ちょっと字が小さかったりPEARの方は目次の作りがイマイチでHTML版の方が使いやすいかなぁ、という印象。一応、ノートPCには入れておいてモバイルでパケ代かけずに見る用にしてもいいかも。でもまぁ、PHPの開発をオフラインでそもそもしないしなぁw。

 

MaxLine III発注

 公開サーバーの/home領域が残量5%を切ったので、交換用を物色。(検査体制が違うだけでモノはDiamondMaxと同じとも聞くけど)やはりブランドイメージでいくとMaxstorのMaxLine系かなと単純に思ってたけど、MaxLineIIIはもう終息してしまったらしい(考えてみればもう2年前くらいだし、Maxstor自体あんなことになってるし)。IDEで見かけるのはMaxLinePro500ばかり。さすがに500GBはいらないしなぁ。

 横浜ビックでSATA版ならIIIの250GB、300GBが残ってるぽかった。ただせっかく信頼性を基準にするのに、ここでSATA->IDEアダプタをかますのもどうかと…

 そんな中でAmazon.co.jpで在庫無しながらIDE版のMaxLineIIIの注文を受け付けているのを発見。ダメもとで注文してみました。結果は乞うご期待。

続・dovecot mbox環境でInvalid messageseと出てメールが読めない時の覚え書き

[dgg]: dovecot mbox環境でInvalid messageseと出てメールが読めない時の覚え書き

■再発、おさらい

 またまた再現しました。あらためてググってみてもめぼしい情報無し。海外のブログでもわざわざウチの上記エントリを翻訳したものにリンクしてるほど情報が乏しいようです。

 わかっているのは、

  • X-UIDはmbox環境のimapサーバー(dovocot以外も)がキャッシュ用につけるヘッダで、1ずつ増える
  • dovecotの0.99.14以前はこの値が一定以上になるとオーバーフローして負の数に解釈されるためエラーになる
  • 最後の番号は最後のメールではなく、メールボックスの先頭のメールのX-IMAPbaseヘッダの2番目の数値
  • 同時に~(ユーザ名)/imap4/.imap/INBOX/.imap.index*にもキャッシュデータがあるので消すべし

ということ。dovecotの1.0は未だ正式リリースされず。

■番号を振り直す

 で、今回はそもそもの数字がもう何年分も積算して(振り分け前の迷惑メールでもカウントアップするし)かなり大きい数字になるので、1から振り直すことにチャレンジ。

 上記の海外のエントリによりスマートな方法が載っていました。まず、作業中にメールアクセスが発生しないようdovecotとpostfixを停止し、クライアントも念のため終了しておきます。

cd /var/spool/mail
grep -v ‘^X-UID: ‘ hoge > hoge2
grep -v “^X-IMAPbase: ” hoge2 > hoge

で、hogeのスプールからX-UIDとX-IMAPbaseで始まる行をすべて除去します。

 次に前回同様、dovecotがメールボックスのヘッダ情報をキャッシュしているらしいファイルを削除します。

rm ~hoge/imap4/.imap/INBOX/.imap.index*

 上記ブログではこれで大丈夫だったようですが、ウチではきっちり元の番号で振り直されてしまいました。どうも、X-IMAPbaseの最初の引数がメールボックスを特定するためのIDのようなので、この数字をエディタで適当にいじってみたところ上手くいきました。

 Thunderbirdを立ち上げると、受信箱内の一覧を全て再読込しました。モバイルでも使う人は、パケット代節約のため、自宅LANにつながっている時にいちどつなげておいた方がよいかも知れません。

■番号スキップの犯人を発見

 で、前回も不明だった番号が突如ハネあがるトリガなんですが、どうも通販ショップuWorksからの広告メールが原因らしいということをつきとめました。何度か現象が起きている中で、毎回共通して境界にいるのがここのメーリングリストからのメールだったのです。どうも、最初からX-UIDヘッダが大きな数字でついたまま送られてくるらしく、以降のメールのX-UIDがすべて大きく跳ね上がってしまいます。ここのショップのメルマガはお値打ち情報があって重宝してるんですが、とりあえず解除しておきました。

 

 

PostgreSQLでテーブルに列を追加する

 超私的なメモです。

 たぶん、出来るだろうなぁ、と思いつつ、ちゃんと調べたことがなかったPostgreSQLの既存テーブルに後から列を追加するコマンド。

alter table (テーブル名) add (カラム名) (形式);

であっさり成功。うん、これは便利だ。たぶん次使う時には忘れているのでここの書いておこう。

 ついでにカラム名の変更方法。

alter table (テーブル名) rename (変更前) to (変更後);

 ただしカラムを削除したり形式変更したりはテーブルを作り直すしかない模様。

MovableTypeに新たなコメントスパム対策導入

MT-Keystrokesプラグイン Movable Typeコメントスパム対策 – WEBデザイン BLOG

 昨日、サーバーが一切のレスポンスを返さなくなったので何事かと調べてみると、どうもブログへの迷惑コメント、トラックバックが大量に届いて過負荷状態に陥っていた模様。ディスククラッシュとかでなくて良かったけれど、これはそろそろキチンと対策せねばと。

 で、今回は上記の紹介されているMT-Keystrokesというプラグインを導入してみました。JavaScriptでフォーム上でキー入力があったかどうかを検知してチェックするようです。自動スパム送信ツールだとフォームを経由しないのでキー入力のフラグがたたない訳です。以前、似たような仕組みで、フォームにhiddenを埋め込む方法を採っていたんですが、それよりも厳重だし、プラグインなのでMTをバージョンアップするたびにソースを書き換えなくても良い点がメリットです。

 テンプレートは各コメント欄部分ごとに3カ所ずつ。個別アーカイブだけでなく、システムテンプレートのコメント一覧、コメントエラー、コメント確認の方も適用しないといけない点がポイントですね。個別アーカイブだけだと、確認画面経由の時に正しく投稿されないので要注意です。ただ、元テンプレートのバージョンによって、システムテンプレートにはフォームがないものもありました。

 これで迷惑コメントが減ってくれるといいなぁ…