Vous êtes sur la page 1sur 20

Directives de configuration dans httpd.

conf
Le fichier de configuration du serveur Web Apache est /etc/httpd/conf/httpd.conf. Le fichier httpd.conf est bien comment et parle de lui-mme. Sa configuration par dfaut fonctionnera pour la plupart des gens. Vous ne devrez donc probablement pas changer ses directives dans httpd.conf. Vous pourriez cependant vouloir vous familiariser avec les options de configuration les plus importantes. Les fichiers vides srm.conf et access.conf se trouvent galement dans le rpertoire /etc/httpd/conf. Les fichiers srm.conf et access.conf taient auparavant utiliss, avec httpd.conf, comme fichiers de configuration pour Apache. Si vous voulez configurer Apache, il vous suffit de modifier httpd.conf et de recharger (ou d'arrter et rallumer) le processus httpd. La la section intitule Dmarrage et arrt de httpd illustre comment recharger, arrter et relancer Apache. Avant de modifier httpd.conf, copiez avant tout le fichier original sous un nom du genre httpd.confold (ou tout autre nom). Ainsi, si vous commettez ensuite une erreur durant la modification du fichier de configuration, vous pourrez utiliser la copie de sauvegarde. Si vous commettez une erreur et que votre serveur Web ne fonctionne pas correctement, la premire chose vrifier est ce que vous avez modifi dans le fichier httpd.conf. Vrifiez si vous n'avez pas commis de faute de frappe. La seconde chose vrifier est le journal des erreurs du serveur Web (/var/log/httpd/error_log). Le journal des erreurs peut vous sembler difficile interprter si vous manquez d'exprience. Toutefois, si vous venez de rencontrer un problme, les dernires entres du journal des erreurs devraient fournir certaines indications sur ce qui est arriv. Les sections suivantes contiennent de brves descriptions des directives incluses dans le fichier httpd.conf. Ces descriptions ne sont pas exhaustives. Pour plus d'informations, reportez-vous la documentation d'Apache fournie au format HTML l'adresse http://votre_domaine/manual/ ou la documentation en ligne du groupe Apache l'adresse http://httpd.apache.org/docs/. Pour plus d'informations sur les directives mod_ssl, reportez-vous la documentation incluse au format HTML l'adresse http://votre_domaine/manual/mod/mod_ssl/ ou consultez le Guide de l'utilisateur de mod_ssl l'adresse http://www.modssl.org/docs/2.7/.

ServerType
ServerType doit tre rgle sur standalone. Par dfaut, votre serveur est paramtr sur ServerType standalone. ServerType standalone signifie que le serveur est dmarr une fois, aprs quoi il s'occupe de toutes les connexions.

ServerRoot
ServerRoot est le rpertoire de niveau suprieur qui contiendra les fichiers du serveur. Les serveurs tant scuris que non scuris sont paramtrs pour utiliser le rpertoire ServerRoot /etc/httpd.

LockFile
LockFile est le chemin d'accs du fichier de verrouillage utilis lorsque le serveur Apache est compil avec USE_FCNTL_SERIALIZED_ACCEPT ou USE_FLOCK_SERIALIZED_ACCEPT. LockFile doit normalement conserver sa valeur par dfaut.

PidFile
PidFile est le nom du fichier dans lequel le serveur consigne son identifiant de processus (pid). Votre serveur Web est paramtr pour consigner son pid dans /var/run/httpd.pid.

ScoreBoardFile
ScoreBoardFile stocke les informations internes au processus serveur utilises pour la communication entre le processus serveur pre et ses processus fils. Red Hat Linux utilise la mmoire partage pour stocker ScoreBoardFile, la valeur par dfaut /var/run/httpd.scoreboard n'est utilise qu'en cas de secours.

ResourceConfig
La directive ResourceConfig donne pour instruction au serveur de lire le fichier nomm ResourceConfig pour plus de directives. La directive ResourceConfig est sous forme de commentaire car votre serveur Web utilise httpd.conf uniquement pour les directives de configuration.

AccessConfig
La directive AccessConfig donne pour instruction au serveur de lire le fichier nomm AccessConfig pour plus de directives, aprs avoir lu le fichier nomm par AccessConfig. La directive AccessConfig est identifie comme un commentaire car votre serveur Web utilise uniquement httpd.conf pour les directives de configuration.

Timeout
Timeout dfinit, en secondes, le temps pendant lequel votre serveur attend des rceptions et des missions en cours de communication. Plus spcifiquement, Timeout dfinit le temps pendant lequel le serveur attend de recevoir une demande GET, le temps pendant lequel il attend de recevoir des paquets TCP sur une requte POST ou PUT et le temps pendant lequel il attend entre des ACK rpondant aux paquets TCP. Timeout est dfinie sur 300 secondes, ce qui convient dans la plupart des cas.

KeepAlive
KeepAlive dfinit si votre serveur autorisera des connexions persistantes (c'est--dire plusieurs demandes par connexion). KeepAlive peut tre utilise pour empcher tout client de consommer trop de ressources du serveur. Par dfaut, KeepAlive est dfinie sur off, ce qui signifie que votre serveur n'autorise pas les connexions persistantes. Vous pouvez la dfinir sur on, ce qui active les connexions persistantes. Dans la plupart des cas, il est prfrable de laisser KeepAlive sur off car Apache ne peut avoir qu'un

nombre limit de processus fils et ces processus vagabonderaient sans rien faire dans l'attente d'une connexion future possible du mme client. Si vous activez Keepalive, vous devriez tenir la valeur de KeepAliveTimeout (reportez-vous la la section intitule KeepAliveTimeout) basse et contrler votre fichier error_log du serveur qui vous indique s'il vous manque des processus fils pour traiter les requtes.

MaxKeepAliveRequests
Cette directive dfinit le nombre maximum de demandes autorises par connexion persistante. Le groupe Apache recommande d'utiliser un paramtrage lev, qui amliorera les performances de votre serveur. Par dfaut, MaxKeepAliveRequests est paramtre sur 100, ce qui convient dans la plupart des cas.

KeepAliveTimeout
KeepAliveTimeout dfinit la dure en secondes pendant laquelle votre serveur attendra, aprs avoir servi une demande, la demande suivante, avant d'interrompre la connexion. Une fois une demande reue, c'est la directive Timeout qui s'applique sa place.

MinSpareServers et MaxSpareServers
Le serveur Web Apache s'adapte de faon dynamique la charge reue en maintenant un nombre de processus serveur de rechange appropri en fonction du trafic. Le serveur vrifie le nombre de processus attendant une requte et en supprime s'ils sont plus nombreux que MaxSpareServers ou en cre s'ils sont moins nombreux que MinSpareServers. La valeur MinSpareServers par dfaut de votre serveur est 5 ; la valeur MaxSpareServers par dfaut de votre serveur est 20. Ces paramtres par dfaut devraient tre appropris dans presque toutes les situations. Ne dfinissez pas une valeur trs leve pour MinSpareServers car cela crera une charge de traitement importante sur le serveur, mme si le trafic est faible.

StartServers
StartServers dfinit le nombre de processus crs au dmarrage. Du fait que le serveur Web supprime et cre des processus serveur, de faon dynamique en fonction de la charge du trafic, il est inutile de modifier ce paramtre. Votre serveur Web est rgl pour lancer huit processus serveur au dmarrage.

MaxClients
MaxClients dfinit une limite au nombre total de processus serveur (c'est--dire le nombre de clients connects simultanment) pouvant s'excuter en mme temps. Conservez une valeur leve pour MaxClients (par dfaut, la valeur du serveur est rgle sur 150) car personne d'autre ne sera autoris se connecter une fois ce nombre atteint. Vous ne pouvez pas dfinir pour MaxClients une valeur suprieure 256 sans recompiler Apache. La principale raison d'tre de MaxClients est d'viter qu'un serveur Web surcharg ne perturbe votre systme d'exploitation.

MaxRequestsPerChild
MaxRequestsPerChild dfinit le nombre total de demandes que chaque processus serveur fils sert avant de disparatre. La principale raison justifiant de dfinir MaxRequestsPerChild consiste

viter des pertes de mmoire induites par les processus longs. La valeur par dfaut de MaxRequestsPerChild pour votre serveur est 1000.

Listen
Listen identifie les ports sur lesquels votre serveur Web accepte les demandes entrantes. Votre serveur Web est paramtr pour couter sur le port 80 pour les communications Web non scurises et (dans les balises d'hte virtuel dfinissant le serveur scuris) sur le port 443 pour les communications Web scurises. Si vous paramtrez Apache pour couter sur un port dont le numro est infrieur 1024, vous devrez tre super-utilisateur pour le lancer. Pour les ports dont le numro est gal ou suprieur 1024, httpd peut dmarrer comme utilisateur normal. Listen peut galement tre utilise pour spcifier des adresses IP particulires sur lesquelles le serveur acceptera des connexions.

BindAddress
BindAddress permet de spcifier les adresses IP pour lesquelles votre serveur ragira. Utilisez plutt la directive Listen si vous avez besoin de cette fonctionnalit. BindAddress n'est pas utilise par votre serveur Web ; par dfaut, elle est identifie comme un commentaire dans httpd.conf.

LoadModule
LoadModule est utilise pour charger des modules DSO (Dynamic Shared Object, objet partag dynamique). Pour plus d'informations sur le support DSO d'Apache, y compris la manire prcise d'utiliser la directive LoadModule, reportez-vous la la section intitule Ajout de modules au serveur. Notez que l'ordre des modules est important, alors ne les dplacez pas.

IfDefine
Les balises <IfDefine> et </IfDefine> entourent des directives de configuration. Elles s'appliquent si le " test " indiqu dans la balise <IfDefine> est vrai. Les directives sont ignores si le test est faux. Le test dans les balises <IfDefine> est un nom de paramtre (par exemple, HAVE_PERL). Si le paramtre est dfini (c'est--dire spcifi comme argument de la commande de dmarrage du serveur), le test est vrai. Dans ce cas, votre serveur Web est dmarr, le test est vrai et les directives contenues dans les balises IfDefine sont appliques. Par dfaut, les balises <IfDefine HAVE_SSL> entourent les balises d'htes virtuels pour votre serveur scuris. Les balises <IfDefine HAVE_SSL> entourent galement les directives LoadModule et AddModule pour ssl_module.

ClearModuleList
La directive ClearModuleList est situe immdiatement avant la longue liste de directives AddModule. ClearModuleList efface la liste de modules actifs dans le serveur. Ensuite, la liste de directives AddModule recre la liste, immdiatement aprs ClearModuleList.

AddModule
AddModule est la directive utilise pour crer une liste complte de tous les modules disponibles. Vous utiliserez la directive AddModule si vous ajoutez votre propre module comme DSO. Pour plus d'informations sur la manire dont AddModule est utilise pour la prise en charge de DSO, reportez-vous la la section intitule Ajout de modules au serveur.

ExtendedStatus
Les directives ExtendedStatus contrlent le fait qu'Apache gnre des informations d'tat sommaires (off) ou dtailles (on) lorsque le module de commande server-status est appel. Server-status est appel l'aide des balises Location ; pour plus d'informations sur l'appel de server-status, reportez-vous la la section intitule Location.

Port
Normalement, Port dfinit le port sur lequel votre serveur coute. Toutefois, votre serveur Web contrle plusieurs ports par dfaut, du fait que la directive Listen est galement utilise. Lorsque les directives Listen sont actives, votre serveur contrle tous ces ports. Pour plus d'informations sur Listen, reportez-vous la description de la directive Listen. La commande Port est galement utilise pour spcifier le numro de port utilis pour crer un nom canonique pour votre serveur. Reportez-vous la la section intitule UseCanonicalName pour plus d'informations sur le nom canonique de votre serveur.

User
La directive User dfinit l'ID utilisateur utilis par le serveur pour rpondre aux demandes. Le paramtrage de User dtermine l'accs au serveur. Tous les fichiers inaccessibles cet utilisateur seront galement inaccessibles aux visiteurs de votre site Web. La valeur par dfaut pour User est apache. User devrait avoir pour seul privilge la possibilit d'accder des fichiers supposs visibles par le monde extrieur. User est galement le propritaire de tous les processus CGI engendrs par le serveur. User ne devrait pas tre autorise excuter un code non destin constituer une rponse des demandes HTTP. Remarque Pour des raisons de scurit, Apache refuse d'tre excut en tant que User root. Le fait d'utiliser root comme valeur pour User risque d'ouvrir une brche importante dans la scurit de votre serveur Web. Le processus httpd parent commence par s'excuter comme root en cours de fonctionnement normal, puis est immdiatement transmis l'utilisateur apache. Le serveur doit dmarrer comme root parce qu'il doit se relier un port sous 1024 (le port par dfaut pour les communications Web scurises est le port 443 ; le port par dfaut pour les communications Web non scurises est le port 80). Les ports sous 1024 tant rservs l'usage du systme, ils ne peuvent tre utiliss que par quelqu'un connect en tant que root. Cependant, une fois que le serveur s'est connect son port, il transmet le processus au User avant d'accepter la moindre demande de connexion.

Group
La directive Group est similaire User. Group dfinit le groupe sous lequel le serveur rpondra des demandes. La valeur de Group par dfaut est galement apache.

ServerAdmin
ServerAdmin indique l'adresse lectronique de l'administrateur du serveur Web. Cette adresse lectronique apparatra dans les messages d'erreur sur les pages Web gnres par le serveur afin que les utilisateurs puissent signaler un problme en envoyant un message lectronique l'administrateur du serveur. La valeur par dfaut de ServerAdmin est root@localhost. Gnralement, une bonne manire de configurer ServerAdmin consiste utiliser la valeur webmaster@votre_domaine.com. Ensuite, crez un pseudonyme pour webmaster au nom de la personne responsable du serveur Web, dans /etc/aliases. Enfin, excutez /usr/bin/newaliases pour ajouter le nouveau pseudonyme.

ServerName
ServerName permet de dfinir un nom d'hte pour votre serveur, qui diffre du nom rel de votre hte. Par exemple, vous pouvez utiliser www.votre_domaine.com alors que le nom rel de votre serveur est foo.votre_domaine.com. Notez que ServerName doit tre un nom de domaine valide que vous avez le droit d'utiliser (ne vous contentez pas simplement d'en inventer un). Si vous spcifiez un ServerName, assurez-vous que son adresse IP et son nom de serveur sont inclus dans votre fichier /etc/hosts.

DocumentRoot
DocumentRoot est le rpertoire contenant la plupart des fichiers HTML qui seront servis en rponse aux demandes. La valeur de DocumentRoot par dfaut pour les serveurs Web scuriss et non scuriss est /var/www/html. Par exemple, le serveur pourrait recevoir une demande pour le document suivant :
http://votre_domaine/foo.html

Le serveur recherchera le fichier suivant dans le rpertoire par dfaut :


/var/www/html/foo.html

Si vous voulez modifier le DocumentRoot afin qu'il ne soit pas partag par les serveurs Web scuriss et non scuriss, reportez-vous la la section intitule Utilisation d'htes virtuels.

Directory
Les balises <Directory /path/to/directory> et </Directory> sont utilises pour entourer un groupe de directives de configuration devant uniquement s'appliquer ce rpertoire et ses sous-rpertoires. Toute directive applicable un rpertoire peut tre utilise l'intrieur des balises <Directory>. Les balises <File> peuvent tre utilises de la mme manire, appliques un ou plusieurs fichiers spcifiques. Par dfaut, des paramtres trs restrictifs sont appliqus au rpertoire racine, l'aide des directives Options (voir la section intitule Options) et AllowOverride (voir la section intitule AllowOverride). Dans cette configuration, il faut explicitement attribuer ces paramtres tout

rpertoire du systme ayant besoin de paramtres plus permissifs. Les balises Directory permettent de dfinir le DocumentRoot avec des paramtres moins rigides, de manire ce qu'il puisse servir des demandes HTTP. Le rpertoire cgi-bin est configur pour permettre l'excution de scripts CGI avec l'option ExecCGI. Si vous devez excuter un script CGI dans un autre rpertoire, vous devez dfinir ExecCGI pour ce rpertoire. Par exemple, si votre rpertoire cgi-bin est /var/www/cgi-bin, mais que vous vouliez excuter des scripts CGI depuis /home/mon_rpertoire_cgi, ajoutez une directive ExecCGI un ensemble de directives Directory tel que le suivant dans votre fichier httpd.conf :
<Directory /home/mon_rpertoire_cgi> Options +ExecCGI </Directory>

Pour permettre l'excution de scripts CGI dans /home/mon_rpertoire_cgi, il vous faudra entreprendre des dmarches supplmentaires au paramtrage de ExecCGI. Vous devrez aussi dcommenter la directive AddHandler pour identifier les fichiers qui ont une extension .cgi (scripts CGI). Vous trouverez des instructions sur le paramtrage de AddHandler dans la la section intitule AddHandler. Les autorisations pour les scripts CGI et le chemin d'accs aux scripts doivent tre paramtrs 0755.

Options
La directive Options contrle les fonctions du serveur disponibles dans un rpertoire particulier. Par exemple, en vertu des paramtres restrictifs spcifis pour le rpertoire racine, Options est dfinie uniquement sur FollowSymLinks. Aucune fonction n'est active, l'exception du fait que le serveur est autoris suivre les liens symboliques dans le rpertoire racine. Par dfaut, dans votre rpertoire DocumentRoot, Options est paramtre pour inclure Indexes, Includes et FollowSymLinks. Indexes permet au serveur de gnrer le contenu d'un rpertoire si aucun DirectoryIndex (c'est--dire index.html, etc.) n'est spcifi. Includes signifie que des fichiers inclure ct serveur sont autoriss. FollowSymLinks permet au serveur de suivre des liens symboliques dans ce rpertoire. Vous devez galement inclure des instructions Options pour les rpertoires l'intrieur de directives d'htes virtuels si vous voulez que vos htes virtuels reconnaissent ces Options. Par exemple, les fichiers inclure ct serveur sont dj activs dans le rpertoire /var/www/html en raison de la prsence de la ligne Options Includes dans la section des directives <Directory "/var/www/html">. Toutefois, si vous voulez qu'un hte virtuel reconnaisse que les fichiers inclure ct serveur sont autoriss dans /var/www/html, vous devez inclure une section telle que la suivante l'intrieur des balises de votre hte virtuel :
<Directory /var/www/html> Options Includes </Directory>

AllowOverride
La directive AllowOverride dfinit si des Options peuvent tre invalides par les instructions d'un fichier .htaccess. Par dfaut, tant le rpertoire super-utilisateur que DocumentRoot sont rgls pour permettre la prise en compte des instructions de fichiers .htaccess.

Order
La directive Order contrle simplement l'ordre dans lequel les directives Allow et Deny sont analyses. Votre serveur est configur pour analyser les directives Allow avant les directives Deny pour votre rpertoire DocumentRoot.

Allow
Allow spcifie quel demandeur peut accder un rpertoire donn. Le demandeur peut tre all, un nom de domaine, une adresse IP, une adresse IP partielle, une paire rseau/masque rseau, etc. Votre rpertoire DocumentRoot est configur pour Allow (permettre) les demandes de all (tous).

Deny
Deny fonctionne exactement comme allow, sauf que vous spcifiez qui l'accs est refus. Votre DocumentRoot n'est pas configur pour deny (refuser) les demandes de qui que ce soit.

UserDir
UserDir est le nom du sous-rpertoire, au sein du rpertoire personnel de chaque utilisateur, o devraient tre placs les fichiers HTML personnels devant tre servis par le serveur Web. Par dfaut, le sous-rpertoire est public_html. Par exemple, le serveur pourrait recevoir la demande suivante :
http://votre_domaine/~nom d'utilisateur/foo.html

Le serveur rechercherait le fichier :


/home/nom d'utilisateur/public_html/foo.html

Dans l'exemple ci-dessus, /home/nom d'utilisateur est le rpertoire personnel de l'utilisateur (notez que le chemin d'accs par dfaut aux rpertoires personnels des utilisateurs peut tre diffrent sur votre systme). Assurez-vous que les autorisations relatives aux rpertoires personnels des utilisateurs sont correctement dfinies. Les rpertoires personnels des utilisateurs doivent tre dfinis sur 0711. Les bits de lecture (r) et d'excution (x) doivent tre dfinis sur les rpertoires public_html des utilisateurs (0755 fonctionnera). Les fichiers qui seront servis dans les rpertoires public_html des utilisateurs doivent tre dfinis sur au moins 0644.

DirectoryIndex
The DirectoryIndex est la page servie par dfaut lorsqu'un utilisateur demande un index de rpertoire en insrant une barre oblique (/) la fin d'un nom de rpertoire. Lorsqu'un utilisateur demande la page http://votre_domaine/ce_rpertoire/, il obtient soit la page DirectoryIndex, si elle existe, soit la liste du contenu du rpertoire gnre par le serveur. La valeur par dfaut pour DirectoryIndex est index.html index.htm index.shtml index.php index.php4 index.html index.cgi. Le serveur essaie de trouver l'un de ces fichiers et retourne le premier qu'il trouve. S'il ne trouve aucun de ces fichiers et si Options Indexes est paramtre pour ce rpertoire, le serveur gnre et retourne une liste, au format HTML, des fichiers et sous-rpertoires contenus dans le rpertoire.

AccessFileName
AccessFileName nomme le fichier que le serveur doit utiliser pour les informations de contrle d'accs dans chaque rpertoire. Par dfaut, votre serveur Web est paramtr pour utiliser .htaccess, s'il existe, afin d'accder aux informations de contrle d'accs dans chaque rpertoire. Juste aprs la directive AccessFileName, une srie de balises Files appliquent un contrle d'accs tout fichier commenant par .ht. Ces directives refusent l'accs Web tous les fichiers .htaccess (ou d'autres commenant par .ht) pour des raisons de scurit.

CacheNegotiatedDocs
Par dfaut, votre serveur Web demande aux serveurs proxy de ne pas mettre en cache des documents ngocis sur la base du contenu (c'est--dire qui peuvent changer avec le temps ou suite l'entre du demandeur). Si vous annulez le caractre de commentaire de CacheNegotiatedDocs, vous dsactivez cette fonction et les serveurs proxy seront autoriss mettre en cache les documents partir de ce moment.

UseCanonicalName
UseCanonicalName est paramtre par dfaut sur on. UseCanonicalName permet au serveur de crer une URL qui se rfrence elle-mme, en utilisant ServerName et Port. Lorsque le serveur fait rfrence lui-mme en rponse aux demandes des clients, il utilise cette URL. Si vous paramtrez UseCanonicalName sur off, le serveur utilisera plutt la valeur figurant dans la demande du client pour pointer sur lui-mme.

TypesConfig
TypesConfig nomme le fichier qui dfinit la liste par dfaut des correspondances de type MIME (extensions de nom de fichier associes des types de contenu). Le fichier TypesConfig par dfaut est /etc/mime.types. Au lieu d'diter /etc/mime.types, il est recommand d'ajouter des types MIME l'aide de la directive AddType. Pour plus d'informations sur AddType, reportez-vous la la section intitule AddType.

DefaultType
DefaultType dfinit un type de contenu par dfaut pour le serveur Web utiliser pour des documents dont les types MIME ne peuvent pas tre dtermins. Par dfaut, votre serveur Web suppose que tout fichier au contenu indtermin est de type texte brut.

IfModule
Les balises <IfModule> et </IfModule> entourent des directives conditionnelles. Les directives contenues l'intrieur des balises IfModule sont traites dans l'un des deux cas suivants. Les directives sont traites si le module contenu dans la balise de dbut <IfModule> est compil dans le serveur Apache. Si un point d'exclamation (" ! ") est inclus devant le nom du module, les directives ne sont traites que si le module dans la balise de dpart <IfModule> n'est pas compil. Le fichier mod_mime_magic.c est inclus dans ces balises IfModule. Le module mod_mime_magic est comparable la commande UNIX file, qui examine quelques octets du contenu d'un fichier, puis utilise des " nombres magiques " et d'autres indices pour dterminer le type MIME du fichier.

Si le module mod_mime_magic est compil dans Apache, ces balises IfModule indiquent au module mod_mime_magic o se trouve le fichier de dfinition des indices : /usr/share/magic dans ce cas. Le module mod_mime_magic n'est pas compil par dfaut. Si vous voulez l'utiliser, reportez-vous la la section intitule Ajout de modules au serveur, pour plus de dtails sur la manire d'ajouter des modules votre serveur.

HostnameLookups
HostnameLookups peut tre dfinie sur on, off ou double. Si vous autorisez HostnameLookups (en la paramtrant sur on), votre serveur rsoudra automatiquement l'adresse IP pour chaque connexion demandant un document de votre serveur Web. La rsolution de l'adresse IP signifie que votre serveur tablit une ou plusieurs connexions avec le DNS pour rechercher le nom d'hte correspondant une adresse IP particulire. Si vous paramtrez HostnameLookups sur double, votre serveur tablira un DNS double invers. En d'autres termes, aprs la recherche inverse, une recherche en avant est lance sur le rsultat. Au moins une des adresses IP de la recherche en avant doit correspondre l'adresse de la premire recherche inverse. Gnralement, vous devez laisser HostnameLookups paramtre sur off, du fait que les demandes de DNS ajoutent une charge votre serveur et peuvent le ralentir. Si votre serveur est occup, les effets de HostnameLookups peuvent tre sensibles. HostnameLookups pose galement un problme pour Internet dans son ensemble. Les connexions individuelles tablies pour rechercher chaque nom d'hte s'additionnent. C'est pourquoi, pour le bien de votre propre serveur Web, de mme que pour celui d'Internet dans son ensemble, vous devriez laisser HostnameLookups paramtre sur off. Si vous voulez voir les noms d'hte dans vos fichiers journaux, vous pourriez songer excuter l'un des nombreux outils d'analyse de journal qui effectuent des recherches DNS plus efficaces et en bloc lorsque vous faites la rotation de vos fichiers journaux.

ErrorLog
ErrorLog nomme le fichier dans lequel sont consignes les erreurs du serveur. Comme cette directive l'indique, le fichier journal des erreurs relatif votre serveur Web se trouve dans /var/log/httpd/error_log. Le journal des erreurs est intressant si votre serveur Web gnre des erreurs ou des pannes dont vous ne connaissez pas la cause.

LogLevel
LogLevel dfinit le niveau de dtail des messages d'erreur des journaux des erreurs. LogLevel peut tre dfinie (du moins dtaill au plus dtaill) sur emerg, alert, crit, error, warn, notice, info ou debug. Par dfaut, la directive LogLevel de votre serveur Web est dfinie sur warn.

LogFormat
Les directives LogFormat de votre fichier httpd.conf dfinissent un format pour les messages d'erreur. Le LogFormat utilis dpend des paramtres attribus dans la directive CustomLog (reportez-vous la la section intitule CustomLog).

CustomLog
CustomLog identifie le fichier journal et le format de fichier journal. Dans la configuration par dfaut de votre serveur Web, CustomLog dfinit le fichier journal dans lequel sont consigns les accs votre serveur Web : /var/log/httpd/access_log. Vous devez connatre l'emplacement de ce fichier pour pouvoir gnrer des statistiques concernant les performances d'accs votre serveur Web. CustomLog dfinit galement le format du fichier journal ordinaire. Le format du fichier journal ordinaire ressemble ceci :
remotehost rfc931 authuser [date] "request" status bytes referer user-agent

hte distant Nom d'hte distant. Si le nom d'hte n'est pas disponible auprs du DNS ou si HostnameLookups est paramtr sur Off, hte distant sera l'adresse IP de l'hte distant. rfc931 Non utilis. Le signe - figure dans le fichier journal sa place. auth-utilisateur Si l'authentification est requise, il s'agit du nom sous lequel l'utilisateur s'est identifi. Habituellement, il n'est pas utilis, de sorte que vous voyez le signe - sa place. [date] La date et l'heure de la demande. "demande" La chane de demande telle qu'elle est venue du navigateur ou du client. tat Code d'tat HTTP retourn au navigateur ou au client. octets Taille du document. referer Cela peut permettre de donner l'URL ou la page Web qui lie la demande courante. utilisateur-agent Cela donne le nom du navigateur ou du client qui fait la demande.

ServerSignature
La directive ServerSignature ajoute une ligne contenant la version du serveur Apache et le ServerName de l'hte servant tout document gnr par le serveur (par exemple, les messages d'erreur renvoys aux clients). ServerSignature est paramtre sur on par dfaut. Vous pouvez dfinir la valeur off afin qu'aucune ligne de signature ne soit ajoute ou dfinir la valeur EMail. EMail ajoute une balise HTML mailto:ServerAdmin la ligne de signature.

Alias
Le paramtre Alias permet aux rpertoires de se trouver en dehors du rpertoire DocumentRoot tout en restant accessibles au serveur Web. Toute URL se terminant par le pseudonyme sera automatiquement convertie en chemin d'accs vers le pseudonyme. Par dfaut, un pseudonyme est dj configur. Un rpertoire icons est accessible par le serveur Web, mais le rpertoire n'est pas le DocumentRoot. Le rpertoire icons, un pseudonyme, est en ralit /var/www/icons/, pas /var/www/html/icons/.

ScriptAlias
Le paramtre ScriptAlias dfinit l'endroit o les scripts CGI (ou d'autres types de script) peuvent tre trouvs. Gnralement, il est prfrable de ne pas laisser de scripts CGI dans DocumentRoot. Si des scripts CGI figurent dans DocumentRoot, ils pourraient tre considrs comme des documents de texte. Mme s'il vous est indiffrent que certaines personnes puissent voir (et utiliser) vos scripts CGI, le fait de rvler la manire dont ils fonctionnent peut permettre des personnes peu scrupuleuses d'exploiter d'ventuelles failles de scurit du script, menaant ainsi la scurit de votre serveur. Par dfaut, le rpertoire cgi-bin est un ScriptAlias de /cgi-bin/ et se trouve en ralit dans /var/www/cgi-bin/. Options ExecCGI est slectionn pour votre rpertoire /var/www/cgi-bin, ce qui signifie que l'excution de scripts CGI est autorise dans ce rpertoire. Reportez-vous la la section intitule AddHandler et la la section intitule Directory pour obtenir des instructions sur la manire d'excuter des scripts CGI dans des rpertoires autres que cgi-bin.

Redirect
Lorsqu'une page Web est dplace, la commande Redirect peut tre utilise pour mapper l'ancienne URL sur une autre URL. Le format est le suivant :
Redirect /chemin/foo.html http://nouveau_domaine/chemin/foo.html

Ainsi, si une demande HTTP est reue pour une page qui se trouve habituellement l'URL http://votre_domaine/chemin/foo.html, le serveur retourne la nouvelle URL (http://nouveau_domaine/chemin/foo.html) au client, qui essaie d'extraire le document de la nouvelle URL. Pour une mthode de redirection plus avance, utilisez le module mod_rewrite fourni avec le serveur.

IndexOptions
IndexOptions contrle l'aspect des listes de contenu de rpertoire gnres par le serveur en ajoutant des icnes et des descriptions de fichier, etc. Si Options Indexes est dfinie (voir la section

intitule Options), votre serveur Web peut gnrer une liste du contenu du rpertoire lorsqu'il reoit une demande HTTP telle que celle-ci : http://votre_domaine/ce_rpertoire/ Tout d'abord, votre serveur Web recherche dans ce rpertoire un fichier de la liste figurant aprs la directive DirectoryIndex (par exemple, index.html). Si votre serveur Web ne trouve aucun de ces fichiers, il gnre une liste HTML des fichiers et sous-rpertoires figurant dans ce rpertoire. Vous pouvez modifier l'aspect de cette liste du contenu du rpertoire l'aide de certaines directives de httpd.conf, notamment IndexOptions. Par dfaut, FancyIndexing est active. Si FancyIndexing est active, le fait de cliquer sur les enttes de colonne de la liste modifie l'ordre d'affichage en fonction du contenu de cette colonne. Un autre clic sur le mme en-tte permet de basculer de l'ordre ascendant l'ordre descendant, et inversement. FancyIndexing affiche galement des icnes diffrentes pour les diffrents fichiers, en fonction des extensions de fichier. Si vous utilisez la directive AddDescription et activez FancyIndexing, une brve description de fichier sera incluse dans la liste du contenu du rpertoire gnre par le serveur. IndexOptions comprend un certain nombre d'autres paramtres qui peuvent tre dfinis pour contrler l'aspect des rpertoires gnrs par le serveur. Les paramtres incluent IconHeight et IconWidth, pour faire en sorte que le serveur inclue des balises HTML HEIGHT et WIDTH pour les icnes dans les pages Web gnres par le serveur ; IconsAreLinks, pour faire en sorte que les icnes agissent comme une partie de l'ancre du lien HTML, en mme temps que le nom de fichier, et autres.

