Annotation of elwix/config/etc/default/lighttpd/lighttpd.conf.sample, revision 1.1.2.2

1.1.2.2 ! misho       1: #######################################################################
        !             2: ##
        !             3: ## /usr/local/etc/lighttpd/lighttpd.conf
        !             4: ##
        !             5: ## check /usr/local/etc/lighttpd/conf.d/*.conf for the configuration of modules.
        !             6: ##
        !             7: #######################################################################
        !             8: 
        !             9: #######################################################################
        !            10: ##
        !            11: ## Some Variable definition which will make chrooting easier.
        !            12: ##
        !            13: ## if you add a variable here. Add the corresponding variable in the
        !            14: ## chroot example aswell.
        !            15: ##
        !            16: var.log_root    = "/var/log/lighttpd"
        !            17: var.server_root = "/usr/local/www/data"
        !            18: var.state_dir   = "/var/run"
        !            19: var.home_dir    = "/var/spool/lighttpd"
        !            20: var.conf_dir    = "/usr/local/etc/lighttpd"
        !            21: 
        !            22: ## 
        !            23: ## run the server chrooted.
        !            24: ## 
        !            25: ## This requires root permissions during startup.
        !            26: ##
        !            27: ## If you run Chrooted set the the variables to directories relative to
        !            28: ## the chroot dir.
        !            29: ##
        !            30: ## example chroot configuration:
        !            31: ## 
        !            32: #var.log_root    = "/logs"
        !            33: #var.server_root = "/"
        !            34: #var.state_dir   = "/run"
        !            35: #var.home_dir    = "/lib/lighttpd"
        !            36: #var.vhosts_dir  = "/vhosts"
        !            37: #var.conf_dir    = "/etc"
1.1.2.1   misho      38: #
1.1.2.2 ! misho      39: #server.chroot   = "/srv/www"
1.1.2.1   misho      40: 
1.1.2.2 ! misho      41: ##
        !            42: ## Some additional variables to make the configuration easier
        !            43: ##
1.1.2.1   misho      44: 
1.1.2.2 ! misho      45: ##
        !            46: ## Base directory for all virtual hosts
        !            47: ##
        !            48: ## used in:
        !            49: ## conf.d/evhost.conf
        !            50: ## conf.d/simple_vhost.conf
        !            51: ## vhosts.d/vhosts.template
        !            52: ##
        !            53: var.vhosts_dir  = server_root + "/vhosts"
1.1.2.1   misho      54: 
1.1.2.2 ! misho      55: ##
        !            56: ## Cache for mod_compress
        !            57: ##
        !            58: ## used in:
        !            59: ## conf.d/compress.conf
        !            60: ##
        !            61: var.cache_dir   = "/var/cache/lighttpd"
1.1.2.1   misho      62: 
1.1.2.2 ! misho      63: ##
        !            64: ## Base directory for sockets.
        !            65: ##
        !            66: ## used in:
        !            67: ## conf.d/fastcgi.conf
        !            68: ## conf.d/scgi.conf
        !            69: ##
        !            70: var.socket_dir  = home_dir + "/sockets"
1.1.2.1   misho      71: 
1.1.2.2 ! misho      72: ##
        !            73: #######################################################################
1.1.2.1   misho      74: 
1.1.2.2 ! misho      75: #######################################################################
        !            76: ##
        !            77: ## Load the modules.
        !            78: include "modules.conf"
1.1.2.1   misho      79: 
1.1.2.2 ! misho      80: ##
        !            81: #######################################################################
1.1.2.1   misho      82: 
1.1.2.2 ! misho      83: #######################################################################
1.1.2.1   misho      84: ##
1.1.2.2 ! misho      85: ##  Basic Configuration
        !            86: ## ---------------------
        !            87: ##
        !            88: server.port = 80
        !            89: 
        !            90: ##
        !            91: ## Use IPv6?
        !            92: ##
        !            93: server.use-ipv6 = "enable"
1.1.2.1   misho      94: 
1.1.2.2 ! misho      95: ##
        !            96: ## bind to a specific IP
        !            97: ##
        !            98: #server.bind = "localhost"
1.1.2.1   misho      99: 
1.1.2.2 ! misho     100: ##
        !           101: ## Run as a different username/groupname.
        !           102: ## This requires root permissions during startup. 
        !           103: ##
        !           104: server.username  = "www"
        !           105: server.groupname = "www"
1.1.2.1   misho     106: 
1.1.2.2 ! misho     107: ## 
        !           108: ## enable core files.
        !           109: ##
        !           110: #server.core-files = "disable"
