Tartalomjegyzék
Lighttpd
- Szerző: Sallai András
- Copyright © Sallai András, 2011, 2013, 2017
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
Telepítés
Telepítéskor ügyeljünk arra, ha egy másik webszerver telepítve van, akkor azzal nincs konfliktusban a csomagkezelőben, azaz feltehető második webszerverként is.
apt-get install lighttpd
A legújabb verzió letölthető innen:
Vezérlés
invoke-rc.d lighttpd start invoke-rc.d lighttpd stop invoke-rc.d lighttpd restart
Beállítás példák
Telepítés után kapunk egy /etc/lighttpd könyvtárat. A beállítások a /etc/lighttpd/lighttpd.conf állományból lehetséges.
A dokumentumok helyének gyökere:
server.document-root = "/var/www/html"
A szerver TCP portja:
server.port = 80
Használt modulok megadása:
server.modules = ( "mod_access", "mod_rewrite" )
Hibanaplók helye:
server.errorlog = "/var/log/lighttpd/error.log"
A szerverfolyamat mely felhasználó és csoport nevében fusson:
server.username = "www-data" server.groupname = "www-data"
Más konfigurációs fájlok beolvasása:
include "mas.types.conf"
Konfiguráció olvasása egy parancs kimenetéből:
include_shell "/usr/local/bin/parancs.pl"
Feltételes konfiguráció
A legtöbb beállítás konfigurálható feltételesen, és egymásba ágyazva a következő szintaktika szerint:
<mező> <operátor> <érték> { ... <mező> <operátor> <érték> { ... beépített: Csak akkor egyezik, ha a szülő is egyezett } } else <mező> <operátor> <érték> { ... az ellenben ha rész }
A mezők a következők egyike lehet:
Mezőnév | Leírás |
---|---|
$HTTP[„cookie”] | Sütire (cookie) egyezik |
$HTTP[„host”] | Gépnévre (host) egyezik |
$HTTP[„useragent”] | Klienségpre egyezik |
$HTTP[„referer”] | Hivatkozáson egyezik |
$HTTP[„url”] | URL-en egyezik. Ha van beépített rész, akkor inner blokknak kell lennie |
$HTTP[„querystring”] | Lekérő sztringre egyezi, ? után (index.php?module=images) |
$HTTP[„remoteip”] | Távoli IP-re vagy hálózatra egyezik. IPv6-tal nem működik |
$HTTP[„request-method”] | Az 1.4.19-es verziótól. A kérés metódusára egyezik |
$HTTP[„scheme”] | Az 1.4.19-es verziótól. Bejövő kapcsolatok által használt sémákra egyezik http vagy https |
$HTTP[„language”] | Az 1.4.21-es verziótól. Az Accept-Language fejlécsorra egyezik |
$SERVER[„socket”] | Socketre egyezik. Az érték formája ip:port. Az IP opcionális. Csak az egyenlőség (==) támogatott. Használd ezt ha IP/port alapú virtuálhostokat akarsz. |
$PHYSICAL[„path”] | Az 1.5.0 verziótól (Debianban még nem ez van). Egy fájl fizikai útvonalára egyezik. (file / cgi script) |
$PHYSICAL[„existing-path”] | Az 1.5.0 verziótól (Debian még nem ez van). Csak létehő fájlokra egyezik a helyi fájlrendszerben. file / cgi script |
Az operátor a következők egyike lehet:
Operátor | Érték |
---|---|
== | szöveg egyenlősége esetén egyezik |
!= | ha szöveg nem egyenlő, akkor egyezik |
=~ | perl stílusú szabályos kifejezések esetén az egyezés |
!~ | perl stílusú szabályos kifejezések esetén a nem egyezés |
Példa
A könyvtár listázását tiltjuk a következő helyen /download/
dir-listing.activate = "enable" $HTTP["url"] =~ "^/download/" { dir-listing.activate = "disable" }
Tiltva a www.pelda.org minden felhasználónak, aki a 10.0.0.0/8-as hálózatból jön
$HTTP["host"] == "www.pelda.org" { $HTTP["remoteip"] != "10.0.0.0/8" { url.access-deny = ( "" ) } }
Csak a 200.19.1.5 és 210.45.2.7 címről engedjük, www.example.org/admin/ könyvtárhoz való hozzáférést:
$HTTP["host"] == "www.example.org" { $HTTP["remoteip"] !~ "^(200\.19\.1\.5|210\.45\.2\.7)$" { $HTTP["url"] =~ "^/admin/" { url.access-deny = ( "" ) } } }