10.5. Direttive di configurazione in httpd.conf

Il file di configurazione di Server HTTP Apache è /etc/httpd/conf/httpd.conf. Il file httpd.conf é ben commentato che, in un certo senso, si spiega da solo. La sua configurazione di default si adatta bene a molteplici situazioni, anche se è comunque necessario acquisire familiarità con alcune delle più importanti opzioni di configurazione.

AttenzioneAvvertenza
 

Con la versione 2.0 di Server HTTP Apache, molte opzioni di configurazione sono state modificate. Se dovete migrare un file di configurazione della versione 1.3 al nuovo formato, consultate la Sezione 10.2.

10.5.1. Suggerimenti generali di configurazione

Se avete necessità di configurare Server HTTP Apache, modificate /etc/httpd/conf/httpd.conf e ricaricate, riavviate oppure spegnete e riavviate, il processo httpd. Per informazioni su come ricaricare, chiudere e avviare Server HTTP Apache, consultate la Sezione 10.4.

Prima di modificare httpd.conf si consiglia di fare una copia del file originale. Creando un backup, infatti, è possibile rimediare a eventuali errori commessi durante la modifica del nuovo file di configurazione.

Se viene commesso un errore e il Web server non funziona correttamente, rivisionare prima i precedenti passaggi in httpd.conf in modo tale da verificare che non ci siano errori di battitura.

Successivamente controllare il "log error" del server, /var/log/httpd/error_log. Il log error puó essere non semplice da interpretare, dipende dal livello di esperienza. Se avete dei problemi, le ultime entry nel log error, dovrebbero fornire informazioni utili inerenti a ció che é accaduto.

Nelle sezioni che seguono, troverete una breve descrizione delle direttive incluse in httpd.conf. Tali descrizioni non sono approfondite. Per reperire maggiori informazioni potete consultare la relativa documentazione, disponibile in formato HTML all'indirizzo http://localhoast/manual/ oppure nel sito Apache all'indirizzo http://httpd.apache.org/docs-2.0/.

Per ulteriori dettagli sulle direttive mod_ssl, consultate la documentazione disponibile all'indirizzo http://localhost/mod/mod_ssl.html oppure nel sito Apache all'indirizzo http://httpd.apache.org/docs-2.0/mod/mod_ssl.html.

10.5.2. ServerRoot

ServerRoot è la directory di livello superiore che contiene i file del server. Entrambi i server (sicuro e non sicuro) sono impostati per utilizzare ServerRoot di "/etc/httpd".

10.5.3. ScoreBoardFile

ScoreBoardFile immagazzina le informazioni interne del processo server, utilizzate per la comunicazione tra il processo padre e i processi figli. Red Hat Linux si serve della memoria condivisa per memorizzare il comando ScoreBoardFile; mentre il valore predefinito di /etc/httpd/logs/apache_runtime_status viene utilizzato solo come ripiego.

10.5.4. PidFile

PidFile nomina il file nel quale è memorizzato il PID (ID del processo). Per default il PID viene memorizzato nella directory /var/run/httpd.pid.

10.5.5. Timeout

Timeout definisce, in secondi, quanto tempo aspetta il server per la ricezione e la trasmissione durante la comunicazione. In particolare, definisce quanto tempo trascorre prima che il server riceva una richiesta GET e prima che riceva pacchetti TCP su richiesta POST o PUT, nonché il tempo di attesa perché gli ACK rispondano ai pacchetti TCP. Timeout è impostato per attendere 300 secondi, ossia il tempo adeguato per la maggior parte delle situazioni.

10.5.6. KeepAlive

KeepAlive stabilisce se il server consentirà più di una richiesta per connessione e puó essere usato per evitare che un client utilizzi troppe risorse del server.

Per default, Keepalive è impostato su off. Se è impostato su on e il server è particolarmente occupato, il server può produrre rapidamente il numero più elevato di processi figli. In tal caso, il server diventa piuttosto lento. Se abilitate Keepalive, dovete impostare il KeepAliveTimeout (vedere la Sezione 10.5.8 per maggiori informazioni sulle direttive KeepAliveTimeout) su valori bassi e controllare i server /var/log/httpd/error_log. Questo file di log vi consente di sapere se il server è carente di processi figli.

10.5.7. MaxKeepAliveRequests

La direttiva imposta il numero massimo di richieste accettate su ogni connessione persistente. Il team di sviluppo di Apache consiglia di impostare un valore alto, al fine di migliorare le prestazioni del server. MaxKeepAliveRequests è impostato per default su 100, un valore che si adatta alla maggior parte delle possibili situazioni.