1.1.2.1   misho     111: 
1.1.2.2 ! misho     112: ##
        !           113: ## Document root
        !           114: ##
        !           115: server.document-root = "/usr/local/www/data/"
        !           116: 
        !           117: ##
        !           118: ## The value for the "Server:" response field.
        !           119: ##
        !           120: ## It would be nice to keep it at "lighttpd".
        !           121: ##
        !           122: #server.tag = "lighttpd"
1.1.2.1   misho     123: 
1.1.2.2 ! misho     124: ##
        !           125: ## store a pid file
        !           126: ##
        !           127: server.pid-file = state_dir + "/lighttpd.pid"
1.1.2.1   misho     128: 
1.1.2.2 ! misho     129: ##
        !           130: #######################################################################
1.1.2.1   misho     131: 
1.1.2.2 ! misho     132: #######################################################################
        !           133: ##
        !           134: ##  Logging Options
        !           135: ## ------------------
1.1.2.1   misho     136: ##
1.1.2.2 ! misho     137: ## all logging options can be overwritten per vhost.
1.1.2.1   misho     138: ##
1.1.2.2 ! misho     139: ## Path to the error log file
1.1.2.1   misho     140: ##
1.1.2.2 ! misho     141: server.errorlog             = log_root + "/error.log"
1.1.2.1   misho     142: 
1.1.2.2 ! misho     143: ##
        !           144: ## If you want to log to syslog you have to unset the 
        !           145: ## server.errorlog setting and uncomment the next line.
        !           146: ##
        !           147: #server.errorlog-use-syslog = "enable"
1.1.2.1   misho     148: 
                    149: ##
1.1.2.2 ! misho     150: ## Access log config
        !           151: ## 
        !           152: include "conf.d/access_log.conf"
1.1.2.1   misho     153: 
1.1.2.2 ! misho     154: ##
        !           155: ## The debug options are moved into their own file.
        !           156: ## see conf.d/debug.conf for various options for request debugging.
        !           157: ##
        !           158: include "conf.d/debug.conf"
1.1.2.1   misho     159: 
1.1.2.2 ! misho     160: ##
        !           161: #######################################################################
1.1.2.1   misho     162: 
1.1.2.2 ! misho     163: #######################################################################
        !           164: ##
        !           165: ##  Tuning/Performance
        !           166: ## --------------------
        !           167: ##
        !           168: ## corresponding documentation:
        !           169: ## http://www.lighttpd.net/documentation/performance.html
        !           170: ##
        !           171: ## set the event-handler (read the performance section in the manual)
        !           172: ##
        !           173: ## possible options on linux are:
        !           174: ##
        !           175: ## select
        !           176: ## poll
        !           177: ## linux-sysepoll
        !           178: ##
        !           179: ## linux-sysepoll is recommended on kernel 2.6.
        !           180: ##
        !           181: server.event-handler = "freebsd-kqueue"
1.1.2.1   misho     182: 
1.1.2.2 ! misho     183: ##
        !           184: ## The basic network interface for all platforms at the syscalls read()
        !           185: ## and write(). Every modern OS provides its own syscall to help network
        !           186: ## servers transfer files as fast as possible 
        !           187: ##
        !           188: ## linux-sendfile - is recommended for small files.
        !           189: ## writev         - is recommended for sending many large files
        !           190: ##
        !           191: server.network-backend = "writev"
1.1.2.1   misho     192: 
1.1.2.2 ! misho     193: ##
        !           194: ## As lighttpd is a single-threaded server, its main resource limit is
        !           195: ## the number of file descriptors, which is set to 1024 by default (on
        !           196: ## most systems).
        !           197: ##
        !           198: ## If you are running a high-traffic site you might want to increase this
        !           199: ## limit by setting server.max-fds.
        !           200: ##
        !           201: ## Changing this setting requires root permissions on startup. see
        !           202: ## server.username/server.groupname.
        !           203: ##
        !           204: ## By default lighttpd would not change the operation system default.
        !           205: ## But setting it to 2048 is a better default for busy servers.
        !           206: ##
        !           207: server.max-fds = 2048
        !           208: 
        !           209: ##
        !           210: ## Stat() call caching.
        !           211: ##
        !           212: ## lighttpd can utilize FAM/Gamin to cache stat call.
        !           213: ##
        !           214: ## possible values are:
        !           215: ## disable, simple or fam.
        !           216: ##
        !           217: server.stat-cache-engine = "simple"
        !           218: 
        !           219: ##
        !           220: ## Fine tuning for the request handling
        !           221: ##
        !           222: ## max-connections == max-fds/2 (maybe /3)
        !           223: ## means the other file handles are used for fastcgi/files
        !           224: ##
        !           225: server.max-connections = 1024
        !           226: 
        !           227: ##
        !           228: ## How many seconds to keep a keep-alive connection open,
        !           229: ## until we consider it idle. 
        !           230: ##
        !           231: ## Default: 5
        !           232: ##
        !           233: #server.max-keep-alive-idle = 5
