server.document-root         = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.pid-file              = env.SRCDIR + "/tmp/lighttpd/lighttpd.pid"

## bind to port (default: 80)
server.port                 = 2048

# server.license              = "00000001000000013feccb804014587f000000010000000105911c976a3d462c8eaa2d7ca850432c"

## bind to localhost (default: all interfaces)
server.bind                = "localhost"
server.errorlog            = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.error.log"
server.name                = "www.example.org"
server.tag                 = "Apache 1.3.29"


##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix    = "/home/weigon/projects/lighttpd/doc/status-"

server.dir-listing          = "enable"

#server.event-handler        = "linux-sysepoll"
#server.event-handler        = "linux-rtsig"

#server.modules.path         = ""
server.modules              = (
				"mod_rewrite",
				"mod_setenv",
			        "mod_access",
				"mod_auth",
#				"mod_httptls",
				"mod_status",
				"mod_expire",
				"mod_simple_vhost",
				"mod_redirect",
#				"mod_evhost",
#				"mod_localizer",
				"mod_fastcgi",
				"mod_cgi",
				"mod_compress",
				"mod_accesslog" )

server.indexfiles           = ( "index.html",
                                "index.htm", "default.htm", "index.php" )

#,-- only root can use these options
#|
#|# chroot() to directory (default: no chroot() )
#| server.chroot  /
#|# change uid to <uid> (default: don't care)
#| server.userid wwwrun
#|# change uid to <uid> (default: don't care)
#| server.groupid wwwrun
#|
#`--


######################## MODULE CONFIG ############################


accesslog.filename          = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.access.log"

mimetype.assign             = ( ".png"  => "image/png",
                                ".jpg"  => "image/jpeg",
                                ".jpeg" => "image/jpeg",
                                ".gif"  => "image/gif",
                                ".html" => "text/html",
                                ".htm"  => "text/html",
                                ".pdf"  => "application/pdf",
                                ".swf"  => "application/x-shockwave-flash",
                                ".spl"  => "application/futuresplash",
                                ".txt"  => "text/plain",
                                ".tar.gz" =>   "application/x-tgz",
                                ".tgz"  => "application/x-tgz",
                                ".gz"   => "application/x-gzip",
				".c"    => "text/plain",
				".conf" => "text/plain" )

compress.cache-dir          = env.SRCDIR + "/tmp/lighttpd/cache/compress/"
compress.filetype           = ("text/plain", "text/html")

setenv.add-environment      = ( "TRAC_ENV" => "foo")
setenv.add-request-header   = ( "FOO" => "foo")
setenv.add-response-header  = ( "BAR" => "foo")

fastcgi.debug               = 0
fastcgi.server              = ( ".php" => (
                                  "grisu" => (
				    "host" => "127.0.0.1",
				    "port" => 1026,
#				    "mode" => "authorizer",
#				    "docroot" => env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/",
				  )
				)
			      )


cgi.assign                  = ( ".pl"  => "/usr/bin/perl",
                                ".cgi" => "/usr/bin/perl",
				".py"  => "/usr/bin/python" )



ssl.engine                  = "disable"
ssl.pemfile                 = "server.pem"

auth.backend                = "plain"
auth.backend.plain.userfile = env.SRCDIR + "/tmp/lighttpd/lighttpd.user"
auth.backend.plain.groupfile = "lighttpd.group"

auth.backend.ldap.hostname  = "localhost"
auth.backend.ldap.base-dn   = "dc=my-domain,dc=com"
auth.backend.ldap.filter    = "(uid=$)"

auth.require                = ( "/server-status" =>
                                (
				  "method"  => "digest",
				  "realm"   => "download archiv",
#				  "require" => ("group=www", "user=jan", "host=192.168.2.10")
				  "require" => "group=www|user=jan|host=192.168.2.10"
				),
				"/auth.php" =>
                                (
				  "method"  => "basic",
				  "realm"   => "download archiv",
#				  "require" => ("group=www", "user=jan", "host=192.168.2.10")
				  "require" => "user=jan"
				),
				"/server-config" =>
                                (
				  "method"  => "basic",
				  "realm"   => "download archiv",
#				  "require" => ("group=www", "user=jan", "user=weigon", "host=192.168.2.10")
				  "require" => "group=www|user=jan|host=192.168.2.10"
				)
                              )

url.access-deny             = ( "~", ".inc")

url.redirect                = ( "^/redirect/$" => "http://localhost:2048/" )

expire.url                  = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#cache.cache-dir             = "/home/weigon/wwwroot/cache/"

#### status module
status.status-url           = "/server-status"
status.config-url           = "/server-config"

simple-vhost.document-root  = "pages"
simple-vhost.server-root    = env.SRCDIR + "/tmp/lighttpd/servers/"
simple-vhost.default-host   = "www.example.org"

$HTTP["host"] == "vvv.example.org" {
  server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
}

$HTTP["host"] == "zzz.example.org" {
  server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
  server.name = "zzz.example.org"
}