10.5.8. KeepAliveTimeout

KeepAliveTimeout imposta (in secondi) il tempo durante il quale il server attende una nuova richiesta prima di chiudere la connessione. Una volta ricevuta la richiesta, si applica invece la direttiva Timeout. KeepAliveTimeout é impostato per default su 15 secondi.

10.5.9. MinSpareServers e MaxSpareServers

Server HTTP Apache si adatta dinamicamente al carico di lavoro mantenendo un numero appropriato di processi di riserva del server, a seconda del traffico. Viene eseguita la verifica del numero di server in attesa di richiesta che vengono eliminati se superano il valore di MaxSpareServers oppure vengono creati se sono inferiori al valore di MinSpareServers.

Il valore di default di MinSpareServers è 5, mentre quello di MaxSpareServers è 20. Queste impostazioni di default sono adatte alla maggior parte delle possibili situazioni. Si consiglia di non aumentare troppo il valore di MinSpareServers, poiché si rischia di sovraccaricare il server quando il traffico non è eccessivo.

10.5.10. StartServers

StartServers imposta il numero di processi server che devono essere creati all'avvio del servizio. Poiché il Web server elimina o crea dinamicamente i processi server in funzione del traffico, non è necessario cambiare questo parametro. Il vostro Web server è impostato per far partire 8 processi all'avvio.

10.5.11. MaxClients

MaxClients imposta un limite per il numero totale di processi server, e quindi anche di client connessi contemporaneamente, in esecuzione. Si consiglia di mantenere alto questo valore, per server molto occupati. La ragione principale per cui conviene limitare il numero di connessioni simultanee è quella di evitare che si verifichi un crash del sistema operativo. Non é consigliato che il valore di MaxClients ecceda 256.

10.5.12. MaxRequestsPerChild

MaxRequestsPerChild imposta il numero massimo di richieste che ogni processo figlio può gestire prima che sia eliminato. Lo scopo principale di MaxRequestsPerChild è quello di evitare che un processo rimanga in esecuzione troppo a lungo, occupando un'eccessiva quantità di memoria. Il valore di default è 1000.

10.5.13. Listen

The Listen specifica su quale porta il Web server riceve le richieste. Per default il server Web attende le richieste sulla porta 80 per la comunicazione Web non sicura e (nel /etc/httpd/conf.d/ssl.conf che definiscono i server sicuri) sulla porta 443 per la comunicazione sicura.

Se impostate Server HTTP Apache in ascolto su una porta inferiore alla 1024, dovete eseguire il processo httpd come root. Per le porte superiori alla 1024, potete eseguirlo come un utente normale.

The Listen può inoltre essere usato per specificare particolari indirizzi IP dai quali il server accetta le connessioni.

10.5.14. Include

Include consente ad altri file di configurazione di essere inclusi in fase di runtime.

Per percorso per questi file di configurazione può essere assoluto o relativo per il comando ServerRoot.

ImportanteImportante
 

Perché il server utilizzi moduli in singoli pacchetti, come mod_ssl, mod_perl e php, la direttiva riportata di seguito deve trovarsi in Section 1: Global Environment del file http.conf:

Include conf.d/*.conf

10.5.15. LoadModule

LoadModule è utilizzata per caricare i moduli Dynamic Shared Object (DSO, oggetti condivisi dinamicamente). Maggiori informazioni sul supporto DSO di Server HTTP Apache e sull'esatto modo di impiego della direttiva LoadModule sono disponibili nel la Sezione 10.7. L'ordine di caricamento dei moduli non è più importante in Server HTTP Apache 2.0. Per ulteriori informazioni sul supporto di Server HTTP Apache 2.0 per il DSO, consultate la Sezione 10.2.1.3.

10.5.16. ExtendedStatus

La ExtendedStatus direttiva controlla se Apache genera informazioni di base (off) sullo stato del server oppure informazioni dettagliate (on), quando viene chiamato server-status. Il Server-status viene chiamato usando i tag Location. Per maggiori informazioni sulla chiamata server-status sono incluse in la Sezione 10.5.63.

10.5.17. IfDefine

I tag <IfDefine> e </IfDefine> utilizzano le direttive di configurazione specificate al loro interno se nel primo tag la definizione "test" risulta essere vera. Le direttive vengono ignorate se il test è falso.

Il test nei tag <IfDefine> è il nome di un parametro (per esempio, HAVE_PERL). Se il parametro è definito (ossia viene fornito come argomento del comando dell'avvio del server), allora il test è "vero". In questo caso il Web server viene attivato e le direttive contenute nei tag IfDefine vengono applicate.

I tag <IfDefine HAVE_SSL> contengono per default la configurazione dell'host virtuale per il Web server sicuro. I tag <IfDefine HAVE_SSL> contengono anche le direttive LoadModule e AddModule per il modulo ssl_module.

10.5.18. User

La direttiva User imposta il nome utente del processo del server e determina a quale file il server é abilitato ad accedere. Qualsiasi file non accessibile a questo utente sono inaccessibili ai client che si collegano all'Server HTTP Apache.

L'utente di default per User è apache.

NotaNota Bene
 

Per ragioni di sicurezza, l'Server HTTP Apache non funzionerá come utente root.

10.5.19. Group

Specifica il nome del gruppo dei processi Server HTTP Apache.

Per default Group é impostato su apache.

10.5.20. ServerAdmin

Set the ServerAdmin è l'indirizzo di posta elettronica dell'amministratore del Web server. Questo indirizzo di posta elettronica appare nei messaggi di errore delle pagine Web generate dal server, in modo che gli utenti possano riferire eventuali problemi inviando un messaggio all'amministratore del server.

Per default, ServerAdmin é impostato su root@localhost.

Normalmente alla direttiva ServerAdmin viene attribuito il valore webmaster@your_domain.com. Assegnate dunque l'alias webmaster alla persona responsabile del Web server nel file /etc/aliases. Infine, eseguite /usr/bin/newaliases.

10.5.21. ServerName

Potete usare la direttiva ServerName per attribuire un nome host e un numero di porta (corrispondenti alla direttiva Listen) per il server. Il ServerName non deve corrispondere al nome reale del computer host. Per esempio, il Web server puó essere www.example.com ma il nome reale del server é foo.example.com. Il valore specificato in ServerName deve essere un Domain Name Service (DNS) valido, affinché tutto funzioni correttamente (evitate di inserire nomi inventati).

Di seguito viene riportato un esempio di direttiva ServerName:

ServerName www.example.com:80

Se specificate un ServerName, accertatevi che nel file /etc/hosts esista una corrispondenza tra indirizzo IP e nome del server.

10.5.22. UseCanonicalName

Quando impostato su on, questa direttiva configura il Server HTTP Apache a farsi riferimento usando il valora specificato nelle directory ServerName e Port. Quando UseCanonicalName é impostato su off, il server userá invece il valore usato dal client richiedente.

UseCanonicalName é impostato per default su off.

10.5.23. DocumentRoot

DocumentRoot è la directory che contiene la maggior parte dei file HTML in risposta alle richieste. La directory DocumentRoot di default per entrambi i Web server (sicuro e non sicuro) è /var/www/html. Per esempio, il Web server può ricevere una richiesta per il documento seguente:

http://example.com/foo.html

Il server cercherà il file riportato di seguito nella directory di default:

/var/www/html/foo.html

Se desiderate modificare la direttiva DocumentRoot in modo che non sia condivisa dal Web server non sicuro e da quello sicuro, consultate la Sezione 10.8.

10.5.24. Directory

I tag <Directory /path/to/directory> e </Directory> creano ció che viene riferito come un "container", e sono usati per raggruppare un insieme di direttive di configurazione da applicare solo a una particolare directory e a tutte le sue sottodirectory. Tutte le direttive applicabili a una directory possono essere usate all'interno dei tag <Directory>.

Per default, alla directory root (/), vengono applicati i parametri più restrittivi, tramite le direttive Options (consultate la Sezione 10.5.25) e AllowOverride (consultate la Sezione 10.5.26). Con questa configurazione, alle directory che necessitano di impostazioni meno restrittive devono essere assegnate in modo esplicito quelle impostazioni.

Nella configurazione predefinita, un'altra Directory é configurata per il DocumentRoot la quale assegna un minor numero di parametri rigidi all'albero della directory in modo tale che Server HTTP Apache possa accedere ai file presenti.

La Directory puó essere usata per configurare directory cgi-bin aggiuntive per applicazioni dalla parte del server, al di fuori della directory specificata nella direttiva ScriptAlias (consultate la Sezione 10.5.44 per maggiori informazioni inerenti la direttiva ScriptAlias).

Per fare questo, il "cotainer" Directory deve impostare l'opzione ExecCGI per quella directory.

Per esempio, se gli script sono posizionati in /home/my_cgi_directory, aggiungere Directory al file httpd.conf:

<Directory /home/my_cgi_directory>
    Options +ExecCGI
</Directory>

Successivamente, la direttiva AddHandler non deve essere commentata per identificare i file con l'estensione .cgi come script CGI. Vedere la Sezione 10.5.59 per istruzioni su come impostare AddHandler.

Per fare ció, i permessi per gli script CGI, e l'intero percorso per gli script, deve essere impostato su 0755.

10.5.25. Options

La direttiva Options verifica le caratteristiche del server disponibili in una particolare directory. Per esempio, con i parametri restrittivi specificati per la directory root, la direttiva Options è impostata solo per FollowSymLinks: quindi non sono autorizzate altre caratteristiche, tranne quella che consente al server di seguire i link simbolici nella directory root.

Per default, nella directory DocumentRoot, la direttiva Options è configurata per contenere Indexes, Includes e FollowSymLinks. Indexes permette al server di generare un elenco di directory per una directory, se non è specificata alcuna direttiva DirectoryIndex (per esempio: index.html). FollowSymLinks consente al server di seguire i link simbolici in questa directory.

NotaNota Bene
 

Options dalla sezione di configurazione del server principale, deve essere replicato individualmente su ogni "cotainer" VirtualHost. Consultate la Sezione 10.5.69 per maggiori informazioni sui contenitori VirtualHost.

10.5.26. AllowOverride

La direttiva AllowOverride consente di stabilire se le Options possono essere ridefinite dalle dichiarazioni presenti in un file .htaccess. Per default, sia nella directory root, sia nella directory DocumentRoot non è permesso sovrascrivere il file .htaccess.

10.5.27. Order

La direttiva Order controlla l'ordine con il quale le direttive allow e deny sono valutate. Il server viene configurato per valutare le direttive Allow prima delle direttive Deny per la direttiva DocumentRoot.

10.5.28. Allow

Allow specifica quali richieste possono accedere a una determinata directory. Il campo richiedente può essere all, un nome di dominio, un indirizzo IP, una parte dell'indirizzo IP, una coppia rete/netmask e così via. La directory DocumentRoot è configurata per Allow "permettere" l'accesso da all (ossia da tutti i client).

10.5.29. Deny

Deny funziona esattamente come allow, ma specifica quali accessi negare. Per default, la vostra DocumentRoot non è configurata per Deny "negare" alcuna richiesta.

10.5.30. UserDir

UserDir è il nome di una sottodirectory all'interno di ogni home directory dell'utente, in cui vanno collocati i file HTML personali che il Web server utilizza. Questa direttiva é impostata per default su disable.

Per default, la sottodirectory è public_html. Per esempio, il server può ricevere la richiesta seguente:

http://example.com/~username/foo.html

Il server cerca il file:

/home/username/public_html/foo.html

Nell'esempio precedente /home/username è la home directory dell'utente (ovviamente il percorso di default della directory home può essere diverso sul vostro sistema).

Assicuratevi che i permessi della directory home dell'utente siano corretti. L'impostazione esatta è 0711. È necessario attivare i bit di lettura (r) e di esecuzione (x) nella directory public_html (anche 0755 funziona correttamente). I file presenti in questa directory devono essere impostati almeno su 0644.

10.5.31. DirectoryIndex

La direttiva DirectoryIndex è la pagina predefinita che viene restituita al client quando un utente richiede l'indice di una directory, specificando uno slash (/) dopo il nome della directory.

Quando un utente richiede la pagina http://esempio/questa_directory/, riceve la pagina DirectoryIndex, se presente, o un elenco di directory generato dal server. La configurazione di default di DirectoryIndex è index.html ed il tipo mappato index.html.var. Il server cerca di individuare uno di questi file e restituisce il primo file che trova. Se non trova nessun file, e per questa directory è impostata la direttiva Options Indexes, il server genera e restituisce un elenco delle sottodirectory e dei file contenuti nella directory in formato HTML, all'interno della directory, se il contenuto elencato della directory, non viene impostato su off.

10.5.32. AccessFileName

AccessFileName attribuisce un nome al file che il server utilizza per accedere alle informazioni di controllo in ogni directory. IL default é .htaccess.

Immediatamente dopo la direttiva AccessFileName, una serie di tag Files controlla l'accesso ai file che iniziano con .ht. Per ragioni di sicurezza queste direttive negano l'accesso Web a qualunque file .htaccess (o a qualunque altro file che inizi con .ht).

10.5.33. CacheNegotiatedDocs

Per default, il Web server chiede ai server proxy di non conservare nella cache i documenti trasmessi in base al contenuto (ovvero quei documenti che potrebbero essere modificati mediante l'inserimento del richiedente). Se CacheNegotiatedDocs é impostato su on, viene disabilitata questa funzione e i server proxy sono autorizzati a conservare i documenti nella cache.

10.5.34. TypesConfig

TypesConfig definisce il nome del file che imposta le mappature dell'elenco predefinito dei tipi MIME (le estensioni dei file per i tipi di contenuto). Il file TypesConfig di default è /etc/mime.types. Invece di modificare questo file, si consiglia di aggiungere i tipi MIME tramite la direttiva AddType.

Per maggiori informazioni su questa direttiva, consultate la Sezione 10.5.58.

10.5.35. DefaultType

DefaultType definisce il tipo MIME di default per i documenti non riconosciuti. Il default é text/plain.

10.5.36. IfModule

I tag <IfModule> e </IfModule> creano la direttiva condizionale che viene attivata solo se il modulo specificato é montato. Le direttive presenti all'interno dei tag IfModule vengono elaborate solo a una di queste due condizioni: se il modulo specificato all'interno del tag <IfModule> è caricato. O se un punto esclamativo [!] è inserito prima del nome del modulo oppure solo se il modulo non è compilato nel primo tag <IfModule>.

Per maggiori informazioni inerenti i moduli Server HTTP Apache, consultare la Sezione 10.7.

10.5.37. HostnameLookups

HostnameLookups puó essere impostato su on, off o double. Se HostnameLookups é impostato su on, il server automaticamente resolve l'indirizzo IP per ogni collegamento. Risolvere l;indirizzo IP significa che il server effettua uno o piú collegamenti ad un server DNS, aggiungendo l'elaborazione overhead. Se HostnameLookups é impostato su double, il server effettua un look up DNS inverso doppio, aggiungendo piú elaborazione overhead.

Per conservare risorse sul server, per default impostate HostnameLookups su off.

Se desiderate vedere gli hostname nei vostri file di log, dovreste eseguire uno dei tanti tool di analisi dei log in grado di effettuare lookup DNS in modo più efficiente e su scala più ampia nel momento in cui ruotate i file di log.

10.5.38. ErrorLog

ErrorLog specifica il nome del file dove vengono registrati tutti gli errori del server. Per default, il file di log degli errori è /var/log/httpd/error_log.

10.5.39. LogLevel

LogLevel definisce il livello di dettaglio dei messaggi d'errore registrati nel file di log. LogLevel può essere impostato (dal più dettagliato al meno dettagliato) suemerg, alert, crit, error, warn, notice, info o debug. Per default, è impostato su warn.

10.5.40. LogFormat

La direttiva LogFormat configura il formato dei diversi file log del Web server. La direttiva LogFormat che verrà utilizzata dipende dalle impostazioni attribuite nella direttiva CustomLog (consultate la Sezione 10.5.41).

Le seguenti, sono delle opzioni del formato se la direttiva CustomLog é impostata su combined:

%h (indirizzo IP dell'host remoto oppure hostname)

Elenca l'indirizzo IP remoto del client richiedente. Se HostnameLookups é impostato su on, l'hostname del client, se disponibile dal DNS, viene registrato.

%l (rfc931)

Non usato. Un trattino [-] viene visualizzato nel file log per questo campo.

%u (utente autenticato)

Se l'autenticazione fosse richiesta, elenca il nome utente dell'utente memorizzato. Generalmente, non é usato, quindi un trattino [-] viene visualizzato nel file log per questo campo.

%t (data)

Elenca la data e l'orario della richiesta.

%r (riga di richiesta)

Elenca la riga di richiesta esattamente come arriva dal browser o dal client.

%s (stato)

Elenca il codice dello stato HTTP ritornato all'host del client.

%b (byte)

Elenca la misura del documento.

%\"%{Referer}i\" (referenza)

Elenca l'URL della pagina web riferita all'host del client per il Web server.

%\"%{User-Agent}i\" (utente-agent)

Elenca il tipo di browser web che effettua la richiesta.

10.5.41. CustomLog

CustomLog indica il file di log e il suo formato. Nella configurazione di default, il file di log é registrato sul file /var/log/httpd/access_log.

Il formato CustomLog é combined. Di seguito viene riportato il formato del filee log combined:

remotehost rfc931 user date "request" status bytes referrer user-agent

10.5.42. ServerSignature

La direttiva ServerSignature aggiunge una linea contenente la versione del server Server HTTP Apache e il ServerName del server host a qualsiasi documento generato dal server (per esempio, i messaggi di errore rispediti ai client). Per default, ServerSignature è impostato su on.

Se non volete aggiungere queste informazioni, impostatelo su off. Potete anche impostarlo su EMail. In tal caso verrà aggiunto un tag HTML mailto:ServerAdmin.

10.5.43. Alias

L'impostazione Alias consente alle directory di trovarsi al di fuori di DocumentRoot pur essendo comunque accessibili dal Web server. Qualunque URL che termina con l'alias viene automaticamente risolto nel percorso dell'alias. Per default, é giá presente un alias per la directory icons. Un Web server puó accedere a tale directory, ma essa non é nel DocumentRoot.

10.5.44. ScriptAlias

L'impostazione ScriptAlias definisce dove sono localizzati gli script CGI (o gli altri tipi di script). Normalmente è meglio non lasciare gli script CGI all'interno di DocumentRoot, poiché potrebbero essere visualizzati come documenti di testo.Per questa ragione, una directory speciale, esterna alla directory DocumentRoot contenente gli eseguibili e gli script del server, é ideata dalla direttiva ScriptAlias. Questa directory é conosciuta come cgi-bin e impostata per default su /var/www/cgi-bin/.

É possibile creare le directory per memorizzare gli eseguibili esternamente alla directory cgi-bin. Per informazioni su quanto sopra, consultare la Sezione 10.5.59 and la Sezione 10.5.24.

10.5.45. Redirect

Quando una pagina Web viene spostata, la direttiva Redirect può essere utilizzata per rimappare il vecchio URL con quello nuovo. Il formato è il seguente:

Redirect /<old-path>/<file-name> http://<current-domain>/<current-path>/<file-name>

In questo esempio, sostituire <percorso-vecchio> con le informazioni del percorso vecchio per <nome-file> e <dominio-corrente> e <percorso-corrente> con le informazioni correnti del dominio e percorso per <nome-file>.

In questo esempio, qualsiasi richiesta per <nome-file> nella vecchia posizione, é automaticamente ridiretta nella nuova posizione.

Per tecniche piú avanzate di ridirezione, usare il modulo mod_rewrite incluso con il Server HTTP Apache. Per maggiori informazioni inerenti la configurazione del modulo mod_rewrite, consultare la documentazione online di Apache Software Foundation http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html.

10.5.46. IndexOptions

IndexOptions controlla l'aspetto degli elenchi delle directory generati dal server aggiungendo icone e descrizioni dei file e così via. Se è impostata la direttiva Options Indexes (consultate la Sezione 10.5.25), il Web server genera un elenco delle directory quando riceve una richiesta HTTP senza un indice.

Innanzitutto, il Web server cerca nella directory uno dei file specificati con la direttiva DirectoryIndex (di solito, index.html). Se non viene trovato un file index.html, Server HTTP Apache crea una directory HTML che elenca le directory richieste. L'aspetto di questa directory é controllato, in parte, dalla direttiva IndexOptions.

La configurazione di default imposta FancyIndexing su on. Questo significa che un utente puó riordinare un elenco della directory, facendo clic sulle intestazioni della colonna. Con un altro clic sulla stessa intestazione si inverte l'ordine da ascendente a discendente. FancyIndexing visualizza un'icona diversa per ogni tipo di file, a seconda dell'estensione.

Se utilizzate la direttiva AddDescription e attivate FancyIndexing, viene visualizzata una breve descrizione dei file nell'elenco delle directory generato dal server.

IndexOptions ha vari parametri per selezionare l'aspetto degli elenchi delle directory generati dal server. I parametri possibili sono IconHeight e IconWidth, che permettono al server di includere i tag HEIGHT e WIDTH per le icone delle pagine Web generate dal server. IconsAreLinks gli consente invece di utilizzare le icone come parte del link HTML, insieme al nome del file e così via.

10.5.47. AddIconByEncoding

Questa direttiva associa un'icona a un particolare tipo di file secondo la codifica MIME negli elenchi di directory generati dal server. Per esempio, il Web server mostra, per default, l'icona compressed.gif accanto ai file di tipo x-compress e x-gzip negli elenchi della directory generati dal server.

10.5.48. AddIconByType

Questa direttiva specifica il nome dell'icona da visualizzare accanto al file con il tipo MIME negli elenchi delle directory generati dal server. Per esempio, il vostro server è impostato per visualizzare l'icona text.gif accanto al file con il tipo MIME di testo text, negli elenchi della directory generati dal server.

10.5.49. AddIcon

AddIcon specifica l'icona da visualizzare negli elenchi delle directory generati dal server per certi tipi di file o per i file che hanno determinate estensioni. Per esempio, il vostro Web server è impostato in modo da mostrare l'icona binary.gif per i file con estensione .bin o .exe.

10.5.50. DefaultIcon

DefaultIcon specifica l'icona da visualizzare negli elenchi delle directory generati dal server per i file che non hanno altre icone specificate. Il file d'immagine unknown.gif é il default.

10.5.51. AddDescription

Quando utilizzate FancyIndexing come parametro IndexOptions, la direttiva AddDescription puó essere utilizzata per visualizzare le descrizioni specificate dall'utente, per certi file o tipi di file, negli elenchi della directory generati dal server. La direttiva AddDescription supporta l'elenco di file specifici, espressioni della wildcard, oppure estensioni del file.

10.5.52. ReadmeName

ReadmeName definisce il nome del file (se presente nella directory) che viene aggiunto alla fine degli elenchi delle directory generati dal server. Il Web server cercherà prima di includere il file come documento HTML, poi come file di testo. Nella configurazione di default, ReadmeName è impostato su README.html.

10.5.53. HeaderName

HeaderName specifica il nome del file (se presente nella directory) che viene inserito all'inizio degli elenchi delle directory generati dal server. Come per ReadmeName, il server cerca, se possibile, di includere il file in formato HTML o altrimenti in formato testo.

10.5.54. IndexIgnore

IndexIgnore elenca le estensioni del file, parti di nomi di file, espressioni con asterisco o nomi di file completi. Il Web server non include nessun file che corrisponda a quei parametri negli elenchi delle directory generati dal server.

10.5.55. AddEncoding

AddEncoding definisce le estensioni dei file che hanno una particolare codifica. AddEncoding può essere utilizzato anche per indicare ai browser (non a tutti) di decomprimere certi file mentre vengono scaricati.

10.5.56. AddLanguage

AddLanguage associa l'estensione di un file a una particolare lingua. Questa direttiva è particolarmente utile per Server HTTP Apache, quando il server restituisce un documento in base alla lingua di preferenza del client specificata nel browser.

10.5.57. LanguagePriority

LanguagePriority vi permette di stabilire una lingua prioritaria in caso il browser WEb del client non ha impostato alcuna lingua di preferenza.

10.5.58. AddType

Usate la direttiva AddType per associare un tipo MIME a una estensione di file. Per esempio, se state utilizzando il linguaggio PHP4, il vostro Web server sta utilizzando la direttiva AddType per riconoscere i file con estensione PHP (.php4, .php3, .phtml o .php) come tipi MIME PHP. La seguente direttiva indica a Server HTTP Apache di riconoscere l'estensione .shtml:

AddType text/html .shtml
AddHandler server-parsed .shtml

10.5.59. AddHandler

AddHandler mappa l'estensione di un file per handler specifici. Per esempio, l'handler cgi-script può essere utilizzato in associazione con l'estensione .cgi per trattare un file che termina con .cgi automaticamente come script CGI. Il seguente é un esempio di direttiva AddHandler per l'estensione .cgi.

AddHandler cgi-script .cgi

Questa direttiva abilita CGI a funzionare esternamente cgi-bin, in qualsiasi altra directory sul server che possiede l'opzione ExecCGI all'interno del "cotainer" delle directory. Consultate la Sezione 10.5.24 per maggiori informazioni sull'impostazione dell'opzione ExecCGI per una directory.

Oltre agli script CGI, il vostro Web server utilizza anche AddHandler per elaborare gli HTML e i file imagemap analizzati dal server.

10.5.60. Action

Action specifica un tipo di contenuto MIME e una coppia di script CGI, in questo modo, quando viene richiesto un file di quel tipo viene eseguito un particolare script CGI.

10.5.61. ErrorDocument

La direttiva ErrorDocument associa un codice di risposta HTTP con un messaggio o un URL da ritornare al client. Per default, il Web server emette un output di un messaggio di errore quando si verifica un errore. La direttiva ErrorDocument forza il Web server ad emettere un messaggio personalizzato o a ridirezionare il client ad un URL locale o esterno.

ImportanteImportante
 

È necessario includere il messaggio di errore tra virgolette ["] perché sia valido.

10.5.62. BrowserMatch

La direttiva BrowserMatch consente al server di definire le variabili di ambiente e/o le azioni sulla base del campo dell'intestazione HTTP User-Agent, che identifica il browser del client. Per default, il vostro server Web utilizza BrowserMatch per negare le connessioni a determinati browser con problemi noti e anche per disabilitare i keepalive e i comandi di annullamento delle intestazioni HTTP per i browser che hanno problemi con queste azioni.

10.5.63. Location

I tag <Location> e </Location> vi consentono di specificare il controllo dell'accesso in base all'URL.

Per esempio, per abilitare gli utenti al collegamento dall'interno del dominio del server, per vedere lo stato dei riport, usare le seguenti direttive:

<Location /server-status>
    SetHandler server-status 
    Order deny,allow Deny from all 
    Allow from <.example.com>
</Location>

Dovete sostituire <.example.com> con il nome del dominio di secondo livello.

Se desiderate fornire report sulla configurazione del server (inclusi i moduli installati e le direttive di configurazione) da richiedere all'interno del vostro dominio, usare le seguenti direttive:

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from <.example.com>
</Location>

Ed ancora, sostituite <.example.com> con il nome del dominio di secondo livello per il Web server.

10.5.64. ProxyRequests

Per configurare il Server HTTP Apache a funzionare come un server proxy, rimuovere il simbolo "#" dall'inizio della riga <IfModule mod_proxy.c> per caricare il modulo mod_proxy e impostare la direttiva ProxyRequests su On.

10.5.65. Proxy

I tag <Proxy *> </Proxy> creano un "cotainer" il quale racchiude un gruppo di direttive di configurazione che vengono applicate solo al server proxy. Molte direttive applicabili ad una directory possono essere usate all;interno dei tag <Proxy>.

10.5.66. ProxyVia

Il comando ProxyVia controlla se la linea relativa all'intestazione di HTTP Via: viene inviata con le richieste o le risposte attraverso il server proxy Apache. L'intestazione Via: mostra il nome dell'host se ProxyVia è impostato su On e il nome dell'host e la versione di Server HTTP Apache se è impostato su Full. Qualsiasi linea Via: viene trasmessa senza essere modificata se è impostato su Off e viene invece rimossa se è impostato su Block.

10.5.67. Direttive della cache

Un numero di direttive commentate della cache, sono fornite dal file di configurazione di default Server HTTP Apache. In molti casi non commentare queste righe, per fare ció é sufficiente rimuovere semplicemente il carattere [#] dall'inizio della riga. Il seguente, é un elenco di alcune delle direttive piú importanti relative alla cache.

10.5.68. NameVirtualHost

La direttiva NameVirtualHost associa un indirizzo IP e un numero della porta, se necessario, per ogni host virtuale basato sul nome. La configurazione degli host virtuali basati sul nome, abilita un Server HTTP Apache a servire diversi domini senza usare indirizzi IP multipli.

NotaNota Bene
 

Ogni host virtuale basato sul nome funzionerà solo con connessioni HTTP non sicure, dato che non potete utilizzare host virtuali basati sui nomi con un server sicuro. In questo secondo caso, dovreste utilizzare host virtuali basati su indirizzi IP.

Se usate un host virtuale basato sul nome, eliminate il commento dalla direttiva NameVirtualHost e aggiungete l'indirizzo IP corretto. Poi inserite le informazioni relative ai differenti domini utilizzando i tag Virtual Host per ogni host virtuale.

10.5.69. VirtualHost

I tag <VirtualHost> e </VirtualHost> creano un "container" riportando le caratteristiche dell'host virtuale. Il "container" <VirtualHost> accetta molte direttive di configurazione.

Un set di "container" VirtualHost commentati, viene fornito in httpd.conf, il quale mostra il minimo set di direttive di configurazione necessario per ogni host virtuale. Consultare la Sezione 10.8 per maggiori informazioni inerenti gli host virtuali.

NotaNota Bene
 

Tutto il contesto degli host virtuali SSL è stato spostato nel file /etc/httpd/conf.d/ssl.conf.

10.5.70. Direttive di configurazione per SSL

Le direttive SSL incluse nel file /etc/httpd/conf.d/ssl.conf possono essere configurate per abilitare comunicazioni Web sicure utilizzando SSL e TLS.

10.5.70.1. SetEnvIf

La direttiva di configurazione SetEnvIf può essere utilizzata per impostare variabili di ambiente basate sulle intestazioni nella richiesta. Nel file /etc/httpd/conf.d/ssl.conf è usata per disabilitare i keepalive HTTP e per consentire al protocollo SSL di chiudere la connessione senza un messaggio di avvertimento da parte del browser client. Questa impostazione è necessaria per alcuni browser che non chiudono in modo affidabile la connessione SSL.

Per maggiori informazioni sulle direttive SSL, visitate i seguenti indirizzi:

Per informazioni sulla configurazione di un server sicuro HTTP Apache, consultate il capitolo relativo alla configurazione di un server sicuro HTTP Apache nella Red Hat Linux Customization Guide.

NotaNota Bene
 

In molti casi, le direttive SSL sono configurate in modo appropriato durante l'installazione. Fare attenzione nell'alterare le direttive del server sicuro HTTP di Apache, in quanto configurarlo in modo non corretto puó compromettere la sicurezza del vostro sistema.