AddIconByEncoding
Cette directive nomme des icnes qui seront affiches par fichier, avec codage MIME, dans des listes de rpertoire gnres par le serveur. Exemple : par dfaut, votre serveur Web montre l'icne compressed.gif ct des fichiers cods MIME x-compress et x-gzip dans des listes de rpertoire gnres par serveur.

AddIconByType
Cette directive nomme des icnes qui s'afficheront ct des fichiers avec des types MIME dans des listes de rpertoire gnres par serveur. Par exemple, votre serveur est paramtr pour afficher l'icne text.gif ct de fichiers avec un type MIME " texte " dans des listes de rpertoire gnres par serveur.

AddIcon
AddIcon indique au serveur l'icne afficher dans les listes de rpertoire gnres par le serveur pour certains types de fichier ou pour des fichiers avec certaines extensions. Par exemple, votre serveur Web est paramtr pour afficher l'icne binary.gif pour les fichiers portant les extensions .bin ou .exe.

DefaultIcon
DefaultIcon nomme l'icne afficher dans les listes de rpertoire gnres par le serveur pour les fichiers pour lesquels aucune autre icne n'est spcifie. unknown.gif est la DefaultIcon par dfaut pour ces fichiers.

AddDescription
Vous pouvez utiliser AddDescription pour afficher le texte que vous spcifiez pour certains fichiers dans les listes du contenu de rpertoire gnres par le serveur (vous devez galement activer FancyIndexing comme une IndexOptions). Vous pouvez nommer des fichiers spcifiques, utiliser des expressions comprenant des caractres spciaux de recherche ou des extensions de fichier pour spcifier les fichiers auxquels cette directive devrait s'appliquer. Par exemple, vous pourriez utiliser la ligne suivante :
AddDescription "Fichier se terminant par .ni" .ni

