#@ /etc/lighttpd.conf var.basedir = "/var/www/lighttpd" var.logdir = "/var/log/lighttpd" var.statedir = "/var/lib/lighttpd" #server.name = "www.NAME.DOMAIN" #server.use-ipv6 = "disable" server.max-read-idle = "10" server.max-write-idle = "21" server.max-keep-alive-idle = "10" server.max-connections = "120" #server.kbytes-per-second = 9000 server.username = "lighttpd" server.groupname = "lighttpd" server.document-root = var.basedir + "/htdocs" server.pid-file = "/run/lighttpd.pid" #server.syslog-facility = "ftp" # log errors to syslog instead #server.errorlog-use-syslog = "enable" #debug.log-request-handling = "enable" server.errorlog = var.logdir + "/error.log" # "index.php", "index.htm"...) server.indexfiles = ("index.html") # how server announces itself # server.tag = "lighttpd" server.follow-symlink = "enable" server.event-handler = "linux-sysepoll" # Enable HTTP/2 server.feature-flags += ( "server.h2proto" => "enable", "server.h2c" => "enable" ) # chroot to directory (defaults to no chroot) # server.chroot = "/" # bind to port (defaults to 80) # server.port = 81 # bind to name (defaults to all interfaces) # server.bind = "grisu.home.kneschke.de" #connection.kbytes-per-second = 5000 # NOTE: the order of modules is important. server.modules = ( # "mod_auth", # "mod_authn_file", "mod_openssl", "mod_redirect", "mod_rewrite", "mod_alias", "mod_access", "mod_cgi", "mod_setenv", "mod_deflate", "mod_expire", "mod_accesslog" ) mimetype.assign = ( # {{{ ".tar.bz2" => "application/x-gtar-compressed", ".tar.gz" => "application/x-gtar-compressed", ".cbor" => "application/cbor", ".efi" => "application/efi", ".epub" => "application/epub+zip", ".gz" => "application/gzip", ".tgz" => "application/gzip", ".js" => "application/javascript", ".json" => "application/json", ".json-patch" => "application/json-patch+json", ".mbox" => "application/mbox", ".doc" => "application/msword", ".mxf" => "application/mxf", ".bin" => "application/octet-stream", ".class" => "application/octet-stream", ".dll" => "application/octet-stream", ".exe" => "application/octet-stream", ".img" => "application/octet-stream", ".iso" => "application/octet-stream", ".lha" => "application/octet-stream", ".lzh" => "application/octet-stream", ".so" => "application/octet-stream", ".ogx" => "application/ogg", ".pdf" => "application/pdf", ".pem" => "application/pem-certificate-chain", ".pgp" => "application/pgp-encrypted", ".sig" => "application/pgp-signature", ".p10" => "application/pkcs10", ".p12" => "application/pkcs12", ".pfx" => "application/pkcs12", ".p7c" => "application/pkcs7-mime", ".p7m" => "application/pkcs7-mime", ".p7s" => "application/pkcs7-signature", ".p8" => "application/pkcs8", ".p8e" => "application/pkcs8-encrypted", ".cer" => "application/pkix-cert", ".crl" => "application/pkix-crl", ".pkipath" => "application/pkix-pkipath", ".pki" => "application/pkixcmp", ".pls" => "application/pls+xml", ".ai" => "application/postscript", ".eps" => "application/postscript", ".ps" => "application/postscript", ".rfcxml" => "application/rfc+xml", ".rtf" => "application/rtf", ".sieve" => "application/sieve", ".siv" => "application/sieve", ".sql" => "application/sql", ".xht" => "application/xhtml+xml", ".xhtm" => "application/xhtml+xml", ".xhtml" => "application/xhtml+xml", ".xlf" => "application/xliff+xml", ".dtd" => "application/xml-dtd", ".xop" => "application/xop+xml", ".xsl" => "application/xslt+xml", ".xslt" => "application/xslt+xml", ".yang" => "application/yang", ".yin" => "application/yin+xml", ".zip" => "application/zip", ".zst" => "application/zstd", ".qwd" => "application/vnd.Quark.QuarkXPress", ".qwt" => "application/vnd.Quark.QuarkXPress", ".qxb" => "application/vnd.Quark.QuarkXPress", ".qxd" => "application/vnd.Quark.QuarkXPress", ".qxl" => "application/vnd.Quark.QuarkXPress", ".qxt" => "application/vnd.Quark.QuarkXPress", ".swf" => "application/vnd.adobe.flash.movie", ".fcdt" => "application/vnd.adobe.formscentral.fcdt", ".fxp" => "application/vnd.adobe.fxp", ".fxpl" => "application/vnd.adobe.fxp", ".xdp" => "application/vnd.adobe.xdp+xml", ".xfdf" => "application/vnd.adobe.xfdf", ".afp" => "application/vnd.afpc.modca", ".dist" => "application/vnd.apple.installer+xml", ".distz" => "application/vnd.apple.installer+xml", ".mpkg" => "application/vnd.apple.installer+xml", ".pkg" => "application/vnd.apple.installer+xml", ".keynote" => "application/vnd.apple.keynote", ".m3u8" => "application/vnd.apple.mpegurl", ".numbers" => "application/vnd.apple.numbers", ".pages" => "application/vnd.apple.pages", ".deb" => "application/vnd.debian.binary-package", ".udeb" => "application/vnd.debian.binary-package", ".karbon" => "application/vnd.kde.karbon", ".chrt" => "application/vnd.kde.kchart", ".kfo" => "application/vnd.kde.kformula", ".flw" => "application/vnd.kde.kivio", ".kon" => "application/vnd.kde.kontour", ".kpr" => "application/vnd.kde.kpresenter", ".kpt" => "application/vnd.kde.kpresenter", ".ksp" => "application/vnd.kde.kspread", ".kwd" => "application/vnd.kde.kword", ".kwt" => "application/vnd.kde.kword", ".xul" => "application/vnd.mozilla.xul+xml", ".3mf" => "application/vnd.ms-3mfdocument", ".cil" => "application/vnd.ms-artgalry", ".asf" => "application/vnd.ms-asf", ".cab" => "application/vnd.ms-cab-compressed", ".xla" => "application/vnd.ms-excel", ".xlc" => "application/vnd.ms-excel", ".xlm" => "application/vnd.ms-excel", ".xls" => "application/vnd.ms-excel", ".xlt" => "application/vnd.ms-excel", ".xlw" => "application/vnd.ms-excel", ".xlam" => "application/vnd.ms-excel.addin.macroEnabled.12", ".xlsb" => "application/vnd.ms-excel.sheet.binary.macroEnabled.12", ".xlsm" => "application/vnd.ms-excel.sheet.macroEnabled.12", ".xltm" => "application/vnd.ms-excel.template.macroEnabled.12", ".eot" => "application/vnd.ms-fontobject", ".chm" => "application/vnd.ms-htmlhelp", ".ims" => "application/vnd.ms-ims", ".lrm" => "application/vnd.ms-lrm", ".thmx" => "application/vnd.ms-officetheme", ".pot" => "application/vnd.ms-powerpoint", ".pps" => "application/vnd.ms-powerpoint", ".ppt" => "application/vnd.ms-powerpoint", ".ppam" => "application/vnd.ms-powerpoint.addin.macroEnabled.12", ".pptm" => "application/vnd.ms-powerpoint.presentation.macroEnabled.12", ".sldm" => "application/vnd.ms-powerpoint.slide.macroEnabled.12", ".ppsm" => "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", ".potm" => "application/vnd.ms-powerpoint.template.macroEnabled.12", ".mpp" => "application/vnd.ms-project", ".mpt" => "application/vnd.ms-project", ".tnef" => "application/vnd.ms-tnef", ".tnf" => "application/vnd.ms-tnef", ".docm" => "application/vnd.ms-word.document.macroEnabled.12", ".dotm" => "application/vnd.ms-word.template.macroEnabled.12", ".wcm" => "application/vnd.ms-works", ".wdb" => "application/vnd.ms-works", ".wks" => "application/vnd.ms-works", ".wps" => "application/vnd.ms-works", ".wpl" => "application/vnd.ms-wpl", ".oxt" => "application/vnd.openofficeorg.extension", ".osm" => "application/vnd.openstreetmap.data+xml", ".pptx" => "application/vnd.openxmlformats-officedocument.presentationml.presentation", ".sldx" => "application/vnd.openxmlformats-officedocument.presentationml.slide", ".ppsx" => "application/vnd.openxmlformats-officedocument.presentationml.slideshow", ".potx" => "application/vnd.openxmlformats-officedocument.presentationml.template", ".xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ".xltx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.template", ".docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document", ".dotx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.template", ".wpd" => "application/vnd.wordperfect", ".tbz" => "application/x-gtar-compressed", ".hdf" => "application/x-hdf", ".jar" => "application/x-java-archive", ".kil" => "application/x-killustrator", ".latex" => "application/x-latex", ".cdf" => "application/x-netcdf", ".nc" => "application/x-netcdf", ".pl" => "application/x-perl", ".rpm" => "application/x-rpm", ".sh" => "application/x-sh", ".shar" => "application/x-shar", ".sit" => "application/x-stuffit", ".tar" => "application/x-tar", ".tcl" => "application/x-tcl", ".tex" => "application/x-tex", ".texi" => "application/x-texinfo", ".texinfo" => "application/x-texinfo", ".1" => "application/x-troff-man", ".2" => "application/x-troff-man", ".3" => "application/x-troff-man", ".4" => "application/x-troff-man", ".5" => "application/x-troff-man", ".6" => "application/x-troff-man", ".7" => "application/x-troff-man", ".8" => "application/x-troff-man", ".man" => "application/x-troff-man", ".me" => "application/x-troff-me", ".ms" => "application/x-troff-ms", ".ustar" => "application/x-ustar", ".xz" => "application/x-xz", ".aac" => "audio/aac", ".ass" => "audio/aac", ".acn" => "audio/asc", ".au" => "audio/basic", ".snd" => "audio/basic", ".mid" => "audio/midi", ".midi" => "audio/midi", ".m4a" => "audio/mp4", ".mp1" => "audio/mpeg", ".mp2" => "audio/mpeg", ".mp3" => "audio/mpeg", ".mpga" => "audio/mpeg", ".oga" => "audio/ogg", ".ogg" => "audio/ogg", ".opus" => "audio/ogg", ".spx" => "audio/ogg", ".aif" => "audio/x-aiff", ".aifc" => "audio/x-aiff", ".aiff" => "audio/x-aiff", ".flac" => "audio/x-flac", ".mka" => "audio/x-matroska", ".otf" => "font/otf", ".ttf" => "font/ttf", ".bmp" => "image/bmp", ".dib" => "image/bmp", ".cgm" => "image/cgm", ".drle" => "image/dicom-rle", ".emf" => "image/emf", ".fit" => "image/fits", ".fits" => "image/fits", ".fts" => "image/fits", ".gif" => "image/gif", ".heic" => "image/heic", ".heics" => "image/heic-sequence", ".heif" => "image/heif", ".heifs" => "image/heif-sequence", ".hej2" => "image/hej2k", ".hsj2" => "image/hsj2", ".ief" => "image/ief", ".jls" => "image/jls", ".jp2" => "image/jp2", ".jpg2" => "image/jp2", ".jfif" => "image/jpeg", ".jpe" => "image/jpeg", ".jpeg" => "image/jpeg", ".jpg" => "image/jpeg", ".jph" => "image/jph", ".jhc" => "image/jphc", ".jpgm" => "image/jpm", ".jpm" => "image/jpm", ".jpf" => "image/jpx", ".jpx" => "image/jpx", ".jxr" => "image/jxr", ".jxra" => "image/jxrA", ".jxrs" => "image/jxrS", ".jxs" => "image/jxs", ".jxsc" => "image/jxsc", ".jxsi" => "image/jxsi", ".jxss" => "image/jxss", ".ktx" => "image/ktx", ".png" => "image/png", ".btf" => "image/prs.btif", ".btif" => "image/prs.btif", ".pti" => "image/prs.pti", ".svg" => "image/svg+xml", ".svgz" => "image/svg+xml", ".t38" => "image/t38", ".tif" => "image/tiff", ".tiff" => "image/tiff", ".tfx" => "image/tiff-fx", ".webp" => "image/webp", ".wmf" => "image/wmf", ".psd" => "image/vnd.adobe.photoshop", ".azv" => "image/vnd.airzip.accelerator.azv", ".uvg" => "image/vnd.dece.graphic", ".uvi" => "image/vnd.dece.graphic", ".uvvg" => "image/vnd.dece.graphic", ".uvvi" => "image/vnd.dece.graphic", ".djv" => "image/vnd.djvu", ".djvu" => "image/vnd.djvu", ".dwg" => "image/vnd.dwg", ".dxf" => "image/vnd.dxf", ".fbs" => "image/vnd.fastbidsheet", ".fpx" => "image/vnd.fpx", ".fst" => "image/vnd.fst", ".mmr" => "image/vnd.fujixerox.edmics-mmr", ".rlc" => "image/vnd.fujixerox.edmics-rlc", ".pgb" => "image/vnd.globalgraphics.pgb", ".ico" => "image/vnd.microsoft.icon", ".apng" => "image/vnd.mozilla.apng", ".mdi" => "image/vnd.ms-modi", ".hdr" => "image/vnd.radiance", ".rgbe" => "image/vnd.radiance", ".xyze" => "image/vnd.radiance", ".s1n" => "image/vnd.sealed.png", ".spn" => "image/vnd.sealed.png", ".spng" => "image/vnd.sealed.png", ".tap" => "image/vnd.tencent.tap", ".vtf" => "image/vnd.valve.source.texture", ".wbmp" => "image/vnd.wap.wbmp", ".xif" => "image/vnd.xiff", ".pcx" => "image/vnd.zbrush.pcx", ".pnm" => "image/x-portable-anymap", ".pbm" => "image/x-portable-bitmap", ".pgm" => "image/x-portable-graymap", ".ppm" => "image/x-portable-pixmap", ".rgb" => "image/x-rgb", ".tga" => "image/x-targa", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", ".xwd" => "image/x-xwindowdump", ".art" => "message/rfc822", ".eml" => "message/rfc822", ".mail" => "message/rfc822", ".vrml" => "model/vrml", ".wrl" => "model/vrml", ".x3db" => "model/x3d+xml", ".x3dv" => "model/x3d-vrml", ".x3dvz" => "model/x3d-vrml", ".ics" => "text/calendar", ".ifb" => "text/calendar", ".css" => "text/css; charset=utf-8", ".csv" => "text/csv; charset=utf-8", ".csvs" => "text/csv-schema", ".soa" => "text/dns", ".zone" => "text/dns", ".htm" => "text/html", ".html" => "text/html", ".sandboxed" => "text/html-sandboxed", ".cnd" => "text/jcr-cnd", ".markdown" => "text/markdown; charset=utf-8", ".md" => "text/markdown; charset=utf-8", ".miz" => "text/mizar", ".n3" => "text/n3", ".asc" => "text/plain; charset=utf-8", ".c" => "text/plain; charset=utf-8", ".cc" => "text/plain; charset=utf-8", ".conf" => "text/plain; charset=utf-8", ".cxx" => "text/plain; charset=utf-8", ".el" => "text/plain; charset=utf-8", ".f90" => "text/plain; charset=utf-8", ".h" => "text/plain; charset=utf-8", ".hh" => "text/plain; charset=utf-8", ".hxx" => "text/plain; charset=utf-8", ".log" => "text/plain; charset=utf-8", ".pm" => "text/plain; charset=utf-8", ".spec" => "text/plain; charset=utf-8", ".text" => "text/plain; charset=utf-8", ".txt" => "text/plain; charset=utf-8", ".provn" => "text/provenance-notation", ".rst" => "text/prs.fallenstein.rst", ".dsc" => "text/prs.lines.tag", ".tag" => "text/prs.lines.tag", ".rtx" => "text/richtext", ".sgm" => "text/sgml", ".sgml" => "text/sgml", ".tsv" => "text/tab-separated-values", ".roff" => "text/troff", ".t" => "text/troff", ".tr" => "text/troff", ".ttl" => "text/turtle", ".uri" => "text/uri-list", ".uris" => "text/uri-list", ".vcard" => "text/vcard", ".vcf" => "text/vcard", ".vtt" => "text/vtt", ".rng" => "text/xml", ".xml" => "text/xml", ".xsd" => "text/xml", ".ent" => "text/xml-external-parsed-entity", ".dms" => "text/vnd.DMClientScript", ".a" => "text/vnd.a", ".abc" => "text/vnd.abc", ".ascii" => "text/vnd.ascii-art", ".copyright" => "text/vnd.debian.copyright", ".pod" => "text/x-pod", ".etx" => "text/x-setext", ".3gp" => "video/3gpp", ".3gpp" => "video/3gpp", ".3g2" => "video/3gpp2", ".3gpp2" => "video/3gpp2", ".m4s" => "video/iso.segment", ".mj2" => "video/mj2", ".mjp2" => "video/mj2", ".m4v" => "video/mp4", ".mp4" => "video/mp4", ".mpg4" => "video/mp4", ".m1v" => "video/mpeg", ".m2v" => "video/mpeg", ".mpe" => "video/mpeg", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".ogv" => "video/ogg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".webm" => "video/webm", ".yt" => "video/vnd.youtube.yt", ".axv" => "video/x-annodex", ".flv" => "video/x-flv", ".fxm" => "video/x-javafx", ".mkv" => "video/x-matroska", ".mk3d" => "video/x-matroska-3d", ".asx" => "video/x-ms-asf", ".wm" => "video/x-ms-wm", ".wmv" => "video/x-ms-wmv", ".wmx" => "video/x-ms-wmx", ".wvx" => "video/x-ms-wvx", ".avi" => "video/x-msvideo", ".movie" => "video/x-sgi-movie", "README" => "text/plain; charset=utf-8", "Makefile" => "text/x-makefile; charset=utf-8" ) # }}} # which extensions should not be handled via static-file transfer # (extensions that are usually handled by mod_cgi, mod_fastcgi, etc). # ,".php", ".pl", ".cgi", ".fcgi") static-file.exclude-extensions = (".cgi") accesslog.filename = var.logdir + "/access.log" #accesslog.use-syslog = "enable" accesslog.format = "%V:%p <%s> %h I=%I O=%O T=%T : \"%r\"" # CGI stderr etc. #server.breakagelog = "/tmp/cgibreak" # var.logdir + "/error.log" cgi.x-sendfile = "enable" deflate.cache-dir = var.statedir + "/deflate" deflate.mimetypes = ("text/", "application/x-tar") deflate.allowed-encodings = ("gzip", "zstd") deflate.max-compress-size = 0 # in KB deflate.min-compress-size = 256 # in Bytes deflate.max-loadavg = "5.00" # loadavg above which deflate temporarily stops url.access-deny = ("~", ".php", ".inc") # Do not give access to /server-status page do non-local addresses #$HTTP["remoteip"] !~ "10\..*|192\.168\..*|127\..*" { # url.access-deny = ("/server-status") #} # url.rewrite = ( # "^/$" => "/server-status" # ) ssl.disable-client-renegotiation = "enable" #$SERVER["socket"] == ":443" { # ssl.engine = "enable" # ssl.pemfile = "/etc/letsencrypt/config/certs/HOST.DOM/key_and_cert.pem" # ssl.ca-file = "/etc/letsencrypt/config/certs/HOST.DOM/fullchain.pem" # ssl.dh-file = "/etc/letsencrypt/config/certs/HOST.DOM/dhparam2048.pem" # # Need something for older OpenSSL (MacOS Lion, 2014!) # ssl.cipher-list = "TLSv1.3:TLSv1.2:!aNULL:!eNULL:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-SHA:@STRENGTH" # # These three are deprecated # ssl.use-sslv2 = "disable" # ssl.use-sslv3 = "disable" # ssl.honor-cipher-order = "enable" # # # ServerNameIndication during negotiation: enable like # #$HTTP["HOST"] == "www.HOST.DOM" { # # ssl.pemfile = # #} #} #$SERVER["socket"] == ":80" { # # Get rid of a bug/problem: one can access bla.html/BLA # $HTTP["url"] =~ ".+\.html\/.*" { # url.redirect = ("^/?(.*)$" => "http://www.HOST.DOM/") # } # $HTTP["url"] =~ "^/\.well-known" { # url.redirect = ("(.*)" => "https://www.HOST.DOM$1") # } #} #$SERVER["socket"] == ":443" { # # Get rid of a bug/problem: one can access bla.html/BLA # $HTTP["url"] =~ ".+\.html\/.*" { # url.redirect = ("^/?(.*)$" => "https://www.HOST.DOM/") # } # $HTTP["url"] =~ "^/\.well-known" { # alias.url = ("/.well-known" => "/etc/lighttpd/well-known") # } # $HTTP["url"] =~ "^/\.well-known/acme-challenge(/*)?" { # url.access-deny = ("config") # alias.url = ("/.well-known/acme-challenge" => "/etc/letsencrypt") # } #} # Download area #$HTTP["host"] =~ "^ftp\.HOST\.DOM" { # url.rewrite-once = ( # "^(/.well-known/.+)" => "$1", # "^/?(style\.css|favicon\.ico)$" => "/$1", # "^/?(.*)$" => "/downloads/$1" # ) # $HTTP["url"] =~ "^/downloads(.*)?$" { # alias.url = ("/downloads" => var.basedir + "/downloads") # dir-listing.activate = "enable" # dir-listing.external-css = "/style.css" # } #} # Serve git.HOST.DOM/scm for git access /browse for gitweb browsing. # Note that all the gitweb static/ files must reside in htdocs with this config # and all git repositories must be in /var/git to which server needs access # /etc/gitweb-common.conf: ##read_config_file("gitweb_config.perl"); #our $projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/pub/git"; #our $project_maxdepth = 1; #our $export_ok = 'git-daemon-export-ok'; #our $strict_export = 1; #our @stylesheets = ("gitweb.css"); #our $logo = 'git-logo.png'; #our $favicon = 'git-favicon.png'; #our $javascript = 'gitweb.js'; ##our $home_link = '/code.html'; #our @extra_breadcrumbs = ( [ 'Hacking' => 'code.html' ] ); #our $projects_list_description_width = 66; #our $prevent_xss = 1; #our $maxload = 5; #our $omit_owner = 1; #our $default_text_plain_charset = "utf8"; #our @git_base_url_list = ( 'https://git.HOST.DOM/scm', # 'http://git.HOST.DOM/scm' ); #$feature{avatar}{default} = [0]; #$feature{blame}{default} = [0]; #$feature{grep}{default} = [0]; #$feature{highlight}{default} = [0]; #$feature{pickaxe}{default} = [0]; #$feature{remote_heads}{default} = [0]; #$feature{show-sizes}{default} = [0]; #$feature{snapshot}{default} = ['none']; #['txz', 'tgz']; ##$known_snapshot_formats{'tgz'}{'compressor'} = ['gzip','-6']; ##$known_snapshot_formats{'txz'}{'compressor'} = ['xz'] #$feature{search}{default} = [1]; #$feature{timed}{default} = [1]; #$feature{extra-branch-refs}{default} = ['stable','release']; #$HTTP["host"] =~ "^git\.HOST\.DOM" { # url.rewrite-once = ( # "^/?$" => "/browse", # "^/(\?.*)$" => "/browse/$1" # ) ## $HTTP["url"] =~ "^/cgit(/.*)?$" { ## url.redirect = ("^/cgit(.*)$" => "/browse$1") ## } # $HTTP["url"] =~ "^/browse(/.*)?$" { # accesslog.format = "%V:%p <%s> %h T=%T GW" ## alias.url = ("/browse" => "/usr/share/gitweb/gitweb.cgi") # alias.url = ("/browse" => "/usr/share/webapps/cgit/cgit") # auth.require = ("" => ( # "method" => "basic", # "realm" => "user is moon, password is mars", # "require" => "valid-user")) # auth.backend = "plain" # # echo 'moon:mars' > /etc/lighttpd/cgit-access.conf # auth.backend.plain.userfile = "/etc/lighttpd/cgit-access.conf" # cgi.assign = ("" => "") # connection.kbytes-per-second = 16 # expire.url = ("" => "access plus 0 seconds") # server.max-keep-alive-requests = 1 # setenv.add-environment = ( # "GITWEB_PROJECTROOT" => "/var/git" # "CGIT_CONFIG" => "/var/git/.cgitrc" # ) # # Funny people try to access /browse via git, redirect them # url.redirect = ( # "^.*/([^/]+\.git/objects/.*)" => "https://git.HOST.DOM/scm/$1", # "^.*/([^/]+\.git/info/refs\?service.*)" => # "https://git.HOST.DOM/scm/$1" # ) # } # $HTTP["url"] =~ "^/scm" { # accesslog.format = "%V:%p <%s> %h T=%T SCM" # alias.url = ("/scm" => "/usr/libexec/git-core/git-http-backend") # cgi.assign = ("" => "") # server.max-keep-alive-requests = 1 # setenv.add-environment = ( # "GIT_PROJECT_ROOT" => "/var/git", # "GIT_HTTP_EXPORT_ALL" => "" # ) # } #} # Mailing-lists #$HTTP["host"] =~ "^lists\.HOST\.DOM" { # url.rewrite-once = ( # "^(/.well-known/.+)" => "$1", # "^/$" => "/mailman/listinfo.cgi" # #"^/([^/.]+)$" => "/mailman/$1.cgi", # ) # $HTTP["url"] =~ "^/mailman" { # alias.url = ("/mailman/" => "/var/mailman/cgi-bin/") # cgi.assign = (".sh" => "/bin/sh", "" => "") # expire.url = ("" => "access plus 0 seconds") # server.max-keep-alive-requests = 1 # } # $HTTP["url"] =~ "^/pipermail" { # alias.url = ("/pipermail/" => "/var/mailman/archives/public/") # server.max-keep-alive-requests = 3 # } # $HTTP["url"] =~ "^/icons" { # alias.url = ("/icons/" => "/var/mailman/icons/") # expire.url = ("" => "access plus 23 hours") # } #} # WWW #$HTTP["host"] =~ "^(www\.)?HOST\.DOM" { # url.rewrite-once = ("^/downloads/?(.*)?$" => "/downloads/$1") # $HTTP["url"] =~ "^/downloads(.*)?$" { # alias.url = ("/downloads" => var.basedir + "/downloads") # dir-listing.activate = "enable" # dir-listing.external-css = "/style.css" # } # $HTTP["url"] =~ "^/browse(/.*)?$" { # url.redirect = ("^/?(.*)$" => "https://git.HOST.DOM/$1") # } # $HTTP["url"] =~ "^/cgit(/.*)?$" { # url.redirect = ("^/?(.*)$" => "https://git.HOST.DOM/$1") # } # $HTTP["url"] =~ "^/ftp" { # url.redirect = ("^/ftp(/.*)?$" => "https://ftp.HOST.DOM$1") # } # $HTTP["url"] =~ "^/lists" { # url.redirect = ("^/lists(/.*)?$" => "https://lists.HOST.DOM$1") # } # $HTTP["url"] =~ "^/scm" { # url.redirect = ("^/?(.*)$" => "https://git.HOST.DOM/$1") # } #} $HTTP["url"] =~ "\.(css|gif|html|jpg|js|png)$" { expire.url = ("" => "access plus 23 hours") } # s-it-mode