Lighttpd

Linux.fista
Versio hetkellä 28. joulukuuta 2007 kello 22.51 – tehnyt Jarkko (keskustelu | muokkaukset) (→‎Salasana suojatut hakemistot: kh)
Siirry navigaatioon Siirry hakuun

Lighttpd, puhekielessä "Lighty", on kevyt vaihtoehto Apachelle http-palvelimiin joissa ei ole tarvetta Apachen hurjalle ominaisuuskirjolle.

Asennus

Lighttpd ölytyy useimpien jakeluiden paketinhallinnasta. Esimerkiksi Debianissa ja Ubuntussa asennus onnistuisi komennolla

# apt-get install lighttpd

PHP

Dynaamisten sivujen käyttö on mahdollista FastCGI:n ja PHP:n avulla. Aluksi on asennettava PHP:n CGI-versio, joka esimerkiksi Debianissa ja Ubuntussa löytyisi paketista php5-cgi ja asennettaisiin komennolla

# apt-get install php5-cgi

Seuraavaksi on lisättävä tiedoston /etc/lighttpd/lighttpd.conf server.modules-listaan "mod_fastcgi".

Samaan tiedostoon on myös lisättävä seuraavat rivit (tai muokkatava ne tähän muotoon jos tämänkaltaiset rivit jo löytyvät tiedostosta):

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

fastcgi.server = ( ".php" => ((
					"bin-path" => "/usr/bin/php5-cgi",
					"socket" => "/tmp/php.socket"
				))
				)

Lopuksi tallennetaan muutokset ja käynnistä palvelin uudelleen komennolla

# /etc/init.d/lighttpd restart

Salasanasuojatut hakemistot

Myös Lighttpd:ssä voi suojata hakemistoja Apachen tapaan. Koska emme halua tallentaa salasanoja selväkielisenä, lainaamme Apachen työkaluista htdigestiä. Asennetaan ensin Apachen työkalut, jotka löytyvät esimerkiksi Debianissa ja Ubuntussa paketista apache2-utils:

# apt-get install apache2-utils

Seuraavaksi luodaan haluttu tunnus, salasana ja realm, jossa se on voimassa:

# htdigest -c /etc/lighttpd/.lighttpdpassword 'Authorized users only' tunnus

Ja lisätään tiedoston /etc/lighttpd/lighttpd.conf server.modules-listaan "mod_auth", ja samaan tiedostoon johonkin kohtaan vielä seuraavat määritykset:

# mod_auth
auth.debug = 2
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.lighttpdpassword"

auth.require = ( "/secret/" =>
(
"method" => "digest",
"realm" => "Authorized users only",
"require" => "valid-user"
))

Jossa "/secret/" on hakemisto palvelimen juurihakemiston (document-root:n) suhteen ja johon pääsemiseksi vaaditaan salasana.

Tallenna muutokset ja käynnistä palvelin uudelleen.

SSL

Koska salasanasuojaus on hieman kyseenalainen, mikäli salasanat lähetetään Internetin läpi selkokielisenä joten asetetaan vielä SSL-salaus.

Asenna openssl-paketti, mikäli se ei ole jo valmiina jonkin toisen paketin riippuvuutena. Esimerkiksi Debianissa ja Ubuntussa komennolla

# apt-get install openssl

Luodaan seuraavfaksi sertifikaatti, joka voimassa 365 vuorokautta:

# mkdir /etc/lighttpd/ssl/
# openssl req -new -x509 -keyout /etc/lighttpd/ssl/esimerkkinimi.pem -out /etc/lighttpd/ssl/esimerkkinimi.pem -days 365 -nodes

Vastaile kysymyksiin mitä haluat. Itse luodussa sertifikaatissa niillä ei ole juuri merkitystä.

Lisää lopuksi /etc/lighttpd/lighttpd.conf-tiedostoon rivit:

# SSL
$SERVER["socket"]== "<ip-osoite tai hostname tähän!>:443" {
server.document-root = "/var/www"
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/esimerkkinimi.pem"
}

Ja taas asetukset tulevat voimaan vasta palvelimen uudelleenkäynnistyksen jälkeen.

Nyt sivut pitäisi näkyä myös osoitteessa https://localhost/

Katso myös

Aiheesta muualla