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.
![]() | Avvertenza |
---|---|
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. |
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 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 d'errore del server, /var/log/httpd/error_log. Il log d'errore puó essere non semplice da interpretare, dipende dal vostro livello di esperienza. Se avete dei problemi, le ultime entry nel log d'errore, dovrebbero fornire informazioni utili inerenti a ció che é accaduto.
Nelle sottosezioni 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 online su http://httpd.apache.org/docs-2.0/.
Per ulteriori dettagli sulle direttive mod_ssl, consultate la documentazione disponibile online su http://httpd.apache.org/docs-2.0/mod/mod_ssl.html.
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".
PidFile nomina il file nel quale è memorizzato il PID (ID del processo). Per default il PID viene memorizzato nella directory /var/run/httpd.pid.
Timeout definisce, in secondi, quanto tempo aspetta il server per la ricezione e la trasmissione durante la comunicazione. Timeout è impostato per attendere 300 secondi, ossia il tempo adeguato per la maggior parte delle situazioni.
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 viene impostato su on e il server è particolarmente occupato, il server è in grado di produrre rapidamente il numero più elevato di processi figli. In tal caso, il server diventa piuttosto lento. Se abilitate Keepalive, è buona idea avere una impostazione su valori bassi di KeepAliveTimeout (vedere la Sezione 10.5.7 per maggiori informazioni sulla direttiva KeepAliveTimeout) e controllare i file di log /var/log/httpd/error_log sul server. Questo log vi consente di sapere se il server è carente di processi figli.
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.
KeepAliveTimeout imposta il numero di secondi 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.
I tag <IfModule> e </IfModule> creano una sezione condizionale che viene attivata solo se il modulo specificato é montato. Le direttive presenti all'interno della sezioneIfModule vengono elaborate solo a una di queste due condizioni: se il modulo specificato all'interno del tag di inizio <IfModule> è caricato. O se un punto esclamativo
Per maggiori informazioni inerenti i moduli Server HTTP Apache, consultare la Sezione 10.7.
Come spiegato in la Sezione 10.2.1.2, sotto Server HTTP Apache 2.0 la responsabilità per la gestione delle caratteristiche del pool di server, ricade su di un gruppo di moduli chiamato MPM. Le caratteristiche del pool di server differisce a seconda di quale MPM viene usato. Per questa ragione, è necessario un container IfModule per definire il pool di server per l'MPM in uso.
Per default, Server HTTP Apache 2.0 definisce il pool di server per gli MPM prefork e worker.
Il seguente è un elenco di direttive trovate all'interno dei conteiner MPM specifici del pool di server.
StartServers imposta il numero di processi server che devono essere creati all'avvio. Poichè il Web server elimina o crea dinamicamente i processi server in funzione del carico del traffico, non è necessario cambiare questo parametro. Il vostro Web server è impostato per far partire all'avvio 8 processi server, per l'MPM prefork e 2 per l'MPM worker.
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 default MaxRequestsPerChild per l'MPM prefork è 1000 e per l'MPM worker è 0.
MaxClients imposta un limite per il numero totale di processi server, di client connessi contemporaneamente, in esecuzione allo stesso momento. Lo scopo principale per questa direttiva è di prevenire un crash del sistema operativo da parte di Server HTTP Apache. Si consiglia di mantenere alto questo valore, per server molto occupati. Il default del server è impostato su 150, questo senza tener conto dell'MPM in uso. Tuttavia é consigliato che il valore di MaxClients ecceda 256 quando si usa l'MPM prefork.
Questi valori vengono usati con l'MPM prefork. Essi determinano come 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 dovrebbero essere adatte alla maggior parte delle situazioni possibili. Si consiglia di non aumentare troppo il valore di MinSpareServers, poichè si rischia di sovraccaricare il server quando il traffico non è eccessivo.
Questi valori vengono usati con l'MPM worker. Essi determinanocome 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 MaxSpareThreads oppure vengono creati se sono inferiori al valore di MinSpareThreads.
Il valore di default di MinSpareThreads è 25, mentre quello di MaxSpareThreads è 75. Queste impostazioni di default sono adatte alla maggior parte delle possibili situazioni. IL valore per MaxSpareThreads deve essere maggiore o uguale alla somma di MinSpareThreads e ThreadsPerChild o Server HTTP Apache lo corregge automaticamente.
Il comando Listen specifica su quale porta il Web server accettale richieste in entrata. Per default Server HTTP Apache 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 Web sicura.
Se impostate Server HTTP Apache in ascolto su una porta inferiore alla 1024, solo l'utente root è in grado di iniziarlo. Per le porte superiori alla 1024, httpd può essere iniziato come un utente normale.
La direttiva Listen può inoltre essere usata per specificare particolari indirizzi IP dai quali il server accetta le connessioni.
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.
![]() | Importante | |
---|---|---|
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 di http.conf:
|
La direttiva LoadModule è utilizzata per caricare i moduli Dynamic Shared Object (DSO). 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 con 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.
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.59.
I tag IfDefine utilizza le direttive di configurazione specificate al loro interno se nel primo tag la definizione "test" presente nel tag IfDefine 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, quando il Web server viene attivato, il test è vero e le direttive contenute nei tag IfDefine vengono applicate.
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.
![]() | Nota Bene |
---|---|
Per ragioni di sicurezza, l'Server HTTP Apache non funzionerá come utente root. |
Specifica il nome del gruppo dei processi Server HTTP Apache.
Per default Group é impostato su apache.
Imposta la direttiva ServerAdmin per 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.
ServerName specifica un hostname e un numero di porta (corrispondenti alla direttiva Listen) per il server. Il ServerName non deve necessariamente corrispondere al nome reale dell'hostname. Per esempio, il Web server puó essere www.example.com ma l'hostname del server è foo.example.com. Il valore specificato in ServerName deve essere un Domain Name Service (DNS) valido, che può essere risolto dal sistema — 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.
Quando impostato su on, questa direttiva configura il Server HTTP Apache a farsi riferimento usando il valora specificato nelle direttive ServerName e Port. Quando UseCanonicalName é impostato su off, il server userá invece il valore usato dal client richiedente.
UseCanonicalName é impostato per default su off.
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 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 DocumentRoot in modo che non sia condivisa dal Web server non sicuro e da quello sicuro, consultate la Sezione 10.8.
I tag <Directory /path/to/directory> e </Directory> creano ció che viene riferito come un container, usato per raggruppare un insieme di direttive di configurazione da applicare solo a una particolare directory e a tutte le sue subdirectory. 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.22) e AllowOverride (consultate la Sezione 10.5.23). Sotto 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.40 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. Consultare la Sezione 10.5.55 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.
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.
![]() | Nota Bene |
---|---|
Options dalla sezione di configurazione del server principale, deve essere replicato individualmente su ogni "cotainer" VirtualHost. Consultate la Sezione 10.5.65 per maggiori informazioni sui contenitori VirtualHost. |
La direttiva AllowOverride consente di stabilire se le Options possono essere ridefinite dalle dichiarazioni presenti in un file .htaccess. Per default, sia la directory root, sia la directory DocumentRoot sono impostate per non permettere di sovrascrivere .htaccess.
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.
Allow specifica quale client può accedere a una determinata directory. Il client può essere all, un nome di dominio, un indirizzo IP, una parte dell'indirizzo IP, una coppia rete/maschera di rete e così via. La directory DocumentRoot è configurata per Allow o permettere l'accesso da all ossia da tutti i client.
Deny funziona esattamente come allow, ma specifica quali accessi negare. Per default DocumentRoot non è configurata per Deny o negare alcuna richiesta.
UserDir è la 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 home directory dell'utente siano corretti. L'impostazione esatta è 0711. I bit di lettura (r) e di esecuzione (x) devono essere impostati nelle directory public_html dell'utente (anche 0755 funziona correttamente). I file presenti nelle directory public_html devono essere impostati almeno su 0644.
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. Il default per DirectoryIndex è index.html ed il tipo di mappa 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 subdirectory e dei file contenuti nella directory in formato HTML, a meno che il contenuto elencato della directory, non viene impostato su off.
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).
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 col tempo o 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.
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.54.
DefaultType definisce il tipo MIME di default per i documenti non riconosciuti. Il default é text/plain.
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.
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.
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.
La direttiva LogFormat configura il formato dei diversi file log del Web server. L'attuale LogFormat che verrà utilizzata dipende dalle impostazioni attribuite nella direttiva CustomLog (consultate la Sezione 10.5.37).
Le seguenti, sono delle opzioni del formato se la direttiva CustomLog é impostata su combined:
Elenca l'indirizzo IP remoto del client richiedente. Se HostnameLookups é impostato su on, l'hostname del client, se disponibile dal DNS, viene registrato.
Non usato. Un trattino
Se l'autenticazione fosse richiesta, elenca il nome utente dell'utente memorizzato. Generalmente, non é usato, quindi un trattino
Elenca la data e l'orario della richiesta.
Elenca la riga di richiesta esattamente come arriva dal browser o dal client.
Elenca il codice dello stato HTTP ritornato all'host del client.
Elenca la misura del documento.
Elenca l'URL della pagina web riferita all'host del client per il Web server.
Elenca il tipo di browser web che effettua la richiesta.
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 |
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.
Potete impostarlo anche su off o su EMail. EMail, aggiunge un tag HTML mailto:ServerAdmin alla linea della firma delle rispostegenerate automaticamente.
L'impostazione Alias consente alle directory che si trovano al di fuori di DocumentRoot di essere accessibili. Qualunque URL che termina con l'alias viene automaticamente risolto nel percorso dell'alias. Per default, é giá impostata un alias per la directory icons/. Un Web server puó accedere alla directory icons/, ma essa non é nel DocumentRoot.
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.55 and la Sezione 10.5.21.
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.
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.22), il Web server genera un elenco delle directory quando lo stesso riceve una richiesta HTTP per una directory 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 su on FancyIndexing. 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 icone diverse per file diversi, 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.
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.
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.
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.
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.
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.
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.
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.
IndexIgnore elenca le estensioni del file, parti di nomi di file, espressioni wildcard nomi di file completi. Il Web server non include nessun file che corrisponda a quei parametri negli elenchi delle directory generati dal server.
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.
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.
LanguagePriority vi permette di stabilire una lingua prioritaria in caso il browser WEb del client non ha impostato alcuna lingua di preferenza.
Usare la direttiva AddType per definire o sovrascrivere un tipo MIME di default e coppie di estenzione del file. Nell'esempio seguente la direttiva indica a Server HTTP Apache di riconoscere l'estenzione del file .tgz.
AddType application/x-tar .tgz |
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.21 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.
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.
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 una pagina.
![]() | Importante |
---|---|
Per essere valido, il messaggio deve deve essere racchiuso in un paio di virgolette |
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.
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.
Per configurare il Server HTTP Apache in modo da comportarsi come un server proxy, rimuovere (#) dall'inizio della riga <IfModule mod_proxy.c>, le ProxyRequests, e ogni riga nella sezione <Proxy>. Impostare la direttiva ProxyRequests su On, e impostare quale dominio è abilitato all'accesso del server, nella direttiva Allow from della sezione <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>.
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.
Un numero di direttive commentate della cache, sono fornite dal file di configurazione di default di Server HTTP Apache. In molti casi non commentare queste righe, per fare ció é sufficiente rimuovere semplicemente il carattere (#) dall'inizio della riga. Quanto segue, rappresenta un elenco di alcune delle direttive piú importanti relative alla cache.
5CacheEnable — Specifica se la cache è un disco, una memoria, o un file descriptor cache. Per default CacheEnable configura una cache a disco per le URL su o al di sotto di /.
CacheRoot — configura il nome della directory che conterrà i file memorizzati nella cache. La direttiva CacheRoot di default è la directory /var/cache/httpd.
CacheSize — Specifica quanto spazio in kilobyte, puó essere usato dalla cache. Il default CacheSize é 5 KB.
Il seguente è un elenco di alcune delle direttive comuni inerenti alla cache.
CacheMaxExpire — Specifica per quanto tempo i documenti HTML vengono trattenuti (senza un ricaricamento dal web server originario) nella cache. Il default é 24 ore 86400 secondi).
CacheLastModifiedFactor — si occupa della creazione di una data di scadenza per un documento che non ne possieda una propria. Il valore di default per CacheLastModifiedFactor è 0.1. Questo significa che la data di scadenza per questi documenti è pari a 1/10 della quantità di tempo trascorso dall'ultima modifica.
CacheDefaultExpire — Specifica in ore la scadenza di un documento ricevuto tramite un protocollo che non supporta la data di scadenza. La configurazione di default è 1 ora (3600 seconds).
NoProxy — Specifica un elenco separato da uno spazio di sottoreti, indirizzi IP, domini, o di host i quali contenuti non sono stati conservati nella cache. Questa impostazione è molto utile per siti Intranet.
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.
![]() | Nota 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.
I tag <VirtualHost> e </VirtualHost> creano una sezione riportando le caratteristiche dell'host virtuale. La sezione <VirtualHost> accetta molte direttive di configurazione.
Un container VirtualHost commentato viene fornito in httpd.conf, il quale mostra il set minimo di direttive di configurazione necessario per ogni host virtuale. Consultare la Sezione 10.8 per maggiori informazioni inerenti gli host virtuali.
![]() | Nota Bene |
---|---|
Il container dell'host virtuale SSL di default è stato spostato nel file /etc/httpd/conf.d/ssl.conf. |
Le direttive nel file /etc/httpd/conf.d/ssl.conf possono essere configurate per abilitare comunicazioni Web sicure utilizzando SSL e TLS.
SetEnvIf imposta variabili di ambiente basate sulle intestazioni di collegamenti in entrata. Non è solamente una direttiva SSL, anche se presente nel file /etc/httpd/conf.d/ssl.conf. Il suo scopo è quello di 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 all'interno del file di configurazione SSL, direzionate il Web browser su uno dei seguenti indirizzi:
http://localhost/manual/mod/mod_ssl.html
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 Enterprise Linux System Administration Guide.
![]() | Nota 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. |