Revision 6 as of 2007-12-28 16:38:35

Clear message

Lighttpd - Kevyt http-palvelin

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

Asennus

Asennus tapahtuu normaalisti apt-getillä.

PHP

Dynaamisten sivujen käyttö on mahdollista FastCGI:n avulla.

  1. Asennetaan php5:n cgi-versio.
    # apt-get install php5-cgi
  2. Lisää tiedoston /etc/lighttpd/lighttpd.conf server.modules -listaan "mod_fastcgi".

  3. Muokkaa / lisää samaan tiedostoon seuraavat rivit:
    ##
    # 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"
                     ))
                    )
  4. Tallenna muutokset ja käynnistä palvelin uudelleen.
    # /etc/init.d/lighttpd restart

Salasana suojatut hakemistot

Myös Lighttpd:ssä voi suojata hakemistoja Apachen tapaan.

  1. Koska emme halua tallentaa salasanoja selväkielisenä, joten lainataan Apachen työkaluista htdigestiä.
    # apt-get install apache2-utils
  2. Luodaan haluttu tunnus, salasana ja realm (Authorized users only) jossa se on voimassa.
    # htdigest -c /etc/lighttpd/.lighttpdpassword 'Authorized users only' tunnus
  3. Lisää /etc/lighttpd/lighttpd.conf server.modules -listaan "mod_auth".

  4. Ja johonkin kohtaan vielä 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 document-root:n alla johon pääsemiseksi vaaditaan salasana.
  5. Tallenna muutokset ja käynnistä palvelin uudelleen.

SSL

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

  1. Asenna openssl-paketti, mikäli se ei ole jo valmiina jonkin toisen paketin riippuvuutena.
    # apt-get install openssl
  2. Luodaan certifikaatti 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 certifikaatissa niillä ei ole niin merkitystä.
  3. Lisää /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"
    }
  4. Ja taas asetukset tulevat voimaan vasta palvelimen uudelleenkäynnistyksen jälkeen.

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

Linkkejä