1.1.2.1   misho     234: 
1.1.2.2 ! misho     235: ##
        !           236: ## How many keep-alive requests until closing the connection.
        !           237: ##
        !           238: ## Default: 16
        !           239: ##
        !           240: #server.max-keep-alive-requests = 16
1.1.2.1   misho     241: 
1.1.2.2 ! misho     242: ##
        !           243: ## Maximum size of a request in kilobytes.
        !           244: ## By default it is unlimited (0).
        !           245: ##
        !           246: ## Uploads to your server cant be larger than this value.
        !           247: ##
        !           248: #server.max-request-size = 0
        !           249: 
        !           250: ##
        !           251: ## Time to read from a socket before we consider it idle.
        !           252: ##
        !           253: ## Default: 60
        !           254: ##
        !           255: #server.max-read-idle = 60
        !           256: 
        !           257: ##
        !           258: ## Time to write to a socket before we consider it idle.
        !           259: ##
        !           260: ## Default: 360
        !           261: ##
        !           262: #server.max-write-idle = 360
        !           263: 
        !           264: ##
        !           265: ##  Traffic Shaping 
        !           266: ## -----------------
        !           267: ##
        !           268: ## see /usr/share/doc/lighttpd/traffic-shaping.txt
        !           269: ##
        !           270: ## Values are in kilobyte per second.
        !           271: ##
        !           272: ## Keep in mind that a limit below 32kB/s might actually limit the
        !           273: ## traffic to 32kB/s. This is caused by the size of the TCP send
        !           274: ## buffer. 
        !           275: ##
        !           276: ## per server:
        !           277: ##
        !           278: #server.kbytes-per-second = 128
        !           279: 
        !           280: ##
        !           281: ## per connection:
        !           282: ##
        !           283: #connection.kbytes-per-second = 32
        !           284: 
        !           285: ##
        !           286: #######################################################################
        !           287: 
        !           288: #######################################################################
        !           289: ##
        !           290: ##  Filename/File handling
        !           291: ## ------------------------
        !           292: 
        !           293: ##
        !           294: ## files to check for if .../ is requested
        !           295: ## index-file.names            = ( "index.php", "index.rb", "index.html",
        !           296: ##                                 "index.htm", "default.htm" )
        !           297: ##
        !           298: index-file.names += (
        !           299:   "index.xhtml", "index.html", "index.htm", "default.htm", "index.php"
        !           300: )
        !           301: 
        !           302: ##
        !           303: ## deny access the file-extensions
        !           304: ##
        !           305: ## ~    is for backupfiles from vi, emacs, joe, ...
        !           306: ## .inc is often used for code includes which should in general not be part
        !           307: ##      of the document-root
        !           308: url.access-deny             = ( "~", ".inc" )
        !           309: 
        !           310: ##
        !           311: ## disable range requests for pdf files
        !           312: ## workaround for a bug in the Acrobat Reader plugin.
        !           313: ##
        !           314: $HTTP["url"] =~ "\.pdf$" {
        !           315:   server.range-requests = "disable"
        !           316: }
        !           317: 
        !           318: ##
        !           319: ## url handling modules (rewrite, redirect)
        !           320: ##
1.1.2.1   misho     321: #url.rewrite                = ( "^/$"             => "/server-status" )
1.1.2.2 ! misho     322: #url.redirect               = ( "^/wishlist/(.+)" => "http://www.example.com/$1" )
        !           323: 
        !           324: ##
        !           325: ## both rewrite/redirect support back reference to regex conditional using %n
        !           326: ##
1.1.2.1   misho     327: #$HTTP["host"] =~ "^www\.(.*)" {
                    328: #  url.redirect            = ( "^/(.*)" => "http://%1/$1" )
                    329: #}
                    330: 
1.1.2.2 ! misho     331: ##
        !           332: ## which extensions should not be handle via static-file transfer
        !           333: ##
        !           334: ## .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
        !           335: ##
        !           336: static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" )
1.1.2.1   misho     337: 
1.1.2.2 ! misho     338: ##
        !           339: ## error-handler for status 404
        !           340: ##
        !           341: #server.error-handler-404   = "/error-handler.html"
        !           342: #server.error-handler-404   = "/error-handler.php"
1.1.2.1   misho     343: 
1.1.2.2 ! misho     344: ##
        !           345: ## Format: <errorfile-prefix><status-code>.html
        !           346: ## -> ..../status-404.html for 'File not found'
        !           347: ##
        !           348: #server.errorfile-prefix    = "/srv/www/htdocs/errors/status-"
