Chapitre 4. Configuration de votre serveur

La configuration par défaut de Red Hat Linux Secure Server fonctionne en principe pour la plupart des utilisateurs. Il est possible que vous ne deviez jamais modifier aucune directive de configuration d' Apache. Si vous tenez à modifier des options de configuration par défaut, vous devez en connaître la fonction et savoir où les trouver. Ce chapitre traite des options de configuration qui vous sont accessibles.

Après avoir installé Red Hat Linux Secure Server, vous pouvez accéder à la documentation relative au serveur Web Apache à l'adresse http://votre_domaine/manual/ ou bien utiliser la documentation relative à Apache disponible sur le Web à l'adresse http://www.apache.org/docs/. La documentation relative au serveur Web Apache contient une liste et des descriptions complètes de toutes les options de configuration d' Apache. Pour plus de commodité, ce guide fournit de brèves descriptions des directives de configuration utilisées par Red Hat Linux Secure Server.

Lorsque vous examinez le fichier de configuration de votre serveur Web, sachez que votre configuration par défaut comprend un serveur Web non sécurisé et un serveur Web sécurisé. Red Hat Linux Secure Server (le serveur Web sécurisé) fonctionne comme un hôte virtuel dont la configuration figure dans le fichier httpd.conf.ssl. Pour plus d'informations sur les hôtes virtuels, reportez-vous à la la section intitulée Utilisation d'hôtes virtuels.

NoteRemarque
 

Nous n'avons pas inclus d'extensions FrontPage qui donneraient à Red Hat Linux Secure Server la possibilité de travailler avec Microsoft(R) FrontPage. L'inclusion du support FrontPage est problématique pour deux raisons. Premièrement, la licence Microsoft interdit l'inclusion des extensions dans un produit tiers. Deuxièmement, la correction qui permettrait à Apache d'inclure des extensions FrontPage pose un problème de sécurité très sérieux. La solution implique l'octroi d'un accès root ; pour des raisons de sécurité, il est préférable de l'éviter. Ce type de risque est inacceptable pour quiconque est un peu soucieux de la sécurité de Red Hat Linux Secure Server et de son site Web.

Directives de configuration

Le fichier de configuration d'Apache est /etc/httpd/conf/httpd.conf ; les directives en matière de protocole SSL pour votre serveur sécurisé figurent dans /etc/httpd/conf/httpd.conf.ssl. Le fichier httpd.conf est bien commenté et parle de lui-même. La configuration par défaut de Red Hat Linux Secure Server fonctionnera dans la plupart des cas, de sorte que vous ne devrez probablement changer les directives d'aucun fichier. Il est possible, cependant, que vous vouliez en savoir plus sur les principales options de configuration.

Les fichiers vides srm.conf et access.conf figurent également dans le répertoire /etc/httpd/conf. Les fichiers srm.conf et access.conf étaient précédemment utilisés, en même temps que httpd.conf, comme fichiers de configuration pour Apache.

Si vous devez configurer Red Hat Linux Secure Server, il suffit d'éditer httpd.conf ou httpd.conf.ssl, puis de recharger, arrêter et démarrer Red Hat Linux Secure Server. Vous trouverez des instructions sur la manière de recharger, arrêter et démarrer votre serveur à la la section intitulée Démarrage et arrêt de votre serveur dans Chapitre 3.

Avant d'éditer un fichier de configuration, commencez par copier le fichier d'origine sous httpd.confold (ou sous un autre nom de votre choix). Ainsi, si vous commettez une erreur durant l'édition du fichier de configuration, vous disposerez toujours d'une copie de sauvegarde qui vous permettra de tout reprendre depuis le début.

Si vous commettez une erreur de sorte que Red Hat Linux Secure Server ne fonctionne pas correctement, le premier endroit à examiner est le fichier de configuration que vous avez édité récemment. Vérifiez si vous n'avez pas commis de faute de frappe. Les endroits suivants à examiner sont le journal des erreurs de Red Hat Linux Secure Server (/etc/httpd/logs/ssl-error_log) ou le journal des erreurs de vos serveurs Web non sécurisés (/var/log/httpd/error_log). Le journal des erreurs peut vous sembler difficile à interpréter si vous manquez d'expérience. Toutefois, si vous venez de rencontrer un problème, les dernières entrées du journal des erreurs devraient fournir certaines indications sur ce qu'il s'est passé.

Les sections suivantes contiennent de brèves descriptions des directives incluses dans le fichier httpd.conf, dans l'ordre dans lequel elles se présentent. Ces descriptions ne sont pas exhaustives. Pour plus d'informations, reportez-vous à la documentation sur Apache fournie au format HTML à l'adresse http://votre_domaine/manual/ ou à la documentation du groupe Apache à l'adresse http://www.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.html, ou consultez le document mod_ssl User Manual à l'adresse http://www.modssl.org/docs/2.6/.

ServerType

Votre ServerType (type de serveur) peut être soit inetd, soit standalone. Par défaut, Red Hat Linux Secure Server est paramétré sur ServerType standalone. ServerType standalone signifie que le serveur est lancé une fois, puisqu'il prend en charge toutes les connexions. ServerType inetd signifie que, pour chaque connexion HTTP, une nouvelle instance du serveur est lancée. Chaque instance du serveur prend en charge la connexion, puis s'arrête une fois la connexion terminée. Comme vous pouvez probablement l'imaginer, l'utilisation de inetd est très inefficace. Un autre problème est que inetd risque de ne pas fonctionner correctement, en fonction du groupe Apache. Pour ces deux raisons, laissez l'option ServerType de Red Hat Linux Secure Server paramétrée sur standalone.

ServerRoot

ServerRoot est le répertoire qui contiendra les sous-répertoires pour les fichiers du serveur. Les serveurs tant sécurisé que non sécurisé sont paramétrés pour utiliser le ServerRoot /etc/httpd.

LockFile

LockFile est le chemin d'accès du fichier de blocage utilisé lorsque le serveur Apache est compilé avec USE_FCNTL_SERIALIZED_ACCEPT ou USE_FLOCK_SERIALIZED_ACCEPT. LockFile doit normalement conserver sa valeur par défaut.

PidFile

PidFile est le nom du fichier dans lequel le serveur consigne son ID de processus (pid). Red Hat Linux Secure Server est paramétré pour consigner son pid dans /var/run/httpd.pid.

ScoreBoardFile

ScoreBoardFile stocke les informations internes au processus serveur utilisées pour la communication entre le processus serveur père et ses processus fils. Le ScoreBoardFile de Red Hat Linux Secure Server est défini sur /var/run/httpd.scoreboard.

