La prima sezione del file httpd.conf, ("Section 1"), è dedicata
all'ambiente in cui opera Apache ("Global Environment").
All'interno di essa troviamo alcune
istruzioni fondamentali come il
ServerType, attraverso cui viene indicata la modalità di funzionamento di
Apache; nel nostro caso quest'ultima sarà: ServerType standalone, che consente di mantenere il Web
server sempre attivo limitando i tempi di latenza. In pratica la modalità standalone permette ad
Apache di lavorare come servizio in background ("demone") rispondendo autonomamente agli input provenienti dai
client.
Abbiamo poi la ServerRoot, che stabilisce la directory in cui si trovano i file di
configurazione e gli altri file necessari per il funzionamento di Apache.
Di seguito troviamo il
PidFile, il cui percorso su Linux è in genere:
/var/run/httpd.pid
mentre in
Windows
sarà di solito in:
logs/httpd.pid
httpd.pid è in pratica il file in cui
Apache
scrive i processi in atto al momento del suo avvio.
Continuando a scorrere la Section 1, troveremo altre due
opzioni:
ResourceConfig e
AccessConfig, rispettivamente correlate ai file "srm.conf" e "access.conf". Questi
ultimi dovrebbero essere letti dal
Web server una volta terminata la lettura di
httpd.conf; in realtà
nelle ultime versioni tali istruzioni sono ormai obsolete e le funzioni dei due file sono state incorporate da
httpd.conf. Ne consegue che le opzioni
ResourceConfig e
AccessConfig appariranno commentate in
Windows e settate su "/dev/null" in
Linux.
Andando oltre visualizzeremo l'istruzione
Timeout dalla funzione abbastanza intuitiva: quando il tempo di attesa per la soddisfazione dell'input inviato da un
client
supera il valore impostato espresso in secondi, allora viene inviato un
messaggio d'errore. Di default
il time out scatta dopo 300 secondi, ma
può essere modificato a piacere soprattutto per limitare i
problemi
generati dal "traffico" sul proprio
server Web.
Dopo
Timeout abbiamo l'istruzione
KeepAlive che può essere completata tramite le opzioni "On"
ed "Off". Se settata in "On",
KeepAlive
permetterà di inviare pił file attraverso una stessa connessione TCP.
In caso contrario
(sconsigliato), "Off" aprirà una nuova connessione ad
ogni richiesta.
A
KeepAlive segue
l'istruzione
MaxKeepAliveRequests,
grazie alla quale potremo indicare un valore (di default 100)
corrispondente
alla quantità di richieste possibili per singola
connessione TCP.
KeepAliveTimeout, di default
impostato a 15, esprime in secondi il tempo che il
Web Server dovrà aspettare per accogliere un'ulteriore
richiesta prima che la connessione venga chiusa.
Sottolineiamo poi
MaxRequestsPerChild: se
httpd, il
processo principale di
Apache,
è "padre", allora i suoi processi secondari saranno "figli". Grazie
a
questo parametro è possibile settare la quantità di richieste gestibili
da ciascun processo
subordinato; se indichiamo "0" (infinito), ogni
processo figlio avrà la possibilità di gestire illimitate
richieste.
Consigliamo in ogni caso di specificare comunque un valore (anche in
miliardi) in modo da evitare eccessivi
sovraccarichi.
Segnaliamo infine il supporto per i
DSO (
Dynamic
Shared
Object).
Questa voce si divide in due parti: "LoadModule" e "AddModule".
Osservando queste istruzioni troveremo
una serie di righe, molte delle
quali commentate, che permettono di abilitare o disabilitare alcuni
"moduli" o
funzionalità addizionali. Quando viene decommentata,
aggiunta o commentata una voce in "LoadModule" è
necessario operare
nello stesso modo sull'"AddModule" corrispondente.
Se per esempio decidiamo di installare
PHP 5 come modulo aggiuntivo di
Apache, per rendere operativa questa modifica dovremo aggiungere in
corrispondenza dei "LoadModule" la riga
non commentataLoadModule php5_module "PATH/php/php5apache.dll"
e, in corrispondenza degli "AddModule", dovremo fare lo stesso scrivendo
AddModule mod_php5.c