1 # lighttpd configuration file
3 # use a it as base for lighttpd 1.0.0 and above
7 ############ Options you really have to take care of ####################
10 # at least mod_access and mod_accesslog should be loaded
11 # all other module should only be loaded if really neccesary
39 ## a static document-root, for virtual-hosting take look at the
40 ## server.virtual-* options
41 server.document-root = "/home/services/lighttpd/html/"
43 ## where to send error-messages to
44 server.errorlog = "/var/log/lighttpd/lighttpd.log"
46 # files to check for if .../ is requested
56 ".ai" => "application/postscript",
57 ".aif" => "audio/x-aiff",
58 ".asc" => "text/plain",
59 ".asf" => "video/x-ms-asf",
60 ".asx" => "video/x-ms-asf",
61 ".au" => "audio/basic",
62 ".avi" => "video/x-msvideo",
63 ".bcpio" => "application/x-bcpio",
64 ".bin" => "application/octet-stream",
65 ".bmp" => "image/bmp",
66 ".bz2" => "application/x-bzip",
67 ".bz2" => "application/x-bzip2",
69 ".chrt" => "application/x-kchart",
70 ".class" => "application/octet-stream",
71 ".conf" => "text/plain",
72 ".cpio" => "application/x-cpio",
73 ".cpt" => "application/mac-compactpro",
74 ".csh" => "application/x-csh",
76 ".dat" => "application/x-ns-proxy-autoconfig",
77 ".dcr" => "application/x-director",
78 ".djvu" => "image/vnd.djvu",
79 ".doc" => "application/msword",
81 ".dvi" => "application/x-dvi",
82 ".etx" => "text/x-setext",
83 ".ez" => "application/andrew-inset",
84 ".flv" => "video/x-flv",
85 ".gif" => "image/gif",
86 ".gtar" => "application/x-gtar",
87 ".gz" => "application/x-gzip",
88 ".hdf" => "application/x-hdf",
89 ".hqx" => "application/mac-binhex40",
90 ".htc" => "text/x-component",
91 ".htm" => "text/html",
92 ".html" => "text/html",
93 ".ice" => "x-conference/x-cooltalk",
94 ".ief" => "image/ief",
95 ".igs" => "model/iges",
96 ".jpeg" => "image/jpeg",
97 ".jpg" => "image/jpeg",
98 ".js" => "application/x-javascript",
99 ".js" => "text/javascript",
100 ".kil" => "application/x-killustrator",
101 ".kpr" => "application/x-kpresenter",
102 ".ksp" => "application/x-kspread",
103 ".kwd" => "application/x-kword",
104 ".latex" => "application/x-latex",
105 ".m3u" => "audio/x-mpegurl",
106 ".man" => "application/x-troff-man",
107 ".me" => "application/x-troff-me",
108 ".mid" => "audio/midi",
109 ".mif" => "application/vnd.mif",
110 ".mov" => "video/quicktime",
111 ".movie" => "video/x-sgi-movie",
112 ".mp3" => "audio/mpeg",
113 ".mpeg" => "video/mpeg",
114 ".mpg" => "video/mpeg",
115 ".mpga" => "audio/mpeg",
116 ".ms" => "application/x-troff-ms",
117 ".msh" => "model/mesh",
118 ".mxu" => "video/vnd.mpegurl",
119 ".nc" => "application/x-netcdf",
120 ".oda" => "application/oda",
121 ".ogg" => "application/ogg",
122 ".pac" => "application/x-ns-proxy-autoconfig",
123 ".pbm" => "image/x-portable-bitmap",
124 ".pdb" => "chemical/x-pdb",
125 ".pdf" => "application/pdf",
126 ".pgm" => "image/x-portable-graymap",
127 ".pgn" => "application/x-chess-pgn",
128 ".png" => "image/png",
129 ".pnm" => "image/x-portable-anymap",
130 ".ppm" => "image/x-portable-pixmap",
131 ".ppt" => "application/vnd.ms-powerpoint",
132 ".ps" => "application/postscript",
133 ".qt" => "video/quicktime",
134 ".ra" => "audio/x-realaudio",
135 ".ram" => "audio/x-pn-realaudio",
136 ".rar" => "application/x-rar-compressed",
137 ".ras" => "image/x-cmu-raster",
138 ".rgb" => "image/x-rgb",
139 ".rpm" => "application/x-rpm",
140 ".rtf" => "application/rtf",
141 ".rtf" => "text/rtf",
142 ".rtx" => "text/richtext",
143 ".sgml" => "text/sgml",
144 ".sh" => "application/x-sh",
145 ".shar" => "application/x-shar",
146 ".sig" => "application/pgp-signature",
147 ".sit" => "application/x-stuffit",
148 ".skp" => "application/x-koan",
149 ".smi" => "application/smil",
150 ".spl" => "application/futuresplash",
151 ".spl" => "application/x-futuresplash",
152 ".src" => "application/x-wais-source",
153 ".stc" => "application/vnd.sun.xml.calc.template",
154 ".std" => "application/vnd.sun.xml.draw.template",
155 ".sti" => "application/vnd.sun.xml.impress.template",
156 ".stw" => "application/vnd.sun.xml.writer.template",
157 ".sv4cpio" => "application/x-sv4cpio",
158 ".sv4crc" => "application/x-sv4crc",
159 ".swf" => "application/x-shockwave-flash",
160 ".sxc" => "application/vnd.sun.xml.calc",
161 ".sxd" => "application/vnd.sun.xml.draw",
162 ".sxg" => "application/vnd.sun.xml.writer.global",
163 ".sxi" => "application/vnd.sun.xml.impress",
164 ".sxm" => "application/vnd.sun.xml.math",
165 ".sxw" => "application/vnd.sun.xml.writer",
166 ".t" => "application/x-troff",
167 ".tar" => "application/x-tar",
168 ".tar.bz2" => "application/x-bzip-compressed-tar"
169 ".tar.gz" => "application/x-tgz",
170 ".tbz" => "application/x-bzip-compressed-tar",
171 ".tcl" => "application/x-tcl",
172 ".tex" => "application/x-tex",
173 ".texinfo" => "application/x-texinfo",
174 ".text" => "text/plain",
175 ".tgz" => "application/x-tgz",
176 ".tiff" => "image/tiff",
177 ".torrent" => "application/x-bittorrent",
178 ".tsv" => "text/tab-separated-values",
179 ".txt" => "text/plain",
180 ".ustar" => "application/x-ustar",
181 ".vbs" => "text/vbscript",
182 ".vcd" => "application/x-cdlink",
183 ".wav" => "audio/x-wav",
184 ".wax" => "audio/x-ms-wax",
185 ".wbmp" => "image/vnd.wap.wbmp",
186 ".wbxml" => "application/vnd.wap.wbxml",
187 ".wma" => "audio/x-ms-wma",
188 ".wml" => "text/vnd.wap.wml",
189 ".wmlc" => "application/vnd.wap.wmlc",
190 ".wmls" => "text/vnd.wap.wmlscript",
191 ".wmlsc" => "application/vnd.wap.wmlscriptc",
192 ".wmv" => "video/x-ms-wmv",
193 ".wrl" => "model/vrml",
194 ".xbm" => "image/x-xbitmap",
195 ".xhtml" => "application/xhtml+xml",
196 ".xls" => "application/vnd.ms-excel",
197 ".xml" => "text/xml",
198 ".xpm" => "image/x-xpixmap",
199 ".xwd" => "image/x-xwindowdump",
200 ".xyz" => "chemical/x-xyz",
201 ".zip" => "application/zip",
204 # Use the "Content-Type" extended attribute to obtain mime type if possible
205 #mimetype.use-xattr = "enable"
207 ## send a different Server: header
208 ## be nice and keep it at lighttpd
209 #server.tag = "lighttpd"
211 #### accesslog module
212 accesslog.filename = "/var/log/lighttpd/access.log"
214 ## deny access the file-extensions
216 # ~ is for backupfiles from vi, emacs, joe, ...
217 # .inc is often used for code includes which should in general not be part
218 # of the document-root
219 url.access-deny = ( "~", ".inc" )
221 ######### Options that are good to be but not neccesary to be changed #######
223 ## bind to port (default: 80)
226 ## bind to localhost (default: all interfaces)
227 #server.bind = "grisu.home.kneschke.de"
229 ## error-handler for status 404
230 #server.error-handler-404 = "/error-handler.html"
231 #server.error-handler-404 = "/error-handler.php"
233 ## to help the rc.scripts
234 #server.pid-file = "/var/run/lighttpd.pid"
238 ## If you want name-based virtual hosting add the next three settings and load
242 ## virtual-server-root + virtual-server-default-host + virtual-server-docroot or
243 ## virtual-server-root + http-host + virtual-server-docroot
245 #simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
246 #simple-vhost.default-host = "grisu.home.kneschke.de"
247 #simple-vhost.document-root = "/pages/"
251 ## Format: <errorfile-prefix><status-code>.html
252 ## -> ..../status-404.html for 'File not found'
253 #server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-"
255 ## virtual directory listings
256 #server.dir-listing = "enable"
259 #debug.log-request-header = "enable"
260 #debug.log-response-header = "enable"
261 #debug.log-request-handling = "enable"
262 #debug.log-file-not-found = "enable"
264 ### only root can use these options
266 # chroot() to directory (default: no chroot() )
269 ## change uid to <uid> (default: don't care)
270 server.username = "lighttpd"
272 ## change uid to <uid> (default: don't care)
273 server.groupname = "lighttpd"
276 #compress.cache-dir = "/tmp/lighttpd/cache/compress/"
277 #compress.filetype = ("text/plain", "text/html")
280 ## read proxy.txt for more info
284 # "host" => "192.168.0.101",
291 ## read fastcgi.txt for more info
296 # "socket" => "/var/run/php/php-fastcgi.sock",
297 # "bin-path" => "/usr/bin/php.fcgi",
305 # ".pl" => "/usr/bin/perl",
306 # ".cgi" => "/usr/bin/perl",
310 #ssl.engine = "enable"
311 #ssl.pemfile = "server.pem"
314 #status.status-url = "/server-status"
315 #status.config-url = "/server-config"
318 ## read authentification.txt for more info
320 # 0 for off, 1 for 'auth-ok' messages, 2 for verbose debugging
323 # plain, htpasswd, ldap or htdigest
324 #auth.backend = "plain"
325 # filename of the password storage
327 #auth.backend.plain.userfile = "/etc/lighttpd/lighttpd.user"
328 #auth.backend.plain.groupfile = "/etc/lighttpd/lighttpd.group"
330 #auth.backend.htpasswd.userfile = "/etc/lighttpd/lighttpd-htpasswd.user"
332 #auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd-htdigest.user"
334 # the $ in auth.backend.ldap.filter is replaced by the
335 # 'username' from the login dialog
336 #auth.backend.ldap.hostname = "localhost"
337 #auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
338 #auth.backend.ldap.filter = "(uid=$)"
341 # "/server-status" => (
342 # "method" => "digest",
343 # "realm" => "download archiv",
344 # "require" => "user=agent007|user=agent008"
346 # "/server-info" => (
347 # "method" => "digest",
348 # "realm" => "download archiv",
349 # "require" => "group=www|user=jan|host=192.168.2.10"
351 # "/server-config" => (
352 # "method" => "ldap",
353 # "realm" => "server config",
354 # "require" => "user=glen"
359 #### url handling modules (rewrite, redirect, access)
361 # "^/$" => "/server-status",
364 # "^/wishlist/(.+)" => "http://www.123.org/$1",
367 # define a pattern for the host url finding
369 # %0 => domain name + tld
371 # %2 => domain name without tld
372 # %3 => subdomain 1 name
373 # %4 => subdomain 2 name
375 #evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
379 # "/buggy/" => "access 2 hours",
380 # "/asdhas/" => "access plus 1 seconds 2 minutes",
384 #ssi.extension = ( ".shtml" )
387 #rrdtool.binary = "/usr/bin/rrdtool"
388 #rrdtool.db-name = "/var/www/lighttpd.rrd"
391 #setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
392 #setenv.add-response-header = ( "X-Secret-Message" => "42" )
395 #userdir.path = "public_html"
396 #userdir.exclude-user = ( "root", "postmaster" )
398 ## if set, only users from this list may use the feature
399 #userdir.include-user = ""
403 # "/cgi-bin/" => "/usr/lib/cgi-bin",