Ce document décrit certaines directives traitées par le noyau du serveur qui sont utilisées pour configurer les opérations de base du serveur.
Directives associées ServerName ServerAdmin ServerSignature ServerTokens UseCanonicalName |
Les directives ServerAdmin
and ServerTokens
contrôlent quelles informations du serveur seront présentées
dans les pages générées par le serveur telles que les messages
d'erreur. La directive ServerTokens
assigne la valeur du champ serveur
dans les en-têtes de réponse HTTP.
Les directives ServerName
and UseCanonicalName
sont utilisées pour déterminer comment former les URLs s'auto
référençant. Par exemple, quand un client requiert un
répertoire, mais n'inclut pas de barre oblique finale dans le nom du
répertoire, Apache doit rediriger le client vers le nom complet, incluant
la barre oblique finale permettant ainsi au client de résoudre correctement
les références relatives contenues dans le document.
Directives associées CoreDumpDirectory DocumentRoot ErrorLog Lockfile PidFile ScoreBoardFile ServerRoot |
Ces directives contrôlent les emplacements des différents
fichiers qu'Apache a besoin pour ses propres besoins. Quand le chemin employé
ne commence pas par une barre oblique, les fichiers sont localisés
relativement à ServerRoot
. Soyez attentifs à placer
ces fichiers dans des chemins qui sont autorisés en écriture aux
utilisateurs autres que root. Voir les
trucs sur la sécurité pour
plus de détails.
Directives associées BS2000Account Group MaxClients MaxRequestsPerChild MaxSpareServers MinSpareServers ServerType StartServers ThreadsPerChild User |
Si la directive ServerType
est définie avec la
valeur recommandée de Standalone
,
Apache 1.3 sur Unix est basé sur modèle de prélancement
des processus. Un unique processus de contrôle est responsable de lancer
des processus fils qui écoutent les connexions et les traitent à
leur arrivée. Apache essaye de maintenir un certain nombre processus
en réserve ou inactifs, qui restent toujours prêts à traiter
les requêtes arrivantes. De cette manière, les clients n'ont pas
à attendre que de nouveaux processus fils soient lancés avant que
leurs requêtes soient traitées.
Les directives StartServers
, MinSpareServers
,
MaxSpareServers
, and MaxServers
régissent
comment le processus père crée les processus fils pour traiter les
requêtes. En général Apache se régit seul correctement,
et la plupart des sites n'ont pas besoin d'ajuster la valeur de ces directives.
Les sites qui veulent servir plus de 256 requêtes simultanées
doivent augmenter la valeur de MaxClients
, tandis que les sites
tournant sur des machines limitées en mémoire doivent réduire
la valeur de MaxClients
afin d'éviter d'utiliser le fichier
d'échange. Plus d'informations sur le paramétrage de la
création des processus se trouvent dans la documentation
Aide sur les performances générales.
Tandis que le processus père est généralement lancé
en tant que root sous Unix pour se connecter sur le port 80, les processus fils
sont lancés sous un utilisateur moins privilégié.
Les directives User
et Group
servent à définir
les privilèges des processus fils. Les processus fils doivent être
capable de lire le contenu devant être servi, mais doivent avoir le minimum
de privilèges possibles. De plus, à moins que
suexec soit utilisé, ces directives définissent
également les droits qui seront hérités par les scripts CGI.
MaxRequestsPerChild
contrôle la fréquence de
rénovation des processus, en supprimant les anciens et en lançant de
nouveaux.
Sous Windows, Apache lance un processus père et un processus fils.
Le processus fils crée un ensemble de threads pour traiter les requêtes.
Le nombre de threads est contrôlé par la directive
ThreadsPerChild
.
Directives associées BindAddress KeepAlive KeepAliveTimeout Listen ListenBackLog MaxKeepAliveRequests Port SendBufferSize TimeOut |
Au démarrage d'Apache, celui ci se connecte à un port et une
adresse donnés sur la machine locale et attend l'arrivée de
requêtes. Par défaut, il écoute sur toutes les adresses,
et sur le port défini par la directive Port
. Toutefois,
on peut lui indiquer d'écouter sur plus d'un port, de n'écouter
qu'à partir d'une seule adresse, ou une combinaison des deux. Ceci est
généralement combiné avec la fonction d'
hôte virtuel qui détermine comment
Apache répond de différentes adresses IP, de noms d'hôtes et
de ports.
Il y a deux directives qui permettent de restreindre ou de spécifier
quelles adresses et quels ports Apache doit écouter.
La directive BindAddress
restreint le serveur à
n'écouter qu'une seule adresse IP. La directive Listen
peut
être utilisée pour spécifier un ensemble d'adresses et de
ports qu'Apache doit écouter.
Les directives ListenBackLog
, SendBufferSize
, and
TimeOut
permettent d'adjuster comment Apache interagit avec
le réseau.
Les directives KeepAlive
, KeepAliveTimeout
,
and MaxKeepAliveRequests
définissent comment
Apache gère les connexions persistantes.
Directives associées LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine RLimitCPU RLimitMEM RLimitNPROC ThreadStackSize |
Les directives commençant par LimitRequest
sont employées pour fixer des limites sur la quantité de
ressources qui seront utilisées pendant la lecture des requêtes clientes. En
limitant ces valeurs, certains types de déni de service peuvent
être atténués.
Les directives commençant par RLimit
sont employées
pour fixer des limites sur la quantité de ressources qu'utiliseront les processus
lancés par les processus enfants Apache.
En particulier, elles contrôle les ressources utilisées par les
scripts CGI et les commandes exec SSI.
La directive ThreadStackSize
est utilisée seulement sur
Netware pour contrôler la taille de la pile.