Apacheクックブックは駄本でした。。。

最近凄い勢いで他人のソースを見てデバッグする機会が多く、多重にrequireしているソースになるともうかなり面倒です。特に動的ページ同士のパラメータのやり取りに関しては仕様書がないとソース解析の範囲が一気に増えて面倒です。

そうなって来るとプログラムにトレースを打ちまくって確認するのですが、他人が管理しているプログラムに改造しまくるのはサーバが余っていてコピー環境作成できないと難しい…。あとファイル数やポイントが多ければそれだけでも大変な作業になる。

GETに関してはApacheログに普通に出せるので楽だが、殆どはPOSTの中が重要だったりします。それでApacheでPOSTの情報を出せないかと探索してもPOSTの長さを出すのが精一杯。さらに検索すると『Apacheクックブック』の目次に『POSTの内容をログに記録する』というのがあるじゃありませんか、早速Googleブック検索で調べたら日本語版なし、まぁApacheの設定だし英語でもドンと来い状態なので英語も検索するとログの章は非公開。

買うしかないのかと即注文して今日届いたのですが、

本書を執筆している時点では、そのようなフィルタは存在しない。

目次では2ページ分だったので少しは期待しましたが1ページ目が7行(3行は回答、残りは言い訳)で2ページ目は言い訳の残りが2行で終了です。

他にも『クライアントのMACアドレスをログに記録する』で、ネットワークの仕様上、常識的に不可能でMACアドレス取得しても直近のルータやロードバランサーのMACアドレスだから負荷分散等に使うのかな?て見たら。

Aapcheでは全くできない

この項目も全部で6行です。他の項目もApacheサイトや一般的なApache本で普通に書いてることと同じだし、こんな個人ブログにだらだらと書いた内容の寄せ集めみたいな本だったので無駄投資。買う人が詐欺被害に会ったみたいでかわいそうだし面倒で転売する気も起きません。。。orz

他のものに例えたらフォローが中途半端な質問掲示板そのものですね。質問だけあって、解決になって無い無駄書きと不可能発言のスレッドみたいです。(ググってもこういうのによく当たりますね:;)

さてApache2でPOST内容の書き出しは一旦置いといて別のサーバ構築しますか(´・ω・)

ターミナルの言語を変更

前から思っていたのですがレッドハット系っていらねーところに世話妬いて日本語表示したりするんですよね。んで化けて判読不可能ならまだしも最悪画面が崩壊してリログする羽目になる。

この設定変更に関して検索してみたら(UTF-8→EUC)というのがよく見付かりますね。まぁ昔EUCだったものが新しめのLinuxだとUTF-8になっててターミナルソフトがついていけないからEUCに戻そうという話です。イヤイヤイヤイヤそれはないだろ?そもそもマルチバイトの時点でうぜーよ。テキストファイルだって全てEUCなんて今時まれだし、いちいちコマンドの出力に合わせて文字コードの変更なんてやってられるかよ。常識的に考えてここは英語オンリーだろ?読めなくて不都合あるなら辞書引け。(こういう自国だけで複数の文字コードに悩まされるのって日本と中国かな?)

ということでクライアントのfedoraからターミナルの日本語を排除しました。
# vi /etc/sysconfig/i18n

元々の状態
LANG=”ja_JP.UTF-8″
SUPPORTED=”ja_JP.UTF-8:ja_JP:ja”

変更後
LANG=”en_US.UTF-8″
SUPPORTED=”en_US.UTF-8:en_US:en”

これで ls -l 等で日付部分が漢字とか悲惨な表示が無くなってスッキリ。

ImageMagickのインストール

最近のブログのコメント欄にはCAPTCHAという認証用の画像が入っています。これはスクリプト系スパム対策の為に効果がありMT4では標準搭載されているのでぜひ使いたいと思います。そうすればコメントを一旦保留にしていちいちスパム判断しなくて済むし…。
そのためにはImageMagickとPerlのImage::Magickが必要になりますのでインストールします。

パッケージの入手先
ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.2-9.tar.gz

展開
# cd /usr/local/src/
# tar zxf ImageMagick-6.3.2-9.tar.gz

# cd /usr/local/src/ImageMagick-6.3.2

# setenv CPPFLAGS -I/usr/local/include
# setenv LDFLAGS -L/usr/local/lib
上記2行はlibjpeg.aとjpeglib.hを読み込むためにパスを通します。
PHPのように./configureでjpegライブラリのパスを指定できると思ったのにそんなオプション無かったのでこの方法をとりました。ImageMagickには別途jpegライブラリが必要のようです。PHPでGD有効にしていれば入ってるはずです。

# ./configure –enable-lzw=yes
lzwはLZW圧縮のことで要するにGIFです。

# make
# make install

ここでImageMagickのインストールは完了。
次にPerl用モジュールを組み込みます。

# cd /usr/local/src/ImageMagick-6.3.2/PerlMagick
# perl Makefile.PL
# make
# make install

これでMOVABLE TYPEでCAPTCHAが使えるようになります。