From 86c2d3093686c4f945086c90af9b8a7900925b6b Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Mon, 6 Dec 2021 05:33:30 -0500 Subject: [multiple] remove long-deprecated modules x-ref: https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated --- doc/config/conf.d/Makefile.am | 4 - doc/config/conf.d/cml.conf | 27 ---- doc/config/conf.d/geoip.conf | 28 ---- doc/config/conf.d/mysql_vhost.conf | 47 ------- doc/config/conf.d/trigger_b4_dl.conf | 70 ---------- doc/config/modules.conf | 18 --- doc/outdated/Makefile.am | 6 - doc/outdated/cml.txt | 261 ----------------------------------- doc/outdated/geoip.txt | 148 -------------------- doc/outdated/mysqlvhost.txt | 58 -------- doc/outdated/trigger_b4_dl.txt | 57 -------- 11 files changed, 724 deletions(-) delete mode 100644 doc/config/conf.d/cml.conf delete mode 100644 doc/config/conf.d/geoip.conf delete mode 100644 doc/config/conf.d/mysql_vhost.conf delete mode 100644 doc/config/conf.d/trigger_b4_dl.conf delete mode 100644 doc/outdated/cml.txt delete mode 100644 doc/outdated/geoip.txt delete mode 100644 doc/outdated/mysqlvhost.txt delete mode 100644 doc/outdated/trigger_b4_dl.txt (limited to 'doc') diff --git a/doc/config/conf.d/Makefile.am b/doc/config/conf.d/Makefile.am index 5616473c..7c976afe 100644 --- a/doc/config/conf.d/Makefile.am +++ b/doc/config/conf.d/Makefile.am @@ -1,18 +1,15 @@ EXTRA_DIST=access_log.conf \ auth.conf \ cgi.conf \ - cml.conf \ debug.conf \ deflate.conf \ dirlisting.conf \ evhost.conf \ expire.conf \ fastcgi.conf \ - geoip.conf \ magnet.conf \ mime.conf \ mod.template \ - mysql_vhost.conf \ proxy.conf \ rrdtool.conf \ scgi.conf \ @@ -20,6 +17,5 @@ EXTRA_DIST=access_log.conf \ simple_vhost.conf \ ssi.conf \ status.conf \ - trigger_b4_dl.conf \ userdir.conf \ webdav.conf diff --git a/doc/config/conf.d/cml.conf b/doc/config/conf.d/cml.conf deleted file mode 100644 index 6c539794..00000000 --- a/doc/config/conf.d/cml.conf +++ /dev/null @@ -1,27 +0,0 @@ -####################################################################### -## -## CML Module -## --------------- -## -## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCML -## -server.modules += ( "mod_cml" ) -index-file.names += ( "index.cml" ) - -## -## The file extension that is bound to the cml-module. -## -cml.extension = ".cml" - -## -## Memcached hosts used for memcache* functions. -## -#cml.memcache-hosts = ( "127.0.0.1:11211" ) - -## -## A cml file that is executed for each request. -## -#cml.power-magnet = server_root + "/htdocs/powermagnet.cml" - -## -####################################################################### diff --git a/doc/config/conf.d/geoip.conf b/doc/config/conf.d/geoip.conf deleted file mode 100644 index d0da3067..00000000 --- a/doc/config/conf.d/geoip.conf +++ /dev/null @@ -1,28 +0,0 @@ -####################################################################### -## -## GeoIP Module -## --------------- -## -## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModGeoip -## -## mod_geoip is a module for fast ip/location lookups. It uses MaxMind -## GeoIP / GeoCity databases. If the ip was found in the database the -## module sets the appropriate environments variables to the request, -## thus making other modules/fcgi be informed. -## -server.modules += ( "mod_geoip" ) - -## -## mod_geoip will determine the database type automatically so if you -## enter GeoCity databse path it will load GeoCity Env. -## -#geoip.db-filename = "/path/to/GeoLiteCity.dat" - -## -## If enabled, mod_geoip will load the database binary file to memory -## for very fast lookups. The only penalty is memory usage. -## -#geoip.memory-cache = "disable" - -## -####################################################################### diff --git a/doc/config/conf.d/mysql_vhost.conf b/doc/config/conf.d/mysql_vhost.conf deleted file mode 100644 index cb63083d..00000000 --- a/doc/config/conf.d/mysql_vhost.conf +++ /dev/null @@ -1,47 +0,0 @@ -####################################################################### -## -## Virtual hosting with MySQL -## ---------------------------- -## -## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModMySQLVhost -## -server.modules += ( "mod_mysql_vhost" ) - -## -## Either set the the socket or host (and port) -## -## Local path to the mysql socket -## -#mysql-vhost.sock = "/var/lib/mysql/mysql.sock" - -## -## Host of the MySQL server. -## -#mysql-vhost.hostname = "localhost" - -## -## Optional: port to use. -## -#mysql-vhost.port = 3306 - -## -## Name of the database -## -mysql-vhost.db = "lighttpd" - -## -## SQL User/Password for the connection -## -mysql-vhost.user = "lighttpd" -mysql-vhost.pass = "secret" - -## -## The query to get the needed informations from the database. -## -## It doesnt matter how you name the fields the first field is always used -## as the document root. -## -mysql-vhost.sql = "SELECT docroot FROM domains WHERE domain='?'" - -## -####################################################################### diff --git a/doc/config/conf.d/trigger_b4_dl.conf b/doc/config/conf.d/trigger_b4_dl.conf deleted file mode 100644 index 9cf48354..00000000 --- a/doc/config/conf.d/trigger_b4_dl.conf +++ /dev/null @@ -1,70 +0,0 @@ -####################################################################### -## -## Trigger before download -## --------------- -## -## - if user requests ''download-url'' directly, the request is denied -## and he is redirected to ''deny-url' -## - if user visits ''trigger-url'' before requesting ''download-url'', -## access is granted -## - if user visits ''download-url'' again after ''trigger-timeout'' has -## elapsed, the request is denied and he is redirected to ''deny-url'' -## -## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModTriggerBeforeDownload -## -server.modules += ( "mod_mod_trigger_b4_dl" ) - -## -## To store the trigger state you can either use a local GDBM -## file or memcached(s). -## - -## -## Path to the local GDBM file. -## -trigger-before-download.gdbm-filename = home_dir + "/trigger.db" - -## -## List of memcached servers. -## -#trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) - -## -## URL prefix a visitor has to visit before downloading is allowed -## -trigger-before-download.trigger-url = "^/trigger/" - -## -## URL Prefix of the proteced area. -## -trigger-before-download.download-url = "^/download/" - -## -## -## The deny url. -## -trigger-before-download.deny-url = "http://www.example.com/index.html" - -## -## How long the "ticket" of the user will be valid. -## -## Value in seconds. -## -trigger-before-download.trigger-timeout = 10 - -## -## Normally the memcached key will be the remote ip of the request -## If you store other data in the memcached aswell and want to avoid -## key collisions you can configure a memcache-namespace. -## -## The key for the request will be memcache-namespace + remote_ip than. -## -#trigger-before-download.memcache-namespace = "t4bdl_" - -## -## If set to 1, the module will log some debug informations. -## -#trigger-before-download.debug = 0 - -## -####################################################################### diff --git a/doc/config/modules.conf b/doc/config/modules.conf index 609b71e2..f1a3e864 100644 --- a/doc/config/modules.conf +++ b/doc/config/modules.conf @@ -21,11 +21,8 @@ ## - mod_deflate -> conf.d/deflate.conf ## - mod_status -> conf.d/status.conf ## - mod_webdav -> conf.d/webdav.conf -## - mod_cml -> conf.d/cml.conf ## - mod_evhost -> conf.d/evhost.conf ## - mod_simple_vhost -> conf.d/simple_vhost.conf -## - mod_mysql_vhost -> conf.d/mysql_vhost.conf -## - mod_trigger_b4_dl -> conf.d/trigger_b4_dl.conf ## - mod_userdir -> conf.d/userdir.conf ## - mod_rrdtool -> conf.d/rrdtool.conf ## - mod_ssi -> conf.d/ssi.conf @@ -82,11 +79,6 @@ server.modules = ( ## #include conf_dir + "/conf.d/magnet.conf" -## -## mod_geoip -## -#include conf_dir + "/conf.d/geoip.conf" - ## ## mod_ssi ## @@ -107,11 +99,6 @@ server.modules = ( ## #include conf_dir + "/conf.d/userdir.conf" -## -## mod_cml -## -#include conf_dir + "/conf.d/cml.conf" - ## ## mod_rrdtool ## @@ -177,10 +164,5 @@ server.modules = ( ## #include conf_dir + "/conf.d/simple_vhost.conf" -## -## mod_mysql_vhost -## -#include conf_dir + "/conf.d/mysql_vhost.conf" - ## ####################################################################### diff --git a/doc/outdated/Makefile.am b/doc/outdated/Makefile.am index 861a6fd0..0ee37207 100644 --- a/doc/outdated/Makefile.am +++ b/doc/outdated/Makefile.am @@ -22,14 +22,11 @@ state.txt \ rrdtool.txt \ alias.txt \ userdir.txt \ -mysqlvhost.txt \ access.txt \ traffic-shaping.txt \ setenv.txt \ status.txt \ scgi.txt \ -cml.txt \ -trigger_b4_dl.txt \ webdav.txt \ expire.txt \ dirlisting.txt \ @@ -60,14 +57,11 @@ HTMLDOCS=accesslog.html \ rrdtool.html \ alias.html \ userdir.html \ - mysqlvhost.html \ access.html \ traffic-shaping.html \ setenv.html \ status.html \ scgi.html \ - cml.html \ - trigger_b4_dl.html \ webdav.html \ expire.html \ dirlisting.html \ diff --git a/doc/outdated/cml.txt b/doc/outdated/cml.txt deleted file mode 100644 index b9ae92c5..00000000 --- a/doc/outdated/cml.txt +++ /dev/null @@ -1,261 +0,0 @@ -========================= -CML (Cache Meta Language) -========================= - ---------------- -Module: mod_cml ---------------- - -:Author: Jan Kneschke -:Date: $Date: 2004/11/03 22:26:05 $ -:Revision: $Revision: 1.2 $ - -:abstract: - CML is a Meta language to describe the dependencies of a page at one side and building a page from its fragments on the other side using LUA. - -.. meta:: - :keywords: lighttpd, cml, lua - -.. contents:: Table of Contents - -Description -=========== - -CML (Cache Meta Language) wants to solves several problems: - - * dynamic content needs caching to perform - * checking if the content is dirty inside of the application is usually more expensive than sending out the cached data - * a dynamic page is usually fragmented and the fragments have different livetimes - * the different fragments can be cached independently - -Cache Decision --------------- - -A simple example should show how to a content caching the very simple way in PHP. - -jan.kneschke.de has a very simple design: - - * the layout is taken from a template in templates/jk.tmpl - * the menu is generated from a menu.csv file - * the content is coming from files on the local directory named content-1, content-2 and so on - -The page content is static as long non of the those tree items changes. A change in the layout -is affecting all pages, a change of menu.csv too, a change of content-x file only affects the -cached page itself. - -If we model this in PHP we get: :: - - $v) { - if (isset($v["file"]) && - filemtime($v["file"]) > $cachemtime) { - return 0; - } - } - - if (filemtime("/menu/menu.csv") > $cachemtime) { - return 0; - } - if (filemtime("/templates/jk.tmpl") > $cachemtime) { - return 0; - } - } - - if (is_cachable(...), $cachefile) { - readfile($cachefile); - exit(); - } else { - # generate content and write it to $cachefile - } - ?> - -Quite simple. No magic involved. If the one of the files is new than the cached -content, the content is dirty and has to be regenerated. - -Now let take a look at the numbers: - - * 150 req/s for a Cache-Hit - * 100 req/s for a Cache-Miss - -As you can see the increase is not as good as it could be. The main reason as the overhead -of the PHP interpreter to start up (a byte-code cache has been used here). - -Moving these decisions out of the PHP script into a server module will remove the need -to start PHP for a cache-hit. - -To transform this example into a CML you need 'index.cml' in the list of indexfiles -and the following index.cml file: :: - - output_contenttype = "text/html" - - b = request["DOCUMENT_ROOT"] - cwd = request["CWD"] - - output_include = { b .. "_cache.html" } - - trigger_handler = "index.php" - - if file_mtime(b .. "../lib/php/menu.csv") > file_mtime(cwd .. "_cache.html") or - file_mtime(b .. "templates/jk.tmpl") > file_mtime(cwd .. "_cache.html") or - file_mtime(b .. "content.html") > file_mtime(cwd .. "_cache.html") then - return CACHE_MISS - else - return CACHE_HIT - end - -Numbers again: - - * 4900 req/s for Cache-Hit - * 100 req/s for Cache-Miss - -Content Assembling ------------------- - -Sometimes the different fragment are already generated externally. You have to cat them together: :: - - - -We we can do the same several times faster directly in the webserver. - -Don't forget: Webserver are built to send out static content, that is what they can do best. - -The index.cml for this looks like: :: - - output_contenttype = "text/html" - - cwd = request["CWD"] - - output_include = { cwd .. "head.html", - cwd .. "menu.html", - cwd .. "spacer.html", - cwd .. "db-content.html", - cwd .. "spacer2.html", - cwd .. "news.html", - cwd .. "footer.html" } - - return CACHE_HIT - -Now we get about 10000 req/s instead of 600 req/s. - -Power Magnet ------------- - -Next to all the features about Cache Decisions CML can do more. Starting -with lighttpd 1.4.9 a power-magnet was added which attracts each request -and allows you to manipulate the request for your needs. - -We want to display a maintenance page by putting a file in a specified -place: - -We enable the power magnet: :: - - cml.power-magnet = "/home/www/power-magnet.cml" - -and create /home/www/power-magnet.cml with: :: - - dr = request["DOCUMENT_ROOT"] - - if file_isreg(dr .. 'maintenance.html') then - output_include = { 'maintenance.html' } - return CACHE_HIT - end - - return CACHE_MISS - -For each requested file the /home/www/power-magnet.cml is executed which -checks if maintenance.html exists in the docroot and displays it -instead of handling the usual request. - -Another example, create thumbnail for requested image and serve it instead -of sending the big image: :: - - ## image-url is /album/baltic_winter_2005.jpg - ## no params -> 640x480 is served - ## /album/baltic_winter_2005.jpg/orig for full size - ## /album/baltic_winter_2005.jpg/thumb for thumbnail - - dr = request["DOCUMENT_ROOT"] - sn = request["SCRIPT_NAME"] - - ## to be continued :) ... - - trigger_handler = '/gen_image.php' - - return CACHE_MISS - - -Installation -============ - -You need `lua `_ and should install `memcached `_ and have to configure lighttpd with: :: - - ./configure ... --with-lua --with-memcached - -To use the plugin you have to load it: :: - - server.modules = ( ..., "mod_cml", ... ) - -Options -======= - -:cml.extension: - the file extension that is bound to the cml-module -:cml.memcache-hosts: - hosts for the memcache.* functions -:cml.memcache-namespace: - (not used yet) -:cml.power-magnet: - a cml file that is executed for each request - -Language -======== - -The language used for CML is provided by `LUA `_. - -Additionally to the functions provided by lua mod_cml provides: :: - - tables: - - request - - REQUEST_URI - - SCRIPT_NAME - - SCRIPT_FILENAME - - DOCUMENT_ROOT - - PATH_INFO - - CWD - - BASEURI - - get - - parameters from the query-string - - functions: - string md5(string) - number file_mtime(string) - string memcache_get_string(string) - number memcache_get_long(string) - boolean memcache_exists(string) - - -What ever your script does, it has to return either CACHE_HIT or CACHE_MISS. -It case a error occurs check the error-log, the user will get a error 500. If you don't like -the standard error-page use ``server.errorfile-prefix``. - diff --git a/doc/outdated/geoip.txt b/doc/outdated/geoip.txt deleted file mode 100644 index a3d39bc3..00000000 --- a/doc/outdated/geoip.txt +++ /dev/null @@ -1,148 +0,0 @@ -{{{ -#!rst -============================== -ip based geographic lookups... -============================== - ------------------ -Module: mod_geoip ------------------ - - - -.. contents:: Table of Contents - -Requirements -============ - -:Packages: GeoIP C API & Library (http://www.maxmind.com/download/geoip/api/c/) - -Overview -======== - -mod_geoip is a module for fast ip/location lookups. It uses MaxMind GeoIP / -GeoCity databases. -If the ip was found in the database the module sets the appropriate -environments variables to the request, thus making other modules/fcgi be -informed. - -.. note:: - - Currently only country/city databases are supported because they have a free - version that i can test. - -Configuration Options -======================== - -mod_geoip uses two configuration options. - -1) geoip.db-filename = -2) geoip.memory-cache = : default disabled - -if enabled, mod_geoip will load the database binary file to -memory for very fast lookups. the only penalty is memory usage. - -.. note:: - - mod_geoip will determine the database type automatically so if you enter - GeoCity database path it will load GeoCity Env. - -Environment -=========== - -Every database sets it's own ENV: - -GeoIP (Country): ----------------- - -:: - - GEOIP_COUNTRY_CODE - GEOIP_COUNTRY_CODE3 - GEOIP_COUNTRY_NAME - -GeoCity: --------- - -:: - - GEOIP_COUNTRY_CODE - GEOIP_COUNTRY_CODE3 - GEOIP_COUNTRY_NAME - GEOIP_CITY_NAME - GEOIP_CITY_POSTAL_CODE - GEOIP_CITY_LATITUDE - GEOIP_CITY_LONG_LATITUDE - GEOIP_CITY_DMA_CODE - GEOIP_CITY_AREA_CODE - -Examples -======== - -mod_geoip + php ---------------- - -when using fastcgi (not only php) you can access mod_geoip env and do as you -please. this example just prints all mod_geoip envs to the client, html. - -Config-file :: - - geoip.db-filename = "/your-geoip-db-path/GeoCityLite.dat" - geoip.memory-cache = "enable" - -index.php :: - - \n\n\t
\n"; - echo 'Country Code: ' . $country_code . '
'; - echo 'Country Code 3: ' . $country_code3 . '
'; - echo 'Country Name: ' . $country_name . '
'; - echo '
'; - echo 'City Region: ' . $city_region . '
'; - echo 'City Name: ' . $city_name . '
'; - echo 'City Postal Code: ' . $city_postal_code . '
'; - echo 'City Latitude: ' . $city_latitude . '
'; - echo 'City Long Latitude: ' . $city_long_latitude . '
'; - echo 'City DMA Code: ' . $city_dma_code . '
'; - echo 'City Area Code: ' . $city_area_code . '
'; - echo "\n"; - ?> - -country based redirect ----------------------- - -Config-file :: - - $HTTP["host"] =~ "www.domain.com" { - url.rewrite = ( "" => "/redirect.php") - } - -redirect.php :: - - - -.. note:: - - Currently it is not possible to redirect based on mod_geoip directly in -lighttpd config file. But i believe with the release of lighttpd mod_magnet -it would be. (mod_magnet will be available in lighttpd 1.4.12+) - -Downloads -========= -mod_geoip.c (http://trac.lighttpd.net/trac/attachment/wiki/Docs/ModGeoip/mod_geoip.c) -}}} diff --git a/doc/outdated/mysqlvhost.txt b/doc/outdated/mysqlvhost.txt deleted file mode 100644 index 9a869a19..00000000 --- a/doc/outdated/mysqlvhost.txt +++ /dev/null @@ -1,58 +0,0 @@ -==================== -MySQL-based vhosting -==================== - ------------------------ -Module: mod_mysql_vhost ------------------------ - -:Author: ada@riksnet.se -:Date: $Date: 2004/08/29 09:43:49 $ -:Revision: $Revision: 1.1 $ - -:abstract: - This module provides virtual hosts (vhosts) based on a MySQL table - -.. meta:: - :keywords: lighttpd, mysql, vhost - -.. contents:: Table of Contents - -Description -=========== - -With MySQL-based vhosting you can store the path to a given host's -document root in a MySQL database. - -.. note:: Keep in mind that only one vhost module should be active at a time. - Don't mix mod_simple_vhost with mod_mysql_vhost. - -Options -======= - -Example: :: - - mysql-vhost.db = "lighttpd" - mysql-vhost.user = "lighttpd" - mysql-vhost.pass = "secret" - mysql-vhost.sock = "/var/mysql.lighttpd.sock" - mysql-vhost.sql = "SELECT docroot FROM domains WHERE domain='?'" - - -MySQL setup: :: - - GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret'; - - CREATE DATABASE lighttpd; - - USE lighttpd; - - CREATE TABLE domains ( - domain varchar(64) not null primary key, - docroot varchar(128) not null - ); - - INSERT INTO domains VALUES ('host.dom.ain','/http/host.dom.ain/'); - - - diff --git a/doc/outdated/trigger_b4_dl.txt b/doc/outdated/trigger_b4_dl.txt deleted file mode 100644 index 0bfd099a..00000000 --- a/doc/outdated/trigger_b4_dl.txt +++ /dev/null @@ -1,57 +0,0 @@ -======================= -Trigger before Download -======================= - -------------------------- -Module: mod_trigger_b4_dl -------------------------- - -:Author: Jan Kneschke -:Date: $Date: 2004/11/03 22:26:05 $ -:Revision: $Revision: 1.2 $ - -:abstract: - another anti-hot-linking module - -.. meta:: - :keywords: lighttpd, hot-linking, deep-linking - -.. contents:: Table of Contents - -Description -=========== - -Anti Hotlinking: - - * if user requests ''download-url'' directly, the request is denied and he is redirected to ''deny-url' - * if user visits ''trigger-url'' before requesting ''download-url'', access is granted - * if user visits ''download-url'' again after ''trigger-timeout'' has elapsed, the request is denied and he is redirected to ''deny-url'' - -The trigger information is either stored locally in a gdbm file or remotely in memcached. - -Requirements ------------- - - * libpcre - * libgdbm or libmemcached - -Options -======= - -:: - - trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db" - trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) - trigger-before-download.trigger-url = "^/trigger/" - trigger-before-download.download-url = "^/download/" - trigger-before-download.deny-url = "http://192.168.1.5:1025/index.html" - trigger-before-download.trigger-timeout = 10 - -If both trigger-before-download.gdbm-filename and -trigger-before-download.memcache-hosts is set gdbm will take precedence. - -Installation -============ - -memcached should be started with the option -M as we don't want to remove entry if the memory is full. - -- cgit v1.2.1