-# 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
-mimetype.assign = (
- ".asc" => "text/plain",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".avi" => "video/x-msvideo",
- ".bz2" => "application/x-bzip",
- ".c" => "text/plain",
- ".class" => "application/octet-stream",
- ".conf" => "text/plain",
- ".css" => "text/css",
- ".dtd" => "text/xml",
- ".dvi" => "application/x-dvi",
- ".gif" => "image/gif",
- ".gz" => "application/x-gzip",
- ".htm" => "text/html",
- ".html" => "text/html",
- ".jpeg" => "image/jpeg",
- ".jpg" => "image/jpeg",
- ".js" => "text/javascript",
- ".m3u" => "audio/x-mpegurl",
- ".mov" => "video/quicktime",
- ".mp3" => "audio/mpeg",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".ogg" => "application/ogg",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".pdf" => "application/pdf",
- ".png" => "image/png",
- ".ps" => "application/postscript",
- ".qt" => "video/quicktime",
- ".rpm" => "application/x-rpm",
- ".sig" => "application/pgp-signature",
- ".spl" => "application/futuresplash",
- ".swf" => "application/x-shockwave-flash",
- ".tar" => "application/x-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar"
- ".tar.gz" => "application/x-tgz",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".text" => "text/plain",
- ".tgz" => "application/x-tgz",
- ".torrent" => "application/x-bittorrent",
- ".txt" => "text/plain",
- ".wav" => "audio/x-wav",
- ".wax" => "audio/x-ms-wax",
- ".wma" => "audio/x-ms-wma",
- ".wmv" => "video/x-ms-wmv",
- ".xbm" => "image/x-xbitmap",
- ".xml" => "text/xml",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".zip" => "application/zip",
+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"