-# lighttpd configuration file
-#
-# use a it as base for lighttpd 1.0.0 and above
-#
-# $Id$
-
-############ Options you really have to take care of ####################
-
-## modules to load
-# at least mod_access and mod_accesslog should be loaded
-# all other module should only be loaded if really neccesary
-# - saves some time
-# - saves memory
-
-server.modules = (
-# "mod_rewrite",
-# "mod_redirect",
-# "mod_alias",
- "mod_access",
-# "mod_auth",
-# "mod_status",
-# "mod_setenv",
-# "mod_fastcgi",
-# "mod_proxy",
-# "mod_simple_vhost",
-# "mod_evhost",
-# "mod_userdir",
-# "mod_cgi",
-# "mod_compress",
-# "mod_ssi",
-# "mod_usertrack",
-# "mod_expire",
-# "mod_secdownload",
-# "mod_rrdtool",
-# "mod_localizer",
- "mod_accesslog",
-)
+# lighttpd configuration file.
+
+include_shell "for f in conf.d/*.conf ; do [ -f \"$f\" ] && echo \"include \\"$f\\"\" ; done"
## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/home/services/lighttpd/html/"
## where to send error-messages to
-server.errorlog = "/var/log/lighttpd/lighttpd.log"
-
-# files to check for if .../ is requested
-server.indexfiles = (
- "index.php",
- "index.html",
- "index.htm",
- "default.htm",
-)
+server.errorlog = "/var/log/lighttpd/error.log"
+#server.errorlog-use-syslog = "enable"
+
+## http://redmine.lighttpd.net/projects/lighttpd/repository/revisions/2550
+## NOTE: It is not reopened in log_error_cycle, so don't setup logrotate to this.
+server.breakagelog = "/var/log/lighttpd/breakage.log"
+
+server.pid-file = "/var/run/lighttpd.pid"
# mimetype mapping
-# include, relative to dirname of main config file
include "mime.types.conf"
+# default mime type
+mimetype.assign += (
+ "" => "application/octet-stream",
+)
+
+## set the event-handler (read the performance section in the manual)
+# Linux 2.4+ rt-signals linux-rtsig
+# Linux 2.6+ epoll linux-sysepoll
+#server.event-handler = "linux-sysepoll"
+
+## The basic network interface for all platforms at the syscalls read()
+## and write(). Every modern OS provides its own syscall to help network
+## servers transfer files as fast as possible
+##
+## linux-sendfile - is recommended for small files.
+## writev - is recommended for sending many large files
+##
+#server.network-backend = "linux-sendfile"
+
+# default cames from ulimit -n
+#server.max-fds = 8192
+
+##
+## Stat() call caching.
+##
+## lighttpd can utilize FAM/Gamin to cache stat call.
+##
+## possible values are:
+## disable, simple or fam.
+##
+#server.stat-cache-engine = "simple"
+
+##
+## Fine tuning for the request handling
+##
+## max-connections == max-fds/2 (maybe /3)
+## means the other file handles are used for fastcgi/files
+##
+#server.max-connections = 1024
+
+# maximum number of request within a keep-alive session before the server terminates the connection
+# default 16
+#server.max-keep-alive-requests = 16
+
+# Maximum number of seconds until an idling keep-alive connection is dropped.
+# default 30
+#server.max-keep-alive-idle = 30
+
+# maximum number of seconds until a waiting, non keep-alive read times out and closes the connection
+# default 60
+#server.max-read-idle = 60
+
+# maximum number of seconds until a waiting write call times out and closes the connection
+# default 360
+#server.max-write-idle = 360
+
+##
+## Maximum size of a request in kilobytes.
+## By default it is unlimited (0).
+##
+## Uploads to your server can't be larger than this value.
+##
+#server.max-request-size = 0
# Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetype.use-xattr = "enable"
-## send a different Server: header
-## be nice and keep it at lighttpd
+##
+## Should lighttpd follow symlinks?
+##
+#server.follow-symlink = "enable"
+
+##
+## force all filenames to be lowercase?
+##
+#server.force-lowercase-filenames = "disable"
+
+##
+## defaults to /var/tmp as we assume it is a local harddisk
+##
+server.upload-dirs = ( "/var/tmp" )
+
+##
+## The value for the "Server:" response field.
+##
+## It would be nice to keep it at "lighttpd".
+##
#server.tag = "lighttpd"
-#### accesslog module
-accesslog.filename = "/var/log/lighttpd/access.log"
+$HTTP["url"] =~ "\.pdf$" {
+ server.range-requests = "disable"
+}
-## deny access the file-extensions
-#
-# ~ is for backupfiles from vi, emacs, joe, ...
-# .inc is often used for code includes which should in general not be part
-# of the document-root
-url.access-deny = ( "~", ".inc" )
+## Skip responding with 417 for unhandled Expect header for some broken applications
+#server.reject-expect-100-with-417 = "disable"
######### Options that are good to be but not neccesary to be changed #######
## bind to port (default: 80)
-#server.port = 81
+server.port = 80
+
+## Use IPv6?
+#server.use-ipv6 = "enable"
-## bind to localhost (default: all interfaces)
-#server.bind = "grisu.home.kneschke.de"
+## bind to specific host (default: all interfaces)
+## the name is resolved to ip at startup only.
+#server.bind = "www.example.org"
+
+## additionally just bind to localhost:80
+#$SERVER["socket"] == "127.0.0.1:80" {}
## error-handler for status 404
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"
-## to help the rc.scripts
-#server.pid-file = "/var/run/lighttpd.pid"
-
-###### virtual hosts
-##
-## If you want name-based virtual hosting add the next three settings and load
-## mod_simple_vhost
-##
-## document-root =
-## virtual-server-root + virtual-server-default-host + virtual-server-docroot or
-## virtual-server-root + http-host + virtual-server-docroot
-##
-#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
-#simple-vhost.default-host = "grisu.home.kneschke.de"
-#simple-vhost.document-root = "/pages/"
-
-
##
## Format: <errorfile-prefix><status-code>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-"
-
-## virtual directory listings
-#server.dir-listing = "enable"
-
+#
## enable debugging
+# http://redmine.lighttpd.net/projects/lighttpd/wiki/DebugVariables
#debug.log-request-header = "enable"
+#debug.log-request-header-on-error = "enable"
#debug.log-response-header = "enable"
#debug.log-request-handling = "enable"
#debug.log-file-not-found = "enable"
+#debug.log-condition-handling = "enable"
+#debug.log-condition-cache-handling = "enable"
+#debug.log-timeouts = "enable"
+#debug.log-ssl-noise = "enable"
### only root can use these options
#
#server.chroot = "/"
## change uid to <uid> (default: don't care)
-server.username = "lighttpd"
+server.username = "lighttpd"
## change uid to <uid> (default: don't care)
-server.groupname = "lighttpd"
-
-#### compress module
-#compress.cache-dir = "/tmp/lighttpd/cache/compress/"
-#compress.filetype = ("text/plain", "text/html")
-
-#### proxy module
-## read proxy.txt for more info
-#proxy.server = (
-# ".php" => (
-# "localhost" => (
-# "host" => "192.168.0.101",
-# "port" => 80,
-# )
-# )
-#)
-
-#### fastcgi module
-## read fastcgi.txt for more info
-#fastcgi.debug = 1
-#fastcgi.server = (
-# ".php" => (
-# "localhost" => (
-# "socket" => "/var/run/php/php-fastcgi.sock",
-# "bin-path" => "/usr/bin/php.fcgi",
-# )
-# )
-#)
-
-
-#### CGI module
-#cgi.assign = (
-# ".pl" => "/usr/bin/perl",
-# ".cgi" => "/usr/bin/perl",
-#)
-
-#### SSL engine
-#ssl.engine = "enable"
-#ssl.pemfile = "server.pem"
-
-#### status module
-#status.status-url = "/server-status"
-#status.config-url = "/server-config"
-
-#### auth module
-## read authentification.txt for more info
-## debugging
-# 0 for off, 1 for 'auth-ok' messages, 2 for verbose debugging
-#auth.debug = 1
-## type of backend
-# plain, htpasswd, ldap or htdigest
-#auth.backend = "plain"
-# filename of the password storage
-## for plain
-#auth.backend.plain.userfile = "/etc/lighttpd/lighttpd.user"
-#auth.backend.plain.groupfile = "/etc/lighttpd/lighttpd.group"
-## for htpasswd
-#auth.backend.htpasswd.userfile = "/etc/lighttpd/lighttpd-htpasswd.user"
-## for htdigest
-#auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd-htdigest.user"
-## for ldap
-# the $ in auth.backend.ldap.filter is replaced by the
-# 'username' from the login dialog
-#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" => "user=agent007|user=agent008"
-# ),
-# "/server-info" => (
-# "method" => "digest",
-# "realm" => "download archiv",
-# "require" => "group=www|user=jan|host=192.168.2.10"
-# ),
-# "/server-config" => (
-# "method" => "ldap",
-# "realm" => "server config",
-# "require" => "user=glen"
-# ),
-#)
-
-
-#### url handling modules (rewrite, redirect, access)
-#url.rewrite = (
-# "^/$" => "/server-status",
-#)
-#url.redirect = (
-# "^/wishlist/(.+)" => "http://www.123.org/$1",
-#)
-
-# define a pattern for the host url finding
-# %% => % sign
-# %0 => domain name + tld
-# %1 => tld
-# %2 => domain name without tld
-# %3 => subdomain 1 name
-# %4 => subdomain 2 name
-#
-#evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
-
-#### expire module
-#expire.url = (
-# "/buggy/" => "access 2 hours",
-# "/asdhas/" => "access plus 1 seconds 2 minutes",
-#)
-
-#### ssi
-#ssi.extension = ( ".shtml" )
-
-#### rrdtool
-#rrdtool.binary = "/usr/bin/rrdtool"
-#rrdtool.db-name = "/var/www/lighttpd.rrd"
+server.groupname = "lighttpd"
-#### setenv
-#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
-#setenv.add-response-header = ( "X-Secret-Message" => "42" )
+##
+## Traffic Shaping
+## -----------------
+##
+## Values are in kilobyte per second.
+##
+## Keep in mind that a limit below 32kB/s might actually limit the
+## traffic to 32kB/s. This is caused by the size of the TCP send
+## buffer.
+##
+## per server:
+##
+#server.kbytes-per-second = 128
-#### userdir module
-#userdir.path = "public_html"
-#userdir.exclude-user = ( "root", "postmaster" )
-#
-## if set, only users from this list may use the feature
-#userdir.include-user = ""
+##
+## per connection:
+##
+#connection.kbytes-per-second = 32
-#### alias module
-#alias.url = (
-# "/cgi-bin/" => "/usr/lib/cgi-bin",
-#)
+# webapps configs
+include_shell "for f in webapps.d/*.conf ; do [ -f \"$f\" ] && echo \"include \\"$f\\"\" ; done"
+# vhosts config
+include_shell "for f in vhosts.d/*.conf ; do [ -f \"$f\" ] && echo \"include \\"$f\\"\" ; done"