Dans les listes de rpertoire gnres par serveur, les noms de tous les fichiers portant des extensions .ni seraient suivis de la description Fichier se terminant par .ni. Il faut galement que vous activiez FancyIndexing.

ReadmeName
ReadmeName nomme le fichier qui (s'il existe dans le rpertoire) sera ajout la fin des listes de rpertoire gnres par serveur. Le serveur Web commencera par essayer d'inclure le fichier comme document HTML, puis essaiera de l'inclure comme texte brut. Par dfaut, ReadmeName est paramtr sur README.

HeaderName
HeaderName nomme le fichier qui (s'il existe dans le rpertoire) sera ajout au dbut des listes de rpertoire gnres par serveur. Comme ReadmeName, le serveur essaiera, si possible, de l'inclure sous la forme d'un document HTML ou, sinon, comme texte brut.

IndexIgnore
IndexIgnore affiche une liste d'extensions de fichier, de noms de fichier partiels, d'expressions contenant des caractres spciaux de recherche ou de noms de fichiers complets. Le serveur Web n'inclura pas les fichiers correspondant l'un de ces paramtres dans les listes de rpertoire gnres par serveur.

AddEncoding
AddEncoding nomme des extensions de nom de fichier qui devraient spcifier un type de codage particulier. AddEncoding permet galement de donner pour instruction certains navigateurs (pas tous) de dcompresser certains fichiers pendant leur tlchargement.

AddLanguage
AddLanguage associe des extensions de nom de fichiers des langues spcifiques. Cette directive est essentiellement utile pour la ngociation de contenu, lorsque le serveur retourne un document parmi d'autres, en fonction de la prfrence linguistique du client, telle que dfinie dans son navigateur.

LanguagePriority
LanguagePriority permet de dfinir l'ordre de prfrence des langues pour le service des fichiers,

qui produit un effet si le client n'a paramtr aucune prfrence linguistique dans son navigateur.

AddType
Utilisez la directive AddType pour dfinir des paires de type MIME et d'extension de fichier. Par exemple, si vous utilisez PHP4, votre serveur Web utilise la directive AddType afin de reconnatre les fichiers portant l'extension PHP (.php4, .html, .phtml et .php) comme des types MIME PHP. La ligne AddType suivante indique au serveur de reconnatre l'extension de fichier .shtml (pour fichiers inclure ct serveur) :
AddType text/html .shtml

Vous devrez inclure la ligne ci-dessus l'intrieur des balises de l'hte virtuel pour tous les htes virtuels devant autoriser des fichiers inclure ct serveur.

AddHandler
AddHandler mappe des extensions de fichier sur des modules de commande spcifiques. Par exemple, le module de commande cgi-script peut tre utilis en association avec l'extension .cgi pour traiter automatiquement un fichier dont le nom se termine par .cgi comme un script CGI. Ceci fonctionnera mme pour les fichiers situs hors du rpertoire ScriptAlias (si vous suivez les instructions fournies ici). Vous avez une ligne CGI AddHandler dans votre fichier httpd.conf :
AddHandler cgi-script .cgi

Il faut supprimer le caractre de commentaire de la ligne. Ensuite, Apache excutera les scripts CGI pour les fichiers se terminant par .cgi, mme s'ils se trouvent hors du rpertoire ScriptAlias, qui est dfini par dfaut pour contenir votre rpertoire /cgi-bin/ dans /var/www/cgi-bin/. Vous devez galement dfinir ExecCGI comme Options pour tout rpertoire contenant un script CGI. Reportez-vous la la section intitule Directory pour plus d'informations sur la dfinition de ExecCGI pour un rpertoire. Vous devrez en outre vous assurer que les autorisations sont correctement dfinies pour les scripts CGI et les rpertoires contenant des scripts CGI. Les scripts CGI et tout le chemin d'accs aux scripts doivent tre paramtrs sur 0755. Vous devrez ajouter la mme ligne AddHandler votre configuration VirtualHost si vous utilisez des htes virtuels et voulez qu'ils reconnaissent galement des scripts CGI hors de ScriptAlias. Outre les scripts CGI, votre serveur Web utilise galement AddHandler pour traiter des fichiers HTML analyss par le serveur.

Action
Action vous permet d'associer un type MIME un CGI, de sorte que chaque demande d'un fichier de ce type dclenche l'excution d'un script CGI particulier.

MetaDir
MetaDir spcifie le nom d'un rpertoire o votre serveur Web doit rechercher des fichiers contenant des informations META (en-ttes HTTP supplmentaires) inclure lorsqu'il sert des documents.

MetaSuffix
MetaSuffix spcifie le suffixe du nom du fichier contenant les informations META (en-ttes HTTP supplmentaires), qui devrait se trouver dans le rpertoire MetaDir.

ErrorDocument
Par dfaut, en cas de problme ou d'erreur, votre serveur Web renvoie un simple message d'erreur (habituellement obscur) au client ayant formul la demande. Au lieu d'utiliser le paramtrage par dfaut, vous pouvez utiliser ErrorDocument, afin de configurer votre serveur Web pour qu'il renvoie un message personnalis ou redirige le client vers une URL locale ou externe. ErrorDocument associe simplement un code de rponse HTTP un message ou une URL qui sera renvoy au client.

BrowserMatch
La directive BrowserMatch permet votre serveur de dfinir des variables d'environnement ou de prendre des mesures appropries en fonction du champ d'en-tte Utilisateur-Agent HTTP qui identifie le navigateur du client. Par dfaut, votre serveur Web utilise BrowserMatch pour refuser des connexions certains navigateurs prsentant des problmes connus de mme que pour dsactiver les keepalives et vidages d'en-tte HTTP pour les navigateurs ayant des problmes avec ces actions.

Location
Les balises <Location> et </Location> permettent de spcifier un contrle d'accs bas sur l'URL. L'utilisation suivante des balises Location est incluse l'intrieur des balises IfModule mod_perl.c. Ces directives de configuration sont effectives si le DSO mod_perl.so est charg. Reportez-vous la la section intitule Ajout de modules au serveur pour plus d'informations sur l'ajout de modules Apache. Les balises Location nomment le rpertoire /var/www/perl (Alias pour /perl) comme celui partir duquel les scripts Perl seront servis. Si un document est demand avec une URL dans le chemin de laquelle figure la chane /perl, votre serveur Web recherche le script Perl appropri dans /var/www/perl/. Plusieurs autres options de <Location> sont identifies comme des commentaires dans votre fichier httpd.conf. Si vous voulez activer leur fonctionnalit, supprimez le caractre de commentaire de la section approprie des directives. Remarque Le module put n'est plus distribu avec le paquetage Apache. Vous devez charger le paquetage mod_put sparment. Immdiatement aprs les directives Perl dcrites plus haut, votre fichier httpd.conf contient une section de directives permettant d'activer HTTP PUT (utilis par la fonction de publication de Netscape Gold qui permet de publier des pages Web sur un serveur Web). Si vous voulez autoriser HTTP PUT, vous devez supprimer le commentaire de cette section toute entire :
#Alias /upload /tmp #<Location /upload> # EnablePut On # AuthType Basic

# AuthName Temporary # AuthUserFile /etc/httpd/conf/passwd # EnableDelete Off # umask 007 # <Limit PUT> # require valid-user # </Limit> #</Location>

Vous devrez aussi annuler les commentaires des lignes suivantes au dbut de httpd.conf, de faon ce que le module mod_put se charge dans Apache :
#LoadModule put_module #AddModule mod_put.c modules/mod_put.so

Si vous voulez permettre aux personnes qui se connectent depuis votre domaine de consulter des rapports sur l'tat du serveur, annulez les caractres de commentaire de la section de directives suivante :
#<Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all # Allow from .votre_domaine.com #</Location>

Vous devez remplacer .votre_domaine.com par votre nom de domaine de second niveau. Si vous voulez fournir des rapports de configuration de serveur (y compris des modules installs et des directives de configuration) en rponse des demandes en provenance de votre domaine, vous devez supprimer les caractres de commentaire des lignes suivantes :
#<Location /server-info> # SetHandler server-info # Order deny,allow # Deny from all # Allow from .votre_domaine.com #</Location>

Une fois encore, vous devez remplacer .votre_domaine.com. La section de directives suivante utilise des balises Location pour permettre l'accs la documentation dans /usr/share/doc (par exemple, avec une URL telle que http://votre_domaine/doc/whatever.html). Ces directives permettent uniquement cet accs aux demandes faites depuis l'hte local. Une autre utilisation des balises Location est dfinie dans une section identifie comme un commentaire destine permettre un suivi des attaques diriges contre votre serveur Web qui exploitent un vieux bogue d'avant Apache 1.1. Si vous voulez effectuer le suivi de ces demandes, supprimez le commentaire des lignes suivantes :
#<Location /cgi-bin/phf*> # Deny from all # ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi #</Location>

Si ces lignes ne sont pas identifies comme des commentaires, votre serveur Web redirige toute demande se terminant par /cgi-bin/phf* vers un script CGI de journalisation excut par le groupe Apache.

ProxyRequests
Si vous supprimez le commentaire des balises IfModule entourant la section ProxyRequests, votre serveur Apache fonctionnera galement comme un serveur Proxy. Vous devez aussi charger le module mod_proxy. Pour obtenir des instructions sur la manire de charger des modules, reportezvous la la section intitule Ajout de modules au serveur.

ProxyVia
La commande ProxyVia contrle si une ligne d'en-tte HTTP Via: est envoye en mme temps que les demandes ou les rponses transitant par le serveur proxy Apache. L'en-tte Via: indique le nom d'hte si ProxyVia a pour valeur On, le nom d'hte et la version d'Apache s'il a pour valeur Full, toutes les lignes Via: sont transfres inchanges s'il a pour valeur Off et les lignes Via: sont supprimes s'il a pour valeur Block.

Directives cache
Plusieurs directives cache sont identifies comme des commentaires dans les balises proxy IfModule mentionnes plus haut. Si vous utilisez la fonctionnalit du serveur proxy et voulez galement activer le cache proxy, supprimez le commentaire des directives cache en procdant de la manire dcrite. Les paramtres par dfaut pour vos directives cache devraient tre appropris pour la plupart des configurations. CacheRoot dfinit le nom du rpertoire qui contiendra les fichiers mis en cache. Le CacheRoot par dfaut est /var/cache/httpd. CacheSize dfinit la quantit d'espace que le cache peut utiliser, exprime en Ko. La valeur de CacheSize par dfaut est 5 Ko. CacheGcInterval dfinit un nombre d'heures. Une fois ce dlai coul, les fichiers du cache sont supprims si le cache utilise un espace suprieur celui dfini pour CacheSize. La valeur par dfaut de CacheGcInterval est de quatre heures. Les documents HTML mis en cache seront retenus (sans rechargement du serveur Web dont ils proviennent) dans le cache pendant le nombre d'heures maximum dfini par CacheMaxExpire. La valeur par dfaut est de 24 heures. Le paramtre CacheLastModifiedFactor affecte la cration d'une date d'expiration pour un document qui a t reu du serveur sans date d'expiration dfinie. La valeur par dfaut de CacheLastModifiedFactor est 0.1, ce qui signifie que la date d'expiration d'un document de ce type est gale un dixime du temps coul depuis la dernire modification du document. CacheDefaultExpire est le temps d'expiration, exprim en heures, d'un document reu l'aide d'un protocole ne prenant pas en charge les dlais d'expiration. La valeur par dfaut est d'une heure. Tout document rcupr sur un hte ou un domaine correspondant celui dfini dans NoCache ne sera pas mis en cache. Si vous avez connaissance d'htes ou de domaines dont vous ne voulez pas mettre les documents en cache, supprimez le commentaire devant NoCache et dfinissez ici leurs noms de domaine ou d'hte.

NameVirtualHost
Vous devrez utiliser la directive NameVirtualHost pour l'adresse IP (et le numro de port, si ncessaire) de tout hte virtuel nomm que vous configurez. La configuration d'htes virtuels nomms est utilise pour configurer plusieurs htes virtuels pour plusieurs domaines, lorsque vous n'avez pas (ou ne voulez pas utiliser) d'adresses IP diffrentes pour les diffrents noms de domaine

pour lesquels votre serveur Web sert des documents. Remarque Vous ne pouvez pas utiliser d'htes virtuels nomms avec votre serveur scuris. Tout hte virtuel nomm que vous configurez ne peut fonctionner qu'avec des connexions HTTP non scurises et non avec des connexions SSL. Vous ne pouvez pas utiliser d'htes virtuels nomms avec votre serveur scuris parce que l'tablissement de liaison SSL (lorsque le navigateur accepte le certificat d'authentification du serveur Web scuris) intervient avant la demande HTTP qui identifie l'hte virtuel nomm correct. Autrement dit, l'authentification intervient avant l'identification des diffrents htes virtuels nomms. Si vous voulez utiliser des htes virtuels avec votre serveur scuris, vous devez opter pour des htes virtuels bass sur l'adresse IP. Si vous utilisez des htes virtuels bass sur le nom, supprimez le caractre de commentaire de la directive de configuration NameVirtualHost et ajoutez l'adresse IP correcte de votre serveur derrire NameVirtualHost. Ajoutez ensuite des informations supplmentaires sur les diffrents domaines utilisant les balises Virtual Host qui entourent ServerName pour chaque hte virtuel, plus toutes les autres directives de configuration exclusivement applicables cet hte virtuel.

VirtualHost
Des balises <VirtualHost> et </VirtualHost> entourent toutes les directives de configuration destines tre appliques un hte virtuel. La plupart des directives de configuration peuvent tre utilises l'intrieur de balises d'hte virtuel et s'appliquent exclusivement cet hte virtuel particulier. Un ensemble de balises VirtualHost commentes entourent certains exemples de directives de configuration et paramtres fictifs pour les informations que vous devriez fournir pour rgler un hte virtuel. Reportez-vous la la section intitule Utilisation d'htes virtuels pour avoir plus de dtails sur les htes virtuels.

SetEnvIf
La directive de configuration Apache SetEnvIf peut tre utilise pour rgler des variables d'environnement en fonction des en-ttes dans les demandes. Dans le fichier httpd.conf fourni, elle permet de dsactiver la fonction keep-alive HTTP et d'autoriser SSL fermer la connexion sans gnrer d'alerte de notification de fermeture du navigateur client. Ce paramtre est ncessaire pour certains navigateurs qui n'interrompent pas la connexion SSL avec une grande fiabilit.

Directives de configuration SSL


Les directives SSL figurant dans le fichier httpd.conf de votre serveur sont incluses pour permettre des communications Web scurises l'aide de SSL et TLS. Pour plus d'informations sur les directives SSL, utilisez votre navigateur pour consulter la page http://votre_domaine/manual/mod/mod_ssl/. Pour plus d'informations sur les directives SSL, reportez-vous la page http://www.modssl.org/docs/2.7/ssl_reference.html, un chapitre sur mod_ssl rdig par Ralf Engelschall. Ce document, le Guide de l'utilisateur de mod_ssl, commence l'URL http://www.modssl.org/docs/2.7/ et constitue une excellente rfrence pour mod_ssl (videmment) et pour la cryptographie Web en gnral.

Vous aimerez peut-être aussi