├── .gitattributes ├── start.sh ├── Dockerfile ├── docker-compose.yml ├── etc └── lighttpd │ ├── mod_fastcgi_fpm.conf │ ├── mod_fastcgi.conf │ ├── mod_cgi.conf │ ├── mime-types.conf │ └── lighttpd.conf ├── .github └── workflows │ └── docker-deploy.yml ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=lf 2 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | chmod a+w /dev/pts/0 4 | exec lighttpd -D -f /etc/lighttpd/lighttpd.conf 5 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Dockerfile for lighttpd 2 | 3 | FROM alpine 4 | 5 | ENV LIGHTTPD_VERSION=1.4.64-r0 6 | 7 | RUN apk add --update --no-cache \ 8 | lighttpd=${LIGHTTPD_VERSION} \ 9 | lighttpd-mod_auth \ 10 | && rm -rf /var/cache/apk/* 11 | 12 | COPY etc/lighttpd/* /etc/lighttpd/ 13 | COPY start.sh /usr/local/bin/ 14 | 15 | EXPOSE 80 16 | 17 | VOLUME /var/www/localhost/htdocs 18 | VOLUME /etc/lighttpd 19 | 20 | CMD ["start.sh"] 21 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | # Docker Compose YAML file for lighttpd 2 | 3 | # build with: 4 | # $ sudo docker-compose build 5 | 6 | # start with: 7 | # $ sudo docker-compose up 8 | 9 | # after start, enter shell with: 10 | # $ sudo docker exec -it lighttpddocker_lighttpd_1 ash 11 | 12 | lighttpd: 13 | container_name: lighttpd 14 | build: . 15 | restart: always 16 | ports: 17 | - "8001:80" # for testing purposes, (un)comment as required 18 | tty: true 19 | -------------------------------------------------------------------------------- /etc/lighttpd/mod_fastcgi_fpm.conf: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # mod_fastcgi_fpm.conf 3 | # include'd by lighttpd.conf. 4 | ############################################################################### 5 | 6 | server.modules += ("mod_fastcgi") 7 | fastcgi.server = ( ".php" => 8 | ( "localhost" => 9 | ( 10 | "host" => "127.0.0.1", 11 | "port" => "9000" 12 | ) 13 | ) 14 | ) 15 | 16 | # vim: set ft=conf foldmethod=marker et : 17 | -------------------------------------------------------------------------------- /etc/lighttpd/mod_fastcgi.conf: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # mod_fastcgi.conf 3 | # include'd by lighttpd.conf. 4 | # $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mod_fastcgi.conf-1.4.13-r2,v 1.1 2007/04/01 23:22:00 robbat2 Exp $ 5 | ############################################################################### 6 | 7 | server.modules += ("mod_fastcgi") 8 | fastcgi.server = ( ".php" => 9 | ( "localhost" => 10 | ( 11 | "socket" => "/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket", 12 | "bin-path" => "/usr/bin/php-cgi" 13 | ) 14 | ) 15 | ) 16 | 17 | # vim: set ft=conf foldmethod=marker et : 18 | -------------------------------------------------------------------------------- /etc/lighttpd/mod_cgi.conf: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # mod_cgi.conf 3 | # include'd by lighttpd.conf. 4 | # $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mod_cgi.conf,v 1.1 2005/08/27 12:36:13 ka0ttic Exp $ 5 | ############################################################################### 6 | 7 | # 8 | # see cgi.txt for more information on using mod_cgi 9 | # 10 | 11 | server.modules += ("mod_cgi") 12 | 13 | # NOTE: this requires mod_alias 14 | alias.url = ( 15 | "/cgi-bin/" => var.basedir + "/cgi-bin/" 16 | ) 17 | 18 | # 19 | # Note that you'll also want to enable the 20 | # cgi-bin alias via mod_alias (above). 21 | # 22 | 23 | $HTTP["url"] =~ "^/cgi-bin/" { 24 | # disable directory listings 25 | dir-listing.activate = "disable" 26 | # only allow cgi's in this directory 27 | cgi.assign = ( 28 | ".pl" => "/usr/bin/perl", 29 | ".cgi" => "/usr/bin/perl" 30 | ) 31 | } 32 | 33 | # vim: set ft=conf foldmethod=marker et : 34 | -------------------------------------------------------------------------------- /.github/workflows/docker-deploy.yml: -------------------------------------------------------------------------------- 1 | name: Docker deploy 2 | 3 | on: 4 | push: 5 | branches: master 6 | tags: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | buildx: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v2 16 | 17 | - name: Set up QEMU 18 | uses: docker/setup-qemu-action@v1 19 | with: 20 | platforms: all 21 | 22 | - name: Set up Docker Buildx 23 | id: buildx 24 | uses: docker/setup-buildx-action@v1 25 | with: 26 | version: latest 27 | 28 | - name: Login to Docker Hub 29 | run: docker login --username ${{ secrets.DOCKER_USERNAME }} --password ${{ secrets.DOCKER_TOKEN }} 30 | 31 | - name: Run Buildx 32 | run: | 33 | docker buildx build \ 34 | --platform linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6 \ 35 | --push . \ 36 | -t sebp/lighttpd:latest -t sebp/lighttpd:1.4.64-r0 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Sébastien Pujadas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lighttpd Docker image 2 | 3 | Security, speed, compliance, and flexibility -- all of these describe [lighttpd](http://www.lighttpd.net/) 4 | 5 | ### Contents 6 | 7 | - Usage 8 | - Start a container with Docker 9 | - Start a container with Docker Compose 10 | - Build 11 | - Build with Docker 12 | - Build with Docker Compose 13 | - Build with Docker Buildx 14 | - About 15 | 16 | ## Usage 17 | 18 | In the instructions that follow, replace: 19 | 20 | - `` with the path of the local directory you want to serve content from. 21 | 22 | - `` with the path of the local directory containing lighttpd configuration files that you want to use instead of the default ones. 23 | 24 | To make it easier to create custom configuration files, the default configuration files are included in the `etc/lighttpd` directory of the Git repository. 25 | 26 | - `` with the HTTP port you want the HTTP server to serve content to (e.g. `80` for the standard HTTP port if not already in use on the host). 27 | 28 | ### Start a container with Docker 29 | 30 | With the default configuration files: 31 | 32 | $ sudo docker run --rm -t -v :/var/www/localhost/htdocs -p :80 sebp/lighttpd 33 | 34 | With custom configuration files: 35 | 36 | $ sudo docker run --rm -t -v :/var/www/localhost/htdocs -v :/etc/lighttpd -p :80 sebp/lighttpd 37 | 38 | ### Start a container with Docker Compose 39 | 40 | Add the following lines in an existing or a new `docker-compose.yml` file: 41 | 42 | lighttpd: 43 | image: sebp/lighttpd 44 | volumes: 45 | - :/var/www/localhost/htdocs 46 | - :/etc/lighttpd 47 | ports: 48 | - ":80" 49 | tty: true 50 | 51 | **Note** – The `- :…` line is optional, it can be used to override the default configuration files with your own. 52 | 53 | Then start a lighttpd container with: 54 | 55 | $ sudo docker-compose up lighttpd 56 | 57 | 58 | ## Build 59 | 60 | First clone or download the [spujadas/lighttpd-docker](https://github.com/spujadas/lighttpd-docker) GitHub repository, open a shell in the newly created `lighttpd-docker` directory, then build the image and run a container using Docker, Docker Compose, or Docker Buildx, as explained below. 61 | 62 | ### Build with Docker 63 | 64 | This command will build the image: 65 | 66 | $ sudo docker build . 67 | 68 | ### Build with Docker Compose 69 | 70 | Build the image with this command: 71 | 72 | $ sudo docker-compose build 73 | 74 | ### Build with Docker Buildx 75 | 76 | Build the image with this command: 77 | 78 | $ sudo buildx build . 79 | 80 | ## About 81 | 82 | Written by [Sébastien Pujadas](http://pujadas.net), released under the [MIT license](http://opensource.org/licenses/MIT). 83 | -------------------------------------------------------------------------------- /etc/lighttpd/mime-types.conf: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Default mime-types.conf for Gentoo. 3 | # include'd from lighttpd.conf. 4 | # $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mime-types.conf,v 1.4 2010/03/14 21:45:18 bangert Exp $ 5 | ############################################################################### 6 | 7 | # {{{ mime types 8 | mimetype.assign = ( 9 | ".svg" => "image/svg+xml", 10 | ".svgz" => "image/svg+xml", 11 | ".pdf" => "application/pdf", 12 | ".sig" => "application/pgp-signature", 13 | ".spl" => "application/futuresplash", 14 | ".class" => "application/octet-stream", 15 | ".ps" => "application/postscript", 16 | ".torrent" => "application/x-bittorrent", 17 | ".dvi" => "application/x-dvi", 18 | ".gz" => "application/x-gzip", 19 | ".pac" => "application/x-ns-proxy-autoconfig", 20 | ".swf" => "application/x-shockwave-flash", 21 | ".tar.gz" => "application/x-tgz", 22 | ".tgz" => "application/x-tgz", 23 | ".tar" => "application/x-tar", 24 | ".zip" => "application/zip", 25 | ".dmg" => "application/x-apple-diskimage", 26 | ".mp3" => "audio/mpeg", 27 | ".m3u" => "audio/x-mpegurl", 28 | ".wma" => "audio/x-ms-wma", 29 | ".wax" => "audio/x-ms-wax", 30 | ".ogg" => "application/ogg", 31 | ".wav" => "audio/x-wav", 32 | ".gif" => "image/gif", 33 | ".jpg" => "image/jpeg", 34 | ".jpeg" => "image/jpeg", 35 | ".png" => "image/png", 36 | ".xbm" => "image/x-xbitmap", 37 | ".xpm" => "image/x-xpixmap", 38 | ".xwd" => "image/x-xwindowdump", 39 | ".css" => "text/css", 40 | ".html" => "text/html", 41 | ".htm" => "text/html", 42 | ".js" => "text/javascript", 43 | ".asc" => "text/plain", 44 | ".c" => "text/plain", 45 | ".h" => "text/plain", 46 | ".cc" => "text/plain", 47 | ".cpp" => "text/plain", 48 | ".hh" => "text/plain", 49 | ".hpp" => "text/plain", 50 | ".conf" => "text/plain", 51 | ".log" => "text/plain", 52 | ".text" => "text/plain", 53 | ".txt" => "text/plain", 54 | ".diff" => "text/plain", 55 | ".patch" => "text/plain", 56 | ".ebuild" => "text/plain", 57 | ".eclass" => "text/plain", 58 | ".rtf" => "application/rtf", 59 | ".bmp" => "image/bmp", 60 | ".tif" => "image/tiff", 61 | ".tiff" => "image/tiff", 62 | ".ico" => "image/x-icon", 63 | ".dtd" => "text/xml", 64 | ".xml" => "text/xml", 65 | ".mpeg" => "video/mpeg", 66 | ".mpg" => "video/mpeg", 67 | ".mov" => "video/quicktime", 68 | ".qt" => "video/quicktime", 69 | ".avi" => "video/x-msvideo", 70 | ".asf" => "video/x-ms-asf", 71 | ".asx" => "video/x-ms-asf", 72 | ".wmv" => "video/x-ms-wmv", 73 | ".bz2" => "application/x-bzip", 74 | ".tbz" => "application/x-bzip-compressed-tar", 75 | ".tar.bz2" => "application/x-bzip-compressed-tar" 76 | ) 77 | # }}} 78 | 79 | # vim: set ft=conf foldmethod=marker et : 80 | -------------------------------------------------------------------------------- /etc/lighttpd/lighttpd.conf: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Default lighttpd.conf for Gentoo. 3 | # $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/lighttpd.conf,v 1.3 2005/09/01 14:22:35 ka0ttic Exp $ 4 | ############################################################################### 5 | 6 | # {{{ variables 7 | var.basedir = "/var/www/localhost" 8 | var.logdir = "/var/log/lighttpd" 9 | var.statedir = "/var/lib/lighttpd" 10 | # }}} 11 | 12 | # {{{ modules 13 | # At the very least, mod_access and mod_accesslog should be enabled. 14 | # All other modules should only be loaded if necessary. 15 | # NOTE: the order of modules is important. 16 | server.modules = ( 17 | # "mod_rewrite", 18 | # "mod_redirect", 19 | # "mod_alias", 20 | "mod_access", 21 | # "mod_cml", 22 | # "mod_trigger_b4_dl", 23 | # "mod_auth", 24 | # "mod_status", 25 | # "mod_setenv", 26 | # "mod_proxy", 27 | # "mod_simple_vhost", 28 | # "mod_evhost", 29 | # "mod_userdir", 30 | # "mod_deflate", 31 | # "mod_ssi", 32 | # "mod_usertrack", 33 | # "mod_expire", 34 | # "mod_secdownload", 35 | # "mod_rrdtool", 36 | # "mod_webdav", 37 | "mod_accesslog" 38 | ) 39 | # }}} 40 | 41 | # {{{ includes 42 | include "mime-types.conf" 43 | # uncomment for cgi support 44 | # include "mod_cgi.conf" 45 | # uncomment for php/fastcgi support 46 | # include "mod_fastcgi.conf" 47 | # uncomment for php/fastcgi fpm support 48 | # include "mod_fastcgi_fpm.conf" 49 | # }}} 50 | 51 | # {{{ server settings 52 | server.username = "lighttpd" 53 | server.groupname = "lighttpd" 54 | 55 | server.document-root = var.basedir + "/htdocs" 56 | server.pid-file = "/run/lighttpd.pid" 57 | 58 | server.errorlog = "/dev/pts/0" 59 | #server.errorlog = var.logdir + "/error.log" 60 | # log errors to syslog instead 61 | # server.errorlog-use-syslog = "enable" 62 | 63 | server.indexfiles = ("index.php", "index.html", 64 | "index.htm", "default.htm") 65 | 66 | # server.tag = "lighttpd" 67 | 68 | server.follow-symlink = "enable" 69 | 70 | # event handler (defaults to "poll") 71 | # see performance.txt 72 | # 73 | # for >= linux-2.4 74 | # server.event-handler = "linux-rtsig" 75 | # for >= linux-2.6 76 | # server.event-handler = "linux-sysepoll" 77 | # for FreeBSD 78 | # server.event-handler = "freebsd-kqueue" 79 | 80 | # chroot to directory (defaults to no chroot) 81 | # server.chroot = "/" 82 | 83 | # bind to port (defaults to 80) 84 | # server.port = 81 85 | 86 | # bind to name (defaults to all interfaces) 87 | # server.bind = "grisu.home.kneschke.de" 88 | 89 | # error-handler for status 404 90 | # server.error-handler-404 = "/error-handler.html" 91 | # server.error-handler-404 = "/error-handler.php" 92 | 93 | # Format: .html 94 | # -> ..../status-404.html for 'File not found' 95 | # server.errorfile-prefix = var.basedir + "/error/status-" 96 | 97 | # FAM support for caching stat() calls 98 | # requires that lighttpd be built with USE=fam 99 | # server.stat-cache-engine = "fam" 100 | # }}} 101 | 102 | # {{{ mod_staticfile 103 | 104 | # which extensions should not be handled via static-file transfer 105 | # (extensions that are usually handled by mod_cgi, mod_fastcgi, etc). 106 | static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi") 107 | # }}} 108 | 109 | # {{{ mod_accesslog 110 | accesslog.filename = "/dev/pts/0" 111 | #accesslog.filename = var.logdir + "/access.log" 112 | # }}} 113 | 114 | # {{{ mod_dirlisting 115 | # enable directory listings 116 | # dir-listing.activate = "enable" 117 | # 118 | # don't list hidden files/directories 119 | # dir-listing.hide-dotfiles = "enable" 120 | # 121 | # use a different css for directory listings 122 | # dir-listing.external-css = "/path/to/dir-listing.css" 123 | # 124 | # list of regular expressions. files that match any of the 125 | # specified regular expressions will be excluded from directory 126 | # listings. 127 | # dir-listing.exclude = ("^\.", "~$") 128 | # }}} 129 | 130 | # {{{ mod_access 131 | # see access.txt 132 | 133 | url.access-deny = ("~", ".inc") 134 | # }}} 135 | 136 | # {{{ mod_userdir 137 | # see userdir.txt 138 | # 139 | # userdir.path = "public_html" 140 | # userdir.exclude-user = ("root") 141 | # }}} 142 | 143 | # {{{ mod_ssi 144 | # see ssi.txt 145 | # 146 | # ssi.extension = (".shtml") 147 | # }}} 148 | 149 | # {{{ mod_ssl 150 | # see ssl.txt 151 | # 152 | # ssl.engine = "enable" 153 | # ssl.pemfile = "server.pem" 154 | # }}} 155 | 156 | # {{{ mod_status 157 | # see status.txt 158 | # 159 | # status.status-url = "/server-status" 160 | # status.config-url = "/server-config" 161 | # }}} 162 | 163 | # {{{ mod_simple_vhost 164 | # see simple-vhost.txt 165 | # 166 | # If you want name-based virtual hosting add the next three settings and load 167 | # mod_simple_vhost 168 | # 169 | # document-root = 170 | # virtual-server-root + virtual-server-default-host + virtual-server-docroot 171 | # or 172 | # virtual-server-root + http-host + virtual-server-docroot 173 | # 174 | # simple-vhost.server-root = "/home/weigon/wwwroot/servers/" 175 | # simple-vhost.default-host = "grisu.home.kneschke.de" 176 | # simple-vhost.document-root = "/pages/" 177 | # }}} 178 | 179 | # {{{ mod_deflate 180 | # see compress.txt 181 | # 182 | # deflate.cache-dir = var.statedir + "/cache/compress" 183 | # deflate.mimetypes = ("text/plain", "text/html") 184 | # }}} 185 | 186 | # {{{ mod_proxy 187 | # see proxy.txt 188 | # 189 | # proxy.server = ( ".php" => 190 | # ( "localhost" => 191 | # ( 192 | # "host" => "192.168.0.101", 193 | # "port" => 80 194 | # ) 195 | # ) 196 | # ) 197 | # }}} 198 | 199 | # {{{ mod_auth 200 | # see authentication.txt 201 | # 202 | # auth.backend = "plain" 203 | # auth.backend.plain.userfile = "lighttpd.user" 204 | # auth.backend.plain.groupfile = "lighttpd.group" 205 | 206 | # auth.backend.ldap.hostname = "localhost" 207 | # auth.backend.ldap.base-dn = "dc=my-domain,dc=com" 208 | # auth.backend.ldap.filter = "(uid=$)" 209 | 210 | # auth.require = ( "/server-status" => 211 | # ( 212 | # "method" => "digest", 213 | # "realm" => "download archiv", 214 | # "require" => "user=jan" 215 | # ), 216 | # "/server-info" => 217 | # ( 218 | # "method" => "digest", 219 | # "realm" => "download archiv", 220 | # "require" => "valid-user" 221 | # ) 222 | # ) 223 | # }}} 224 | 225 | # {{{ mod_rewrite 226 | # see rewrite.txt 227 | # 228 | # url.rewrite = ( 229 | # "^/$" => "/server-status" 230 | # ) 231 | # }}} 232 | 233 | # {{{ mod_redirect 234 | # see redirect.txt 235 | # 236 | # url.redirect = ( 237 | # "^/wishlist/(.+)" => "http://www.123.org/$1" 238 | # ) 239 | # }}} 240 | 241 | # {{{ mod_evhost 242 | # define a pattern for the host url finding 243 | # %% => % sign 244 | # %0 => domain name + tld 245 | # %1 => tld 246 | # %2 => domain name without tld 247 | # %3 => subdomain 1 name 248 | # %4 => subdomain 2 name 249 | # 250 | # evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/" 251 | # }}} 252 | 253 | # {{{ mod_expire 254 | # expire.url = ( 255 | # "/buggy/" => "access 2 hours", 256 | # "/asdhas/" => "access plus 1 seconds 2 minutes" 257 | # ) 258 | # }}} 259 | 260 | # {{{ mod_rrdtool 261 | # see rrdtool.txt 262 | # 263 | # rrdtool.binary = "/usr/bin/rrdtool" 264 | # rrdtool.db-name = var.statedir + "/lighttpd.rrd" 265 | # }}} 266 | 267 | # {{{ mod_setenv 268 | # see setenv.txt 269 | # 270 | # setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" ) 271 | # setenv.add-response-header = ( "X-Secret-Message" => "42" ) 272 | # }}} 273 | 274 | # {{{ mod_trigger_b4_dl 275 | # see trigger_b4_dl.txt 276 | # 277 | # trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db" 278 | # trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) 279 | # trigger-before-download.trigger-url = "^/trigger/" 280 | # trigger-before-download.download-url = "^/download/" 281 | # trigger-before-download.deny-url = "http://127.0.0.1/index.html" 282 | # trigger-before-download.trigger-timeout = 10 283 | # }}} 284 | 285 | # {{{ mod_cml 286 | # see cml.txt 287 | # 288 | # don't forget to add index.cml to server.indexfiles 289 | # cml.extension = ".cml" 290 | # cml.memcache-hosts = ( "127.0.0.1:11211" ) 291 | # }}} 292 | 293 | # {{{ mod_webdav 294 | # see webdav.txt 295 | # 296 | # $HTTP["url"] =~ "^/dav($|/)" { 297 | # webdav.activate = "enable" 298 | # webdav.is-readonly = "enable" 299 | # } 300 | # }}} 301 | 302 | # {{{ extra rules 303 | # 304 | # set Content-Encoding and reset Content-Type for browsers that 305 | # support decompressing on-thy-fly (requires mod_setenv) 306 | # $HTTP["url"] =~ "\.gz$" { 307 | # setenv.add-response-header = ("Content-Encoding" => "x-gzip") 308 | # mimetype.assign = (".gz" => "text/plain") 309 | # } 310 | 311 | # $HTTP["url"] =~ "\.bz2$" { 312 | # setenv.add-response-header = ("Content-Encoding" => "x-bzip2") 313 | # mimetype.assign = (".bz2" => "text/plain") 314 | # } 315 | # 316 | # }}} 317 | 318 | # {{{ debug 319 | # debug.log-request-header = "enable" 320 | # debug.log-response-header = "enable" 321 | # debug.log-request-handling = "enable" 322 | # debug.log-file-not-found = "enable" 323 | # }}} 324 | 325 | # vim: set ft=conf foldmethod=marker et : 326 | --------------------------------------------------------------------------------