Am ales ca distributie debian. Activarea modulelor se poate face in acelasi mod si pentru auth, cgi, fastcgi, proxy, simple-vhost, ssi, ssl, userdir. Pentru a dezactiva un modul putem folosi lighty-disable-mod
# apt-get install lighttpd
Lighttpd + Php5
# apt-get install php5-cgi
# lighty-enable-mod fastcgi
Structura config-ului
Fisierul de configurare al lighttpd se afla in /etc/lighttpd/lighttpd.conf Structura acestui config este:
*server.document-root = “/var/www/html”: Specificarea directorului default
*server.port = 80: Putem specifica pe ce port poate asculta. Default este 80
*server.username = “www-data”
*server.groupname = “www-data”: Specificam userul si grupul sub care putem pornii/oprii lighttpd .
*server.bind = “server-ip-address”: Putem specifica ip-ul pe care serverul asculte. Poti deasemenea sa specifici si servername.com
*server.tag =”lighttpd”: Poti seta numele si versiunea serverului. Poti seta urmatorul lucru
server.tag = "My WebServer v1.0"
*server.errorlog = “/var/log/lighttpd/error.log”: Specificam fisierul unde logam erorile.
*accesslog.filename = “/var/log/lighttpd/access.log”: Specificam fisirul unde logam accesarile (folosit pentru a genera statistici)
*index-file.names = ( “index.php”, “index.html” ): numele fisierele pe care lighttpd sa le afiseze default
Toate aceasta sunt setate default in debian. Desigur puteti modifica fisierul si sa incarcati alte module sau sa va setati alti parametrii. ( lighttpd.conf sample )
Domenii virtuale
Dorim sa avem doua domenii hostate de catre lighttpd
? www.server1.com
? www.server2.com
In primul rand trebuie sa cream directoarele pentru fiecare domeniu
# mkdir -p /var/www/server1.com/http
# mkdir -p /var/www/server2.com/http
# chown -R www-data:www-data /var/www/server1.com/http
# chown -R www-data:www-data /var/www/server2.com/http
Deasemenea avem nevoie de loguri pentru fiecare domeniu in parte:
# mkdir /var/log/lighttpd/server1.com
# mkdir /var/log/lighttpd/server2.com
Permitem ca logurile sa fie create de catre web-server
# chown -R www-data:www-data /var/log/lighttpd
Editam lighttpd.conf pentru a schimba calea default astfel incat domeniile noastre sa nu fie vizibile:
server.document-root = "/var/www/html"
Adaugam suportul pentru domeniul server1.com
$HTTP["host"] =~ "(^|.)server1.com$" {
server.document-root = "/var/www/server1.com/http"
server.errorlog = "/var/log/lighttpd/server1.com/error.log"
accesslog.filename = "/var/log/lighttpd/server1.com/access.log"
server.error-handler-404 = "/e404.php"
}
La fel se face si pentru server2.com
$HTTP["host"] =~ "(^|.)server2.com$" {
server.document-root = "/var/www/server2.com/http"
server.errorlog = "/var/log/lighttpd/server2.com/error.log"
accesslog.filename = "/var/log/lighttpd/server2.com/access.log"
server.error-handler-404 = "/e404.php"
}
Protejarea directoarelor cu parola
e face cu ajutorul modului mod_auth
1. Domeniu: server1.com
2. Directorul pe care vrem sa-l protejam cu o parola: /var/www/server1.com/html/docs
3. Username: wonder
4. Fisierul unde pastram userii si parolele /var/www/.lighttpdpassword
Acest ultimul fisier este bine sa-l punem infara directorului unde stocam default pagina aceea fiind /var/www/html
Activam modul auth:
# lighty-enable-mod auth
Adaugam:
# vi /etc/lighttpd/conf-enabled/10-auth.conf
auth.debug = 2
auth.backend = “plain”
auth.backend.plain.userfile = “/var/www/.lighttpdpassword”
Dupa care o sa setam lighttp pentru a seta directorul /docs/ sa fie protejat cu parola
# vi /etc/lighttpd/lighttpd.conf
$HTTP[”host”] =~ “(^|.)server1.com$” {
server.document-root = “/var/www/server1.com/http”
server.errorlog = “/var/log/lighttpd/server1.com/error.log”
accesslog.filename = “/var/log/lighttpd/server1.com/access.log”
server.error-handler-404 = “/e404.php”
auth.require = ( “/docs/” =>
(
“method” => “basic”,
“realm” => “Password protected area”,
“require” => “user=wonder”
)
)
}
Cream fisierul unde retinem parolele de forma user:parola
# vi /var/ww/.lighttpdpassword
wonder:parolamea
Apoi vrem sa fim siguri ca este citit doar de lighttpd
# chown www-data:www-data /var/www/.lighttpdpassword
Restartam
# /etc/init.d/lighttpd restart
Testare
Deschideti in browser http://server1.com/docs.
Ar trebuii sa va ceara user si parola !