1.1.2.1   misho     349: 
1.1.2.2 ! misho     350: ##
        !           351: ## mimetype mapping
        !           352: ##
        !           353: include "conf.d/mime.conf"
1.1.2.1   misho     354: 
1.1.2.2 ! misho     355: ##
        !           356: ## directory listing configuration
        !           357: ##
        !           358: include "conf.d/dirlisting.conf"
        !           359: 
        !           360: ##
        !           361: ## Should lighttpd follow symlinks?
        !           362: ## 
        !           363: server.follow-symlink = "enable"
        !           364: 
        !           365: ##
        !           366: ## force all filenames to be lowercase?
        !           367: ##
        !           368: #server.force-lowercase-filenames = "disable"
        !           369: 
        !           370: ##
        !           371: ## defaults to /var/tmp as we assume it is a local harddisk
        !           372: ##
        !           373: server.upload-dirs = ( "/var/tmp" )
        !           374: 
        !           375: ##
        !           376: #######################################################################
        !           377: 
        !           378: 
        !           379: #######################################################################
        !           380: ##
        !           381: ##  SSL Support
        !           382: ## ------------- 
        !           383: ##
        !           384: ## To enable SSL for the whole server you have to provide a valid
        !           385: ## certificate and have to enable the SSL engine.::
        !           386: ##
        !           387: ##   ssl.engine = "enable"
        !           388: ##   ssl.pemfile = "/path/to/server.pem"
        !           389: ##
        !           390: ## The HTTPS protocol does not allow you to use name-based virtual
        !           391: ## hosting with SSL. If you want to run multiple SSL servers with
        !           392: ## one lighttpd instance you must use IP-based virtual hosting: ::
        !           393: ##
        !           394: ## Mitigate CVE-2009-3555 by disabling client triggered renegotation
        !           395: ## This is enabled by default.
        !           396: ##
        !           397: ## IMPORTANT: this setting can only be used in the global scope.
        !           398: ## It does *not* work inside conditionals
        !           399: ##
        !           400: #   ssl.disable-client-renegotiation = "enable"
        !           401: ##
        !           402: ##   $SERVER["socket"] == "10.0.0.1:443" {
        !           403: ##     ssl.engine                  = "enable"
        !           404: ##     ssl.pemfile                 = "/etc/ssl/private/www.example.com.pem"
        !           405: ##     #
        !           406: ##     # Mitigate BEAST attack:
        !           407: ##     #
        !           408: ##     # A stricter base cipher suite. For details see:
        !           409: ##     # http://blog.ivanristic.com/2011/10/mitigating-the-beast-attack-on-tls.html
        !           410: ##     #
        !           411: ##     ssl.cipher-list             = "ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM"
        !           412: ##     #
        !           413: ##     # Make the server prefer the order of the server side cipher suite instead of the client suite.
        !           414: ##     # This is necessary to mitigate the BEAST attack (unless you disable all non RC4 algorithms).
        !           415: ##     # This option is enabled by default, but only used if ssl.cipher-list is set.
        !           416: ##     #
        !           417: ##     # ssl.honor-cipher-order = "enable"
        !           418: ##     #
        !           419: ##     server.name                 = "www.example.com"
        !           420: ##
        !           421: ##     server.document-root        = "/srv/www/vhosts/example.com/www/"
        !           422: ##   }
        !           423: ##
        !           424: 
        !           425: ## If you have a .crt and a .key file, cat them together into a
        !           426: ## single PEM file:
        !           427: ## $ cat /etc/ssl/private/lighttpd.key /etc/ssl/certs/lighttpd.crt \
        !           428: ##   > /etc/ssl/private/lighttpd.pem
        !           429: ##
        !           430: #ssl.pemfile = "/etc/ssl/private/lighttpd.pem"
        !           431: 
        !           432: ##
        !           433: ## optionally pass the CA certificate here.
        !           434: ##
        !           435: ##
        !           436: #ssl.ca-file = ""
        !           437: 
        !           438: ##
        !           439: #######################################################################
        !           440: 
        !           441: #######################################################################
        !           442: ##
        !           443: ## custom includes like vhosts.
        !           444: ##
        !           445: #include "conf.d/config.conf"
        !           446: #include_shell "cat /usr/local/etc/lighttpd/vhosts.d/*.conf"
        !           447: ##
        !           448: #######################################################################
        !           449: 
        !           450: # IPv4 listening socket
1.1.2.1   misho     451: $SERVER["socket"] == "0.0.0.0:80" { }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>