lighttpd (for Windows) に触ってみた(2)

昨日(id:takatoh:20070111:lighttpd) のつづき。

ファイルのリスト( mod_dirlisting )

URL がディレクトリを指して,かつインデックスファイルが見つからない場合に,ディレクトリ内容のリストを表示する機能。mod_dirlisting モジュールは server.modules で指定する必要もなくデフォルトで読み込まれるので,機能を有効にするだけでいい。

 dir-listing.activate       = "enable"

もし,特定のディレクトリだけリストを表示したいなら次のようにする(これは C:\lighttpd\doc\dirlisting.txt に載っている例)。

   $HTTP["url"] =~ "^/download($|/)" {
     dir-listing.activate = "enable"
   }

エイリアス( mod_alias )

mod_alias を読み込んで

                                "mod_alias",

エイリアスのリストを指定。lighttpd.conf に記述がないので追加する。

 alias.url = ( "/cgi-bin/" => "C:/lighttpd/cgi-bin/" )

バーチャルホスト( mod_simple_vhost )

バーチャルホスト関連のモジュールには mod_evhost というのもあるけど,ここでは mod_simple_vhost を使う(名前ベース)。まずはモジュールの読み込み。

                                "mod_simple_vhost",

でもって,次のように設定する。これがデフォルトのバーチャルホストになる。

 simple-vhost.server-root   = "C:/lighttpd/servers/"
 simple-vhost.default-host  = "vhost1"
 simple-vhost.document-root = "/pages/"

simple-vhost.server-root で指定したディレクトリ以下にバーチャルホストと同名のディレクトリを用意する。ほかの場所に作ってもダメなようだ。
で,この例では vhost1 がバーチャルホスト名,C:/lighttpd/servers/vhost1/pages/ がそのドキュメントルートだ。
複数のバーチャルホストをたてるには

 $HTTP["host"] == "vhost2" {
   server.document-root = "C:/lighttpd/servers/vhost2/pages/"
 }

のように $HTTP["host"] の値で場合分けする。
元々のホスト−−昨日の例でいえば http://localhost:81/ でアクセスしていたホスト−−は無効になるようだ。