ApacheModuleの作り方

C言語のCGIは速いと思っていましたが実は遅かったんですね。Servletみたいにプログラムがメモリに常駐されていればディスクアクセスが発生するCGIに勝ち目は無いのか・・・でもFastCGI組み込んだらどうなんだろ?

以下の記事はCGIをC言語で作るというより、Apacheモジュールの作り方に重点を置いています。Webシステムのモジュールをバイナリ形式で配布する際にとても参考になりそうです。

ApacheModuleでWebアプリケーションをつくろう:CodeZine
http://codezine.jp/a/article/aid/2502.aspx

携帯向けHTML変換Apacheモジュールmod_chxj

今月に入って活発に更新されているHTML変換モジュールがバージョン0.11.0にアップしていました。PHSを無視していいなら高価でJavaが必要なx-Servletよりも無料で直接Apacheで動作するmod_chxjの方が断然パフォーマンス良さそうですがどうかな?

国内の主要携帯(3キャリア)向けコンテンツ変換ミドルウェアをApache2.x用のモジュールとして作成します。CHTMLや通常のHTMLで作成したコンテンツを出力時にUserAgentを見てそれぞれの端末用に変換します(画像はJPG、GIF、PNGからJPG、GIF、PNG、BMPへ)。QRコード生成機能付。

sourceforge.jp Project Info – mod_chxj
http://sourceforge.jp/projects/modchxj

Apacheの動的モジュール追加

Apacheでwwwサーバを構築していて良くあるのが、最初は最小構成で構築していたものの後からモジュールだけ必要になる場合。全く同じOSの別サーバがあればそこからsoファイルを持ってくるという荒業もありますが、正当な方法で追加モジュールを組み込みたいとググってみました。

apxsでapacheにモジュールを追加する
http://kazmax.zpp.jp/apache/apache3.html

なるほどapxsでコンパイル・インストールすることでモジュールを追加できるようです。PHPのオプションにapxsの項目があるのはそういうことなんですね。

Apache2.2.4で追加した時は以下のように操作しました。

Rewiteのインストール
# cd /usr/local/src/httpd-2.2.4/modules/mappers
# /usr/local/apache/bin/apxs -c mod_rewrite.c
# /usr/local/apache/bin/apxs -i -a -n rewrite mod_rewrite.la