It doesn't create a sample lighttpd.conf by default. I think that is more often a distro-provided thing.
It should be fine to just run sudo lighttpd -D -f /path/to/a/new/lighttpd.conf once you make a new lighttpd.conf. And then remove -D once you are happy for it to run in the background.
Example (trimmed) contents of my config for my site: (it runs under an added www-data user)
server.document-root = "/home/www-data/repo/public_html/"
server.port = 80
server.username = "www-data"
server.groupname = "www-data"
static-file.exclude-extensions = ( ".php", ".cgi", ".lua" )
index-file.names = ( "index.html", "index.lua" )
mimetype.assign = (
".css" => "text/css; charset=utf-8",
".html" => "text/html; charset=utf-8",
".js" => "text/javascript; charset=utf-8",
".lua" => "application/lua; charset=utf-8",
".png" => "image/png",
".txt" => "text/plain",
".webmanifest" => "application/manifest+json",
)
server.modules += ( "mod_cgi", "mod_status", "mod_access", "mod_accesslog", "mod_expire", "mod_redirect", "mod_setenv", "mod_magnet" )
magnet.attract-physical-path-to = ( "/home/www-data/repo/magnet.lua" )
magnet.attract-response-start-to = ( "/home/www-data/repo/magnet-response.lua" )
server.errorlog = "/tmp/lighttpd-error.log"
server.breakagelog = "/tmp/lighttpd-breakage.log"
accesslog.filename = "/tmp/lighttpd-access.log"
include_shell "echo var.lua = '\"'$(which lua)'\"'"
cgi.assign = ( ".lua" => var.lua )
cgi.execute-x-only = "enable"
cgi.limits = (
"write-timeout" => 60,
"read-timeout" => 180,
)
setenv.add-environment = (
"REALDB_ROOT" => "/home/www-data/databases",
)
$HTTP["url"] =~ "^/favicon.ico$" {
url.redirect = (
"^/favicon.ico$" => "/favicon.png"
)
url.redirect-code = 307
}
# various basically-static data
$HTTP["url"] =~ "^/scripts/" {
expire.url = ( "" => "access plus 30 days" )
}
$HTTP["url"] =~ "^/(main|clock)\.[0-9]+\.css$" {
expire.url = ( "" => "access plus 30 days" )
}
$HTTP["url"] =~ "^/favicon\.(png|ico)$" {
expire.url = ( "" => "access plus 30 days" )
}