ResourceConfig

La directive ResourceConfig donne pour instruction au serveur de lire le fichier dont le nom figure après ResourceConfig. La directive ResourceConfig est commentée.

AccessConfig

La directive AccessConfig donne pour instruction au serveur de lire le fichier dont le nom figure après AccessConfig, après avoir lu le fichier nommé ResourceConfig. La directive AccessConfig est commentée.

Timeout

Timeout définit, en secondes, le temps pendant lequel votre serveur attend des réceptions et des émissions en cours de communication. Plus spécifiquement, Timeout définit 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 requête POST ou PUT et le temps pendant lequel il attend entre des ACK répondant aux paquets TCP. Timeout est défini sur 300 secondes, ce qui convient dans la plupart des cas.

KeepAlive

KeepAlive définit si votre serveur autorisera des connexions persistantes (c'est-à-dire plusieurs demandes par connexion). KeepAlive peut être utilisé pour empêcher tout client de consommer trop de ressources du serveur. Par défaut, KeepAlive est défini sur on, ce qui signifie que votre serveur autorise les connexions persistantes. Vous pouvez le définir sur off, ce qui désactive les connexions persistantes. Reportez-vous à la directive MaxKeepAliveRequests pour découvrir une manière similaire de limiter les demandes par connexion.

MaxKeepAliveRequests

Cette directive définit le nombre maximum de demandes autorisées par connexion persistante. Le groupe Apache recommande d'utiliser un paramétrage afin d'améliorer les performances de votre serveur. MaxKeepAliveRequests est réglé sur 100 par défaut, ce qui devrait convenir pour la plupart des situations.

KeepAliveTimeout

KeepAliveTimeout définit la durée en secondes pendant laquelle votre serveur attendra, après avoir servi une demande, la demande suivante, avant d'interrompre la connexion. Une fois une demande reçue, c'est la directive Timeout qui s'applique à la place.

MinSpareServers et MaxSpareServers

Le serveur Web Apache s'adapte de façon dynamique à la charge reçue en maintenant un nombre de processus serveur de rechange approprié en fonction du trafic. Le serveur vérifie le nombre de serveurs attendant un demande et en supprime s'ils sont plus nombreux que MaxSpareServers ou en crée s'ils sont moins nombreux que MinSpareServers. La valeur MinSpareServers par défaut de votre serveur est 5 ; la valeur MaxSpareServers par défaut de votre serveur est 20. Des paramètres par défaut doivent être appropriés dans presque toutes les situations. N'augmentez pas MinSpareServers à une valeur très importante car cela créera une charge importante sur le serveur, même si le trafic est faible.

StartServers

StartServers définit le nombre de processus créés au démarrage. Du fait que le serveur Web supprime et crée des processus serveur, de façon dynamique en fonction de la charge du trafic, il est inutile de modifier ce paramètre. Votre serveur Web est réglé pour lancer huit processus serveur au démarrage.

MaxClients

MaxClients définit une limite au nombre total de processus serveur (c'est-à-dire le nombre de clients connectés simultanément) pouvant s'exécuter en même temps. Conservez une valeur élevée pour MaxClients (par défaut, la valeur du serveur est réglée sur 150) car personne d'autre ne sera autorisé à se connecter une fois ce nombre atteint. Vous ne pouvez pas définir pour MaxClients une valeur supérieure à 256 sans recompiler Apache. La principale raison d'être de MaxClients est d'éviter qu'un serveur Web emballé ne perturbe votre système d'exploitation.

MaxRequestsPerChild

MaxRequestsPerChild définit le nombre total de demandes que chaque processus serveur fils sert avant de disparaître. La principale raison justifiant de définir MaxRequestsPerChild consiste à éviter des pertes de mémoire induites par les processus longs. La valeur par défaut de MaxRequestsPerChild pour votre serveur est 100.

Listen

La commande Listen identifie les ports sur lesquels Red Hat Linux Secure Server accepte les demandes entrantes. Dans le fichier httpd.conf.ssl, Red Hat Linux Secure Server est paramétré pour scruter le port 80 afin d'assurer les communications Web non sécurisées et le port 443 pour assurer les communications Web sécurisées.

La commande Listen peut également être utilisée pour spécifier des adresses IP particulières sur lesquelles le serveur acceptera des connexions.

BindAddress

La commande BindAddress permet de spécifier les adresses IP que votre serveur scrutera. Utilisez plutôt la directive Listen si vous avez besoin de cette fonctionnalité. La commande BindAddress n'est pas utilisée par votre serveur Web ; par défaut, elle est commentée dans httpd.conf.

LoadModule

La commande LoadModule est utilisée pour charger des modules DSO (Dynamic Shared Object, objet partagé dynamique). Pour plus d'informations sur la prise en charge de DSO par Red Hat Linux Secure Server, y compris sur la manière d'utiliser la directive LoadModule , reportez-vous à la la section intitulée Ajout de modules au serveur. L'ordre des modules étant important, ne les déplacez pas.

ClearModuleList

La directive ClearModuleList est située juste devant la longue liste de directives AddModule. ClearModuleList efface la liste intégrée de modules actifs du serveur. Ensuite, la liste de directives AddModule recrée la liste, immédiatement après ClearModuleList.

AddModule

AddModule est la directive utilisée par Red Hat Linux Secure Server pour créer une liste complète de tous les modules disponibles. Vous utiliserez la directive AddModule si vous ajoutez votre propre module comme DSO. Pour plus d'informations sur la manière dont AddModule est utilisé pour la prise en charge de DSO, reportez-vous à la la section intitulée Ajout de modules au serveur.

ExtendedStatus

La directive ExtendedStatus contrôle le fait qu' Apache génère des informations élémentaires ou détaillées sur l'état du serveur 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 intitulée Zone.

Port

Normalement, Port définit le port que votre serveur scrute. Toutefois, Red Hat Linux Secure Server scrute plusieurs ports par défaut, du fait que la directive Listen est également utilisée. Lorsque les directives Listen sont activées, votre serveur scrute tous ces ports. Pour plus d'informations sur Listen, reportez-vous à la description de la directive Listen.

La commande Port est également utilisée pour spécifier le numéro de port utilisé pour créer un nom autorisé pour votre serveur. Pour plus d'informations sur le nom autorisé de votre serveur, reportez-vous à la directive UseCanonicalName.

User

La directive User définit le paramètre userid employé par le serveur pour répondre à des demandes. Le paramétrage de User détermine l'accès du serveur. Tous les fichiers inaccessibles à cet utilisateur seront également inaccessibles aux visiteurs de votre site Web. La valeur par défaut pour User est nobody, c'est-à-dire un utilisateur non privilégié.

User devrait avoir pour seuls privilèges la possibilité d'accéder à des fichiers supposés visibles par le monde extérieur. User est également le propriétaire de tous les processus CGI engendrés par le serveur. User ne devrait pas être autorisé à exécuter un code non destiné à constituer une réponse à des demandes HTTP.

NoteRemarque
 

A moins d'être absolument certain de savoir ce que vous faites, ne paramétrez pas User sur root. Le fait de paramétrer User sur root générera certains problèmes de sécurité importants pour Red Hat Linux Secure Server.

Le processus httpd père commence par s'exécuter comme root en cours de fonctionnement normal, mais est ensuite immédiatement renvoyé vers l'utilisateur nobody. Le serveur doit démarrer comme root parce qu'il doit se relier à un port inférieur à 1024 (le port par défaut pour les communications Web sécurisées est le port 443 ; le port par défaut pour les communications Web non sécurisées est le port 80). Les ports inférieurs à 1024 étant réservés à l'usage du système, ils ne peuvent être utilisés que par quelqu'un connecté en tant que root. Toutefois, une fois le serveur relié à son port, il renvoie le processus à User avant d'accepter des demandes de connexion.

Group

Le paramètre Group est similaire au paramètre User. Le paramètre Group définit le groupe sous lequel le serveur répondra à des demandes. Le paramètre Group par défaut est également nobody.

ServerAdmin

ServerAdmin indique l'adresse électronique de l'administrateur de Red Hat Linux Secure Server. Cette adresse électronique apparaîtra dans les messages d'erreur sur les pages Web générées par le serveur, de manière à ce que les utilisateurs puissent signaler un problème en envoyant un courrier électronique à l'administrateur du serveur. ServerAdmin est défini par défaut sur root@localhost, mais il est préférable de le remplacer par l'adresse électronique de votre webmaster ou de votre administrateur système.

Habituellement, le meilleur paramétrage de ServerAdmin est webmaster@votre_domaine.com. Ensuite, paramétrez webmaster sur la personne responsable du serveur Web dans /etc/aliases. Enfin, exécutez /usr/bin/newaliases pour ajouter le nouvel alias.

ServerName

ServerName permet de définir un nom pour votre serveur, qui diffère du nom réel de votre hôte. Par exemple, vous pouvez utiliser www.votre_domaine.com lorsque le nom réel de votre serveur est votre_hôte.votre_domaine.com. Le ServerName doit être un nom DNS (Domain Name Service, service de nom de domaine) que vous êtes autorisé à utiliser (ne l'inventez pas).

Si vous spécifiez un ServerName, assurez-vous que son adresse IP et son nom de serveur sont inclus dans votre fichier /etc/hosts.

DocumentRoot

DocumentRoot est le répertoire contenant la plupart des fichiers HTML qui seront servis en réponse aux demandes. La valeur de DocumentRoot par défaut pour les serveurs Web sécurisés et non sécurisés est /home/httpd/html. Par exemple, le serveur pourrait recevoir une demande pour le document suivant :

http://votre_domaine/page.html
	

Le serveur recherchera la demande suivante dans le répertoire par défaut :

/home/httpd/html/page.html
	

Si vous voulez modifier DocumentRoot de manière à ce qu'il ne soit plus partagé par Red Hat Linux Secure Server et le serveur Web non sécurisé, reportez-vous à la la section intitulée Utilisation d'hôtes virtuels pour plus de détails.

Directory

Les balises <Directory /chemin/vers/répertoire> et </Directory> sont utilisées pour entourer un groupe de directives de configuration destinées à n'être appliquées qu'à ce répertoire et à tous ses sous-répertoires. Toute directive applicable à un répertoire peut être utilisée dans des balises <Directory>. Les balises <File> peuvent être utilisées de la même manière en les appliquant à un fichier spécifique.

Par défaut, des paramètres très restrictifs sont appliqués au répertoire root, à l'aide des directives Options (voir la section intitulée Options) et AllowOverride (voir la la section intitulée AllowOverride). Dans cette configuration, il faut explicitement attribuer ces paramètres à tout répertoire du système ayant besoin de paramètres plus permissifs.

Le DocumentRoot (/home/httpd/html) est défini de manière à avoir des paramètres moins rigides, de sorte que des demandes HTTP puissent être servies à partir de là.

Le répertoire CGI-BIN est configuré pour permettre l'exécution de scripts CGI avec l'option ExecCGI . Si vous devez exécuter un script CGI dans un autre répertoire, vous devez définir ExecCGI pour ce répertoire. Par exemple, si votre répertoire CGI-BIN est /home/httpd/cgi-bin et si vous voulez exécuter des scripts CGI depuis /home/mon_répertoire_cgi, ajoutez une option ExecCGI pour définir des directives Directory telle que la suivante pour votre fichier httpd.conf :

<Directory /home/mon_répertoire_cgi>
    Options +ExecCGI
</Directory>

Pour permettre l'exécution d'un script CGI dans /home/mon_répertoire_cgi, vous devez effectuer quelques opérations supplémentaires, outre le paramétrage de ExecCGI. Il faut également que la directive AddHandler soit décommentée pour identifier les fichiers avec l'extension .cgi comme des scripts CGI. Reportez-vous à la la section intitulée AddHandler pour plus de détails sur la définition de AddHandler. Les autorisations pour les scripts CGI et le chemin d'accès complet aux scripts doivent être définies sur 0755. Enfin, le propriétaire du script et celui du répertoire doivent coïncider.

Options

La directive Options contrôle les fonctions de serveur disponibles dans un répertoire particulier. Par exemple, sous les paramètres restrictifs spécifiés pour le répertoire root, Options est défini sur None. Aucune fonction n'est activée.

Par défaut, dans votre répertoire /home/httpd/html, Options est paramétré pour inclure Indexes, FollowSymLinks et Includes. Indexes permet au serveur de générer le contenu d'un répertoire si aucun DirectoryIndex (c'est-à-dire index.html, etc.) n'est spécifié. FollowSymLinks permet au serveur de suivre les liens symboliques de ce répertoire. Includes signifie que des fichiers à inclure côté serveur sont permis.

Vous devez également inclure des instructions Options pour les répertoires à l'intérieur de directives d'hôtes virtuels si vous voulez que vos hôte virtuels reconnaissent ces Options. Votre serveur Web sécurisé est configuré comme hôte virtuel dans httpd.conf.ssl.

Par exemple, les fichiers à inclure côté serveur sont déjà activés dans le répertoire /home/httpd/html à cause de la ligne Options Includes dans la section des directives Directory /home/httpd/html. Toutefois, si vous voulez qu'un hôte virtuel reconnaisse que les fichiers à inclure côté serveur soient autorisés dans /home/httpd/html, vous devez inclure une section telle que la suivante pour votre hôte virtuel :

<Directory /home/httpd/html>
Options Includes
</Directory>

AllowOverride

La directive AllowOverride définit si, oui ou non, des Options peuvent être outrepassées par les pseudo-instructions dans un fichier .htaccess. Par défaut, le DocumentRoot est défini pour ne pas permettre à .htaccess de passer outre.

order

La directive order contrôle simplement l'ordre dans lequel les directives allow et deny sont évaluées. Votre serveur est configuré pour évaluer les directives allow avant les directives deny pour le répertoire /home/httpd/html.

allow

allow spécifie quel demandeur peut accéder à un répertoire donné. Le demandeur peut être all, un nom de domaine, une adresse IP, une adresse IP partielle, une paire réseau/masque réseau, etc. Votre répertoire /home/httpd/html est configuré pour allow (permettre) des demandes émanant de all (tous ou n'importe qui).

deny

Deny fonctionne exactement comme allow, mais vous spécifiez à qui l'accès est refusé. Votre répertoire /home/httpd/html n'est pas configuré pour deny (refuser) les demandes de tout le monde.

UserDir

UserDir est le nom du sous-répertoire, au sein du répertoire de départ personnel de chaque utilisateur, où devraient être placés les fichiers HTML personnels devant être servis par le serveur Web. Par défaut, le sous-répertoire est public_html. Par exemple, le serveur pourrait recevoir la demande suivante :

http://votre_domaine/~username/page.html
	

Le serveur rechercherait le fichier :

/home/username/public_html/page.html
	

Dans l'exemple ci-dessus, /home/username est le répertoire personnel de l'utilisateur (le chemin d'accès par défaut aux répertoires personnels des utilisateurs peut être différent sur votre système).

Assurez-vous que les autorisations relatives aux répertoires personnels des utilisateurs sont correctement définies. Les répertoires personnels des utilisateurs doivent être définis sur 0755. Les bits r et x doivent être définis sur les répertoires public_html des utilisateurs (0755 fonctionnera). Les fichiers qui seront servis dans les répertoires public_html des utilisateurs doivent être définis sur au moins 0644.

DirectoryIndex

DirectoryIndex est la page par défaut servie par le serveur lorsqu'un utilisateur demande un index de répertoire en insérant une barre oblique (/) à la fin du nom de répertoire.

Par exemple, lorsqu'un utilisateur demande la page http://votre_domaine/répertoire/, il obtient soit la page DirectoryIndex si elle existe, soit une liste du contenu du répertoire générée par le serveur. La directive DirectoryIndex par défaut ressemble à ce qui suit :

DirectoryIndex index.html index.htm index.shtml index.cgi

Le serveur essaie de trouver l'un de ces quatre fichiers d'index et renvoie le premier qu'il trouve. S'il n'en trouve aucun, le serveur génère et renvoie une liste, au format HTML, des fichiers et sous-répertoires figurant dans le répertoire.

AccessFileName

AccessFileName nomme le fichier que le serveur doit utiliser pour les informations de contrôle d'accès dans chaque répertoire. Par défaut, votre serveur Web est paramétré pour utiliser .htaccess, s'il existe, afin d'accéder aux informations de contrôle d'accès dans chaque répertoire.

Immédiatement après la directive AccessFileName, un ensemble de balises Files applique un contrôle d'accès à tous les fichiers .htaccess. Ces directives refusent l'accès Web à tous les fichiers .htaccess pour des raisons de sécurité.

Si vous utilisez un fichier différent de .htaccess pour les informations de contrôle d'accès au répertoire, veillez à modifier la ligne <Files .htaccess> pour inclure le nom du fichier utilisé au lieu de .htaccess.

CacheNegotiatedDocs

Par défaut, Red Hat Linux Secure Server demande aux serveurs proxy de ne pas mettre en cache des documents négociés sur la base du contenu (c'est-à-dire qui peuvent changer avec le temps ou suite à l'entrée du demandeur). Si vous annulez le commentaire de CacheNegotiatedDocs, vous désactivez cette fonction et les serveurs proxy seront autorisés à mettre en cache les documents à partir de ce moment.

UseCanonicalName

UseCanonicalName est paramétré par défaut sur on. UseCanonicalName permet au serveur de construire une URL pointant sur lui-même, à l'aide de ServerName et de Port. Lorsque le serveur fait référence à lui-même en réponse aux demandes des clients, il utilise cette URL. Si vous paramétrez UseCanonicalName sur off, le serveur utilisera plutôt la valeur figurant dans la demande du client pour pointer sur lui-même.

TypesConfig

TypesConfig nomme le fichier qui définit la liste par défaut des mappages de type MIME (extensions de nom de fichier pour types de contenu). Le fichier TypesConfig par défaut est /etc/mime.types. Au lieu d'éditer /etc/mime.types, il est recommandé d'ajouter des mappages de type MIME à l'aide de la directive AddType.

DefaultType

DefaultType définit un type de contenu par défaut pour le serveur Web à utiliser pour des documents dont les types de MIME ne peuvent pas être déterminés. Par défaut, votre serveur Web suppose que le type de contenu de tout fichier au contenu indéterminé est du texte en clair.

IfModule

Les balises <IfModule> et </IfModule> entourent des directives conditionnelles. Les directives contenues à l'intérieur des balises IfModule sont traitées dans l'un des deux cas suivants. Les directives sont traitées si le module contenu dans la balise de début <IfModule> est compilé dans le serveur Apache. Si le signe "!" (point d'exclamation) est inclus devant le nom du module, les directives ne sont traitées que si le module figurant dans la balise de début <IfModule> n'est pas compilé.

Le fichier mod_mime_magic.c est utilisé dans ces balises IfModule. Le module mod_mime_magic se comporte comme la commande file UNIX qui examine quelques octets du contenu d'un fichier, puis utilise des "nombres magiques" et autres astuces pour déterminer 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 définition des types : conf/magic dans ce cas.

Le module mod_mime_magic n'est pas compilé par défaut. Si vous voulez l'utiliser, reportez-vous à la la section intitulée Ajout de modules au serveur pour plus de détails sur la manière d'ajouter des modules à votre serveur.

HostnameLookups

HostnameLookups peut être paramétré sur on ou sur off. Si vous autorisez HostnameLookups (en le paramétrant sur on), votre serveur résoudra automatiquement l'adresse IP pour chaque connexion demandant un document de votre serveur Web. La résolution de l'adresse IP signifie que votre serveur établira une ou plusieurs connexions avec le DNS (Domain Name System, système de nom de domaine) afin de trouver le nom d'hôte correspondant à une adresse IP particulière.

Généralement, vous devez laisser HostnameLookups paramétré 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.

L'utilisation de HostnameLookups pose également une question pour Internet dans son ensemble. Toutes les connexions individuelles établies pour examiner chaque nom d'hôte contribuent à augmenter considérablement le trafic sur Internet. C'est pourquoi, pour le bien de votre propre serveur Web, de même que pour celui d'Internet dans son ensemble, laissez HostnameLookups paramétré sur off.

ErrorLog

ErrorLog nomme le fichier dans lequel sont consignées les erreurs du serveur. Comme l'indique cette directive, le fichier journal des erreurs pour votre serveur Web non sécurisé est /var/log/httpd/error_log.

Le fichier error_log pour Red Hat Linux Secure Server est /etc/httpd/logs/ssl-error_log. La directive ErrorLog qui nomme le journal des erreurs de Red Hat Linux Secure Server est incluse dans les commandes d'hôte virtuel du fichier httpd.conf.ssl.

Il est intéressant de consulter les journaux des erreurs si votre serveur Web génère des erreurs ou tombe en panne et si vous en ignorez la cause.

LogLevel

LogLevel définit le niveau de détail des messages d'erreur des journaux des erreurs. LogLevel peut être défini (du moins détaillé au plus détaillé) sur emerg, alert, crit, error, warn, notice, info ou debug. Le LogLevel de Red Hat Linux Secure Server est défini sur warn.

LogFormat

Les directives LogFormat de votre fichier httpd.conf définissent un format pour les messages de votre journal des erreurs ; Ce format devrait rendre votre journal des accès plus lisible.

CustomLog

CustomLog identifie le fichier journal et le format de fichier journal.

Vous devez connaître l'emplacement du fichier journal d'accès si vous voulez générer des statistiques de performances serveur basées sur l'accès pour votre serveur Web non sécurisé. Le Webalizer, que vous pouvez installer en même temps que Red Hat Linux Secure Server, est un programme qui analyse le journal d'accès pour générer des statistiques sur les performances de votre serveur Web.

Le journal des accès (ou transfert) par défaut de votre serveur non sécurisé est /var/log/httpd/access_log . Le TransferLog de votre serveur sécurisé, /etc/httpd/logs/ssl-access_log, est défini dans httpd.conf.ssl.

CustomLog définit également le format du fichier journal ordinaire. Le format du fichier journal ordinaire ressemble à ceci :

remotehost rfc931 authuser [date] "request" status bytes

remotehost

Nom d'hôte distant. Si le nom d'hôte n'est pas disponible auprès du DNS, ou si HostnameLookups est défini sur Off, remotehost sera l'adresse IP de l'hôte distant.

rfc931

Non utilisé. Le signe - figure dans le fichier journal à sa place.

authuser

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 chaîne de demande telle qu'elle est venue du navigateur ou du client.

état

Code d'état retourné au navigateur ou au client.

octets

Taille du document.

La commande CustomLog peut être utilisée pour configurer des fichiers journaux spécifiques afin de consigner des pointeurs spécifiques (URL pour la page Web qui pointait vers une page figurant sur votre serveur Web) et/ou des agents (navigateurs utilisés pour récupérer des pages Web sur votre serveur Web). Les lignes CustomLog pertinentes sont commentées, comme illustré, mais vous devez supprimer ce commentaire si vous voulez ces deux fichiers journaux pour votre serveur non sécurisé :

#CustomLog /var/log/httpd/referer_log referer
#CustomLog /var/log/httpd/agent_log agent

Vous pouvez également définir la directive CommonLog pour qu'elle utilise un journal combiné en supprimant le commentaire de la ligne suivante :

#CustomLog /var/log/httpd/access_log combined

Un journal combiné ajoutera les champs du pointeur et de l'agent à la fin des champs de journal communs. Si vous voulez utiliser un journal combiné, commentez la directive CustomLog définissant votre journal des accès sur le format de fichier journal commun.

ServerSignature

La directive ServerSignature ajoute une ligne contenant la version du serveur Apache et le ServerName de l'hôte servant à tout document généré par le serveur (par exemple, des messages d'erreur renvoyés à des clients). ServerSignature est paramétré sur on par défaut. Vous pouvez le paramétrer sur off, en sorte qu'aucune signature ne soit ajoutée, ou sur Email, qui ajoutera une balise HTML mailto:ServerAdmin à la ligne de signature.

Alias

Le paramètre Alias permet aux répertoires de se trouver en dehors du répertoire DocumentRoot tout en restant accessibles au serveur Web. Toute URL se terminant par l'alias sera automatiquement convertie en chemin d'accès de l'alias. Par défaut, un alias est déjà configuré. Un répertoire icons est accessible par le serveur Web, mais le répertoire n'est pas le DocumentRoot. Le répertoire icons, un alias, est en réalité /home/httpd/icons/, pas /home/httpd/html/icons/.

ScriptAlias

Le paramètre ScriptAlias définit l'endroit où les scripts CGI (ou d'autres types de scripts) peuvent être trouvés. Généralement, il est préférable de ne pas laisser de scripts CGI dans DocumentRoot. Si des scripts CGI figurent dans DocumentRoot , ils pourraient être considérés comme des documents de texte. Même s'il vous est indifférent que l'on puisse voir (et utiliser) vos scripts CGI, le fait de révéler la manière dont ils fonctionnent peut permettre à des personnes peu scrupuleuses d'exploiter d'éventuelles failles de sécurité du script, menaçant ainsi la sécurité de votre serveur. Par défaut, le répertoire cgi-bin est un ScriptAlias de /cgi-bin/, et se trouve en réalité dans /home/httpd/cgi-bin/.

Options ExecCGI est sélectionné pour votre répertoire /home/httpd/cgi-bin , ce qui signifie que l'exécution de scripts CGI est autorisée dans ce répertoire.

Reportez-vous à la la section intitulée AddHandler et à la la section intitulée Directory pour plus d'instructions sur l'exécution de scripts CGI dans des répertoires autres que le répertoire CGI-BIN.

Redirect

Lorsqu'une page Web est déplacée, la commande Redirect peut être utilisée pour mapper l'ancienne URL sur une autre URL. Le format est le suivant :

Redirect /chemin/page.html http://nouveau_domaine/chemin/page.html

Ainsi, si une demande HTTP est reçue pour une page qui se trouvait précédemment à l'adresse http://votre_domaine/chemin/page.html, le serveur renverra la nouvelle URL (http://nouveau_domaine/chemin/page.html) au client qui devrait essayer d'extraire le document de la nouvelle URL.

IndexOptions

IndexOptions contrôle l'aspect des contenus de répertoire générés par le serveur en ajoutant des icônes et descriptions de fichiers. Votre serveur Web peut générer un contenu de répertoire lorsqu'il reçoit une demande HTTP telle que la suivante :

http://www.votre_domaine.com/répertoire/

Tout d'abord, votre serveur Web recherche dans ce répertoire un fichier de la liste figurant après la directive DirectoryIndex. Si votre serveur Web ne trouve pas l'un de ces fichiers, il génère une liste HTML des fichiers et sous-répertoires figurant dans ce répertoire. Vous pouvez modifier l'aspect de cette liste à l'aide de certains répertoires de httpd.conf, notamment IndexOptions.

Par défaut, FancyIndexing est activé. Si FancyIndexing est activé, le fait de cliquer sur les en-têtes de colonne de la liste modifie l'ordre d'affichage en fonction du contenu de cette colonne. Un autre clic sur le même en-tête permet de basculer de l'ordre ascendant à l'ordre descendant, et inversement. FancyIndexing affiche également des icônes différentes pour les différents fichiers, en fonction des extensions de fichier.

IndexOptions comprend un certain nombre d'autres paramètres qui peuvent être définis pour contrôler l'aspect des répertoires générés par le serveur. Les paramètres incluent IconHeight et IconWidth, pour faire en sorte que le serveur inclue des balises HTML HEIGHT et WIDTH pour les icônes dans les pages Web générées par le serveur ; IconsAreLinks, pour faire en sorte que les icônes agissent comme une partie de l'ancre du lien HTML, en même temps que le nom de fichier, et autres. Reportez-vous à la documentation relative à Apache pour plus de détails, si vous souhaitez pouvoir contrôler l'aspect des répertoires générés par le serveur.

AddIconByEncoding

Cette directive nomme des icônes qui seront affichées par fichier, avec codage MIME, dans des listes de répertoire générées par le serveur. Par défaut, votre serveur Web montre l'icône compressed.gif à côté des fichiers codés MIME x-compress et x-gzip dans des listes de répertoire générées par le serveur.

AddIconByType

Cette directive nomme des icônes qui s'afficheront à côté de fichiers avec des types de MIME dans des listes de répertoire générées par le serveur. Par exemple, votre serveur est paramétré pour afficher l'icône text.gif à côté de fichiers avec un type MIME "texte" dans des listes de répertoire générées par le serveur.

AddIcon

AddIcon indique au serveur l'icône à afficher dans les listes de répertoire générées par le serveur pour certains types de fichiers ou pour des fichiers avec certaines extensions. Par exemple, votre serveur Web est paramétré pour afficher l'icône binary.gif pour les fichiers portant les extensions .bin ou .exe.

DefaultIcon

DefaultIcon nomme l'icône à afficher dans les listes de répertoire générées par le serveur pour les fichiers pour lesquels aucune autre icône n'est spécifiée. Le fichier image unknown.gif est l'icône par défaut ( DefaultIcon) pour ces fichiers.

AddDescription

Vous pouvez utiliser AddDescription pour afficher un texte spécifié pour certains fichiers, dans des listes de répertoire générées par le serveur. Vous pouvez nommer des fichiers spécifiques, utiliser des expressions comprenant des caractères spéciaux de recherche ou des extensions de fichier pour spécifier 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 répertoire générées par le 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 FancyIndexing soit activé.

ReadmeName

ReadmeName nomme le fichier qui (s'il existe dans le répertoire) sera ajouté à la fin des listes de répertoire générées par le serveur. Le serveur Web commencera par essayer d'inclure le fichier comme document HTML, puis essaiera de l'inclure comme texte en clair. Par défaut, ReadmeName est paramétré sur README.

HeaderName

HeaderName nomme le fichier qui (s'il existe dans le répertoire) sera ajouté au début des listes de répertoire générées par le serveur. Comme ReadmeName, le serveur essaiera, si possible, de l'inclure sous la forme d'un document HTML, ou, sinon, dans un texte en clair.

IndexIgnore

IndexIgnore affiche une liste d'extensions de fichier, de noms de fichier partiels, d'expressions contenant des caractères spéciaux de recherche ou de noms de fichiers complets. Le serveur Web n'inclura pas les fichiers correspondant à l'un de ces paramètres dans les listes de répertoire générées par le serveur.

AddEncoding

AddEncoding nomme des extensions de nom de fichier qui devraient spécifier un type de codage particulier. AddEncoding peut également être utilisé pour donner pour instruction à certains navigateurs (pas tous) de décompresser certains fichiers lors de leur téléchargement.

AddLanguage

AddLanguage associe des extensions de nom de fichiers à des langues spécifiques. Cette directive est essentiellement utile pour la négociation de contenu, lorsque le serveur retourne un document parmi d'autres, en fonction de la préférence linguistique du client telle que définie dans son navigateur.

LanguagePriority

LanguagePriority vous permet de définir l'ordre de préséance des différentes langues dans lesquelles les fichiers doivent être servis. Ce paramètre sera activé si le client n'a pas défini de préférence linguistique dans son navigateur.

AddType

Utilisez la directive AddType pour définir des paires de type de MIME et d'extension de fichier. Par exemple, si vous utilisez mod_php, votre serveur Web utilise la directive AddType pour faire en sorte que votre serveur Web reconnaisse les fichiers portant des extensions PHP ( .php3 .phps .phtml) comme fichiers de type MIME "PHP".

La ligne AddType suivante indique au serveur de reconnaître l'extension de fichier .shtml (pour fichiers à inclure côté serveur) :

AddType text/html .shtml

Vous devrez inclure la ligne ci-dessus à l'intérieur des balises de l'hôte virtuel pour tous les hôtes virtuels devant autoriser des fichiers à inclure côté serveur.

AddHandler

AddHandler mappe des extensions de fichier sur des modules de commande spécifiques. 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 même pour les fichiers situés en dehors du répertoire ScriptAlias. Il y a une telle ligne AddHandler dans votre fichier httpd.conf :

#AddHandler cgi-script .cgi

Il faut supprimer le commentaire de la ligne. Ensuite Apache exécutera des scripts CGI pour les fichiers dont le nom se termine par .cgi , même s'ils se trouvent hors de ScriptAlias, qui est défini par défaut pour localiser votre répertoire /cgi-bin/ dans /home/httpd/cgi-bin/.

Vous devrez également définir ExecCGI comme une directive Options pour tout répertoire contenant un script CGI. Reportez-vous à la la section intitulée Directory pour plus d'informations sur la définition de ExecCGI pour un répertoire. Vous devrez en outre vous assurer que les autorisations sont correctement définies pour les scripts CGI et les répertoires contenant des scripts CGI. Les scripts CGI et tout les répertoires du chemin d'accès aux scripts doivent être paramétrés sur 0755. Enfin, le propriétaire du répertoire et celui du fichier de script doivent coïncider.

Vous devrez ajouter la même ligne AddHandler à votre configuration VirtualHost si vous utilisez des hôtes virtuels et voulez qu'ils reconnaissent également des scripts CGI hors de ScriptAlias.

Outre des scripts CGI, votre serveur Web utilise également AddHandler pour traiter des fichiers HTML analysés par le serveur et imagemap.

Action

Action vous permet d'associer un type de contenu MIME à un CGI, de sorte que chaque demande d'un fichier de ce type déclenche l'exécution d'un script CGI particulier.

MetaDir

MetaDir spécifie le nom d'un répertoire où votre serveur Web doit rechercher des fichiers contenant des informations META (en-têtes HTTP supplémentaires) à inclure lorsqu'il sert des documents.

MetaSuffix

MetaSuffix spécifie le suffixe du nom du fichier contenant les informations META (en-têtes HTTP supplémentaires), qui devrait se trouver dans le répertoire MetaDir.

ErrorDocument

Par défaut, en cas de problème 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 paramétrage par défaut, 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 réponse HTTP à un message ou une URL qui sera renvoyée au client.

BrowserMatch

La directive BrowserMatch permet à votre serveur de définir des variables d'environnement et/ou de prendre des mesures appropriées en fonction du champ d'en-tête User-Agent HTTP qui identifie le navigateur du client. Par défaut, votre serveur Web utilise BrowserMatch pour refuser des connexions à certains navigateurs présentant des problèmes connus de même que pour désactiver les keepalives et vidages d'en-tête HTTP pour les navigateurs ayant des problèmes avec ces actions.

Zone

Les balises <Location> et </Location> permettent de spécifier un contrôle d'accès basé sur l'URL.

La première utilisation des balises Location se situe dans les balises IfModule mod_perl.c. Ces directives de configuration sont activées si le module mod_perl.c est compilé dans Apache. Reportez-vous à la la section intitulée Ajout de modules au serveur pour plus d'informations sur l'ajout de modules à Apache.

Les balises Location nomment le répertoire /home/httpd/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 chaîne /perl, votre serveur Web recherche dans /home/httpd/perl/ le script Perl approprié.

Plusieurs autres options <Location> sont commentées dans votre fichier httpd.conf , notamment des sections pour autoriser la fonction HTTP put (par exemple la fonction Publish de Netscape Composer) et permettre l'accès à la documentation sur le système local depuis un hôte local.

En outre, si vous voulez permettre à des personne se connectant depuis votre domaine de voir des rapports sur l'état du serveur, supprimez le commentaire des lignes suivantes :

#<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 installés et des directives de configuration) en réponse à des demandes en provenance de votre domaine, vous devez supprimer le commentaire des lignes suivantes :

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

Une fois de plus, vous devez entrer .votre_domaine.com.

Une autre utilisation des balises Location peut être trouvée dans une section commentée destinée à tracer des attaques contre votre serveur Web qui exploitent un ancien bogue datant d'avant la version 1.1 d'Apache. Si vous voulez tracer 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 commentées, votre serveur Web redirige toute demande se terminant par /cgi-bin/phf* vers un script CGI de journalisation exécuté 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. Le service proxy Apache est activé par le module mod_proxy qui a été compilé et chargé dans votre serveur Web par défaut.

ProxyVia

La commande ProxyVia contrôle si une ligne d'en-tête HTTP Via: est envoyée en même temps que les demandes ou les réponses transitant par le serveur proxy Apache. L'en-tête Via: indique le nom d'hôte si ProxyVia est paramétré sur on, le nom d'hôte et la version d' Apache s'il est paramétré sur full ; toutes les lignes Via: restent inchangées s'il est paramétré sur off et sont supprimées s'il est paramétré sur block.

Directives cache

Plusieurs directives cache sont commentées dans les balises IfModule mentionnées plus haut. Si vous utilisez la fonctionnalité du serveur proxy et voulez également activer la cache proxy, supprimez le commentaire des directives cache en procédant de la manière décrite. Les paramètres par défaut pour vos directives cache doivent être appropriés pour la plupart des configurations.

CacheRoot définit le nom du répertoire qui contiendra les fichiers mis en cache. Le CacheRoot par défaut est /var/cache/httpd.

CacheSize définit la quantité d'espace que la cache peut utiliser, exprimée en Ko. La valeur de CacheSize par défaut est de 5 Ko.

CacheGcInterval définit un nombre d'heures. Après le nombre d'heures spécifié, les fichiers se trouvant dans la cache seront supprimés si cette dernière utilise un espace supérieur à celui autorisé par CacheSize. La valeur par défaut pour CacheGcInterval est de quatre heures.

Les documents HTML mis en cache seront retenus (sans rechargement du serveur Web dont ils proviennent) dans la cache pendant le nombre d'heures maximum défini par CacheMaxExpire. La valeur par défaut est de 24 heures.

Le CacheLastModifiedFactor affecte la création d'une date d'expiration ne provenant pas de son serveur d'origine avec une date expiration prédéfinie. Le CacheLastModifiedFactor par défaut est paramétré sur 0.1, ce qui signifie que la date d'expiration pour de tels documents correspond à un dixième du temps écoulé depuis la dernière modification du document.

CacheDefaultExpire est le temps d'expiration, exprimé en heures, d'un document reçu à l'aide d'un protocole ne prenant pas en charge les délais d'expiration. La valeur par défaut est d'une heure.

Tout document récupéré sur un hôte et/ou un domaine correspondant à celui défini dans NoCache ne sera pas mis en cache. Si vous avez connaissance d'hôtes ou de domaines dont vous ne voulez pas mettre les documents en cache, supprimez le commentaire devant NoCache et définissez ici leurs noms de domaine ou d'hôte.

NameVirtualHost

Vous devrez utiliser la directive NameVirtualHost pour l'adresse IP (et le numéro de port, si nécessaire) de tout hôte virtuel nommé que vous configurez. La configuration d'hôtes virtuels basés sur le nom permet de configurer différents hôtes virtuels pour différents noms de domaine ; vous ne devez cependant pas utiliser des adresses IP différentes pour tous les noms de domaines pour lesquels votre serveur Web sert des documents.

NoteRemarque
 

Vous ne pouvez par utiliser d'hôtes virtuels basés sur le nom avec Red Hat Linux Secure Server, mais vous pouvez en configurer avec votre serveur Web non sécurisé. Vous ne pouvez pas utiliser d'hôtes virtuels basés sur le nom avec Red Hat Linux Secure Server parce que l'établissement de liaison SSL (lorsque le navigateur accepte le certificat d'authentification du serveur Web sécurisé) intervient avant la demande HTTP identifiant l'hôte virtuel nommé correct. Autrement dit, l'authentification se produit avant différentiation entre les hôtes virtuels basés sur le nom. Si vous voulez utiliser des hôtes virtuels avec Red Hat Linux Secure Server, utilisez des hôtes virtuels basés sur l'adresse IP.

Si vous utilisez des hôtes virtuels basés sur le nom, supprimez le commentaire de la directive de configuration NameVirtualHost et ajoutez l'adresse IP correcte de votre serveur derrière NameVirtualHost. Ajoutez ensuite des informations supplémentaires sur les différents domaines utilisant les balises Virtual Host qui entourent ServerName pour chaque hôte virtuel, plus toutes les autres directives de configuration exclusivement applicables à cet hôte virtuel.

VirtualHost

Les balises <VirtualHost> et </VirtualHost> entourent toutes les directives de configuration destinées à être appliquées à un hôte virtuel. La plupart des directives de configuration peuvent être utilisées à l'intérieur de balises d'hôte virtuel, et s'appliquent exclusivement à cet hôte virtuel particulier.

Un ensemble de balises VirtualHost commentées entourent certains exemples de directives de configuration et espaces réservés aux informations que vous devez entrer pour configurer un hôte virtuel. Reportez-vous à la la section intitulée Utilisation d'hôtes virtuels, pour plus d'informations sur les hôtes virtuels.

Directives de configuration SSL

Les directives SSL contenues dans le fichier httpd.conf.ssl de votre serveur sont incluses pour permettre des communications Web sécurisées. Vous trouverez ci-après de brèves descriptions des directives SSL utilisées dans votre fichier de configuration httpd.conf. Pour plus d'informations sur les directives SSL, veuillez pointer votre navigateur sur http://votre_domaine/manual/mod/mod_ssl/. Vous trouverez également plus d'informations sur les directives SSL à l'adresse http://www.modssl.org/docs/2.6/ssl_reference.html, où figure un chapitre individuel sous la forme de document Web concernant mod_ssl rédigé par Ralf Engelschall. Ce document, mod_ssl User Manual, commence à l'adresse http://www.modssl.org/docs/2.6/ ; il constitue une excellente source de référence pour mod_ssl (évidemment) et la cryptographie Web en général. Ce document contient des informations générales sur la sécurisation de votre serveur Web dans le Chapitre 3.

NoteRemarque
 

Ne modifiez pas vos directives SSL si vous n'êtes pas absolument certain de savoir ce que vous faites. Les directives SSL sont correctement configurées pour la plupart des utilisateurs lors de l'installation.

Le premier ensemble de directives de configuration SSL, à l'intérieur des balises IfModule, s'applique à tous les processus serveur compatibles SSL sur votre ordinateur.

Lorsque Apache démarre, il lit votre certificat et vos fichiers de clé. Il est possible de configurer Mod_ssl pour qu'il demande l'introduction d'une phrase de passe avant d'autoriser l'accès. La directive SSLPassPhraseDialog définit si mod_ssl utilise une boîte de dialogue interactive intégrée pour demander la phrase de passe ou si un programme externe est utilisé pour ajouter des contrôles de sécurité avant de demander l'introduction de la phrase de passe.

La directive SSLSessionCache indique à votre serveur où se trouve la cache d'informations SSL. L'utilisation d'un cache pour ces informations accélère les réponses du serveur à des demandes parallèles émanant de navigateurs modernes.

La directive SSLSessionCacheTimeout définit le délai d'attente en secondes pour les informations mises en cache dans le SSL Session Cache. Le délai d'attente est paramétré sur 300 secondes.

La directive SSLMutex fournit des informations de configuration pour le sémaphore de votre moteur SSL. Le sémaphore ou verrou assure l'exclusion mutuelle d'opérations devant être exécutées de façon synchrone par des processus serveur préalablement séparés. Votre serveur utilise un fichier de verrouillage physique, situé dans /var/run/ssl_mutex.

La directive SSLRandomSeed fournit des informations de configuration pour le PRNG (Pseudo Random Number Generator, générateur de nombre pseudo-aléatoire) au démarrage et/ou juste avant l'établissement d'une nouvelle connexion SSL. Tant startup que connect sont définis pour utiliser la source de pseudo-lignée aléatoire.

Le fichier journal du moteur SSL, /etc/httpd/logs/ssl_engine_log, est nommé par la directive SSLLog. Des messages d'erreur seront également écrits dans le fichier journal des erreurs du serveur : /etc/httpd/logs/error_log.

SSLLogLevel définit le niveau de détail des messages du journal des erreurs, du moins détaillé au plus détaillé : none, error, warn, info, trace, debug. Votre SSLLogLevel est paramétré sur warn.

Les autres directives de configuration SSL s'appliquent spécifiquement à l'hôte virtuel SSL configuré pour vous dans httpd.conf.ssl.

SSLEngine active et désactive SSL pour l'hôte virtuel.

SSLCipherSuite est utilisé pour spécifier la suite de chiffres disponible pour la négociation durant l'établissement d'une liaison SSL.

SSLCertificateFile indique le chemin de votre certificat. Une fois votre certificat créé, il sera enregistré dans /etc/httpd/conf/server.crt.

SSLCertificateKeyFile indique le chemin de votre clé. Une fois votre clé créée, elle est enregistrée dans /etc/httpd/conf/server.key.

La directive de configuration Apache SetEnvIf est utilisée pour désactiver un keep-alive HTTP et permettre à SSL de fermer la connexion sans générer d'alerte de notification de fermeture du navigateur client. Ce paramètre est nécessaire pour certains navigateurs qui n'interrompent pas fiablement la connexion SSL.