This page provides a practical minimal Lighttpd baseline for current Debian and RHEL systems.
/etc/lighttpd/lighttpd.conf
/etc/lighttpd/conf-available/*.conf
/etc/lighttpd/conf-enabled/*.conf
/etc/lighttpd/lighttpd.conf
/etc/lighttpd/conf.d/*.conf
server.port = 80
server.document-root = "/var/www/example.com/public"
server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"
index-file.names = ( "index.html", "index.htm" )
dir-listing.activate = "disable"
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog"
)
server.modules += ( "mod_proxy" )
$HTTP["host"] == "example.com" {
proxy.server = (
"" => (
( "host" => "127.0.0.1", "port" => 3000 )
)
)
}
server.modules += ( "mod_openssl" )
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/certs/lighttpd.pem"
}
server.document-root: Primary static content location.dir-listing.activate = "disable": Prevents directory listing exposure.mod_proxy: Required for reverse proxy workloads.mod_openssl: Enables HTTPS support.Validate syntax:
sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf
Apply changes:
sudo systemctl reload lighttpd
Check service status:
sudo systemctl status lighttpd
mod_proxy, mod_openssl, mod_rewrite, etc.).