Chapter 23. Il server web Apache

Table of Contents

23.1. I principi
23.2. Configurare il server HTTP con
23.3. Moduli Apache
23.4. Cos'è un thread?
23.5. Installazione
23.6. Configurazione
23.7. Apache in azione
23.8. Contenuti dinamici
23.9. Host virtuali
23.10. Sicurezza
23.11. Come risolvere possibili problemi
23.12. Ulteriore documentazione

Abstract

In questo capitolo tratteremo il server web Apache. Oltre a indicazioni riguardanti l'installazione e la configurazione descriveremo alcuni moduli. Verranno trattate brevemente anche le varianti per host virtuali.

23.1. I principi

Con una quota di mercato di oltre il 60 % (fonte http://www.netcraft.com) Apache è il server web più diffuso al mondo. Spesso Apache viene utilizzato a fianco di Linux, del database MySQL e dei linguaggi di programmazione PHP e Perl per la messa a punto di applicazioni web. Per tale combinazione è stata forgiata l'abbreviazione LAMP.

23.1.1. Server web

Il server web fornisce su richiesta pagine HTML ad un client. Queste pagine possono trovarsi in una directory del server (cosiddette pagine passive o statiche) oppure venire generate in risposta ad una richiesta (contenuti attivi).

23.1.2. HTTP

Spesso i client sono dei browser web come Konqueror o Mozilla. Il browser e il server web comunicano tramite l'H yper Text Transfer Protocol (HTTP). (La documentazione relativa all'attuale versione HTTP 1.1 e reperibile nell' RFC 2068 così come nell'RFC update 2616. Gli RFC sono li trovate al seguente indirizzo URL: http://www.w3.org

23.1.3. Le URL

Tramite una URL il client richiede una pagina a un server. Un esempio: http://www.suse.de/index.html Una URL è composta da:

Protocollo

I protocolli di maggior diffusione:

  • http:// Il protocollo HTTP.

  • https:// La versione sicura e cifrata di HTTP.

  • ftp:// File Transfer Protocol, per il download e l'upload di file.

Dominio

Un dominio, in questo caso www.suse.de. Il dominio è composto a sua volta da una prima parte (www che rimanda ad un computer, e da una seconda parte suse.de che rappresenta il dominio vero e proprio. La prima parte e la seconda parte compongono insieme il Fully Qualified Domain Name (spesso abbreviato con FQDN) che in italiano potremmo chiamare: nome di dominio completo.

Risorsa

Una risorsa, in questo caso index.html. Questa sezione indica il percorso completo della risorsa. Una risorsa può essere un file, come nel nostro esempio, oppure uno script CGI, una Java server page etc.

L'inoltro della richiesta rivolta al dominio www.suse.com/it viene realizzato dai relativi meccanismi dell' Internet (p.es.Domain Name System, DNS), che inoltrano la richiesta di accesso al dominio ad uno o più sistemi di competenza. Apache fornisce poi la risorsa, nel nostro caso si tratta semplicemente della pagina index.html presa dalla sua directory dei file. In questo caso il file si trova nel primo livello della directory ma potrebbe trovarsi anche in una sottodirectory, ad esempio http://www.suse.de/it/index.html

Il percorso del file viene specificato nella cosiddetta DocumentRoot che può essere modificato nei file di configurazione, come descritto nella sezione Section 23.6.2.2, “DocumentRoot”.

23.1.4. Output automatico della pagina di default

Quando non vi è alcuna indicazione per la pagina, Apache aggiunge automaticamente all'URL una indicazione molto diffusa per le pagine. index.html è l'indicazione più diffusa in questo contesto. Chiaramente potrete impostare se Apache debba servirsi di questo automatismo, e stabilire quali pagine includere, procedimento che viene descritto nella sezione Section 23.6.2.8, “DirectoryIndex”. Nel nostro esempio, immettendo http://www.suse.com/it il server fornirà la pagina http://www.suse.com/it/index.html.