木曜日, 11月 23, 2006

pluginわかんNE-

巷で話題のlighttpd。pluginを作ろうと思ってみたんだけど全くわかんね。

やった手順はdocument通り。

本当なら、static linkしてdebugした方が楽なんだろうけど面倒くさいのでこのまま作業する。
まずは起動まで。

1)
tar ballを展開する。

2)
lighttpd-1.4.13/src/mod_skeketon.cをcopyしてmod_hoge.cを作る。
mod_hoge.cの中のskeletonという文字列を全てhogeに変更。

3)
lighttpd-1.4.13/src/Makefileに追記
lib_LTLIBRARIES += mod_hoge.la
mod_hoge_la_SOURCES = mod_hoge.c
mod_hoge_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_hoge_la_LIBADD = $(common_libadd)

4)
top directoryでconfigure実行
$ ./configure --enable-maintainer-mode --prefix=/tmp/httpd
これで、/tmp/httpdにinstallされるので動かす事ができる。

5)
lighttpd.confを修正してmod_hogeを追加。
面倒なので /tmp/httpd/sbinにlighttpd.conを置く。
/tmp/httpd/logsを掘り、access.logとerror.logを吐くようにlighttpd.confを修正。

6)
/tmp/httpd/sbinでllighttpd起動
$ sudo ./lighttpd -D -f ./lighttpd.conf

次がmoduleの修正
まずは初期値の設定で腕試し。
お試しでlighttpd.confに以下のディレクティブを追加してみる。
hoge.my-url = "HOGEHOGE"

(あとでちゃんと書く)
plugin_dataに追記。
constなtableに追記。
_init()で解析結果を保持するようにする。
plugin_dataはconnection毎に持つらしい。
handler内でmy-urlを拾えるようにする。

0 件のコメント: