[APACHE DOCUMENTATION]

Apache HTTP Server

Configuration globale du serveur

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.


Identification 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.


Emplacement des fichiers

Directives associées

CoreDumpDirectory
DocumentRoot
ErrorLog
Lockfile
PidFile
ScoreBoardFile
ServerRoot

Ces directives contrôlent les emplacements des différents fichiers qu'Apache utilise 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.


Création des processus

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 un 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 de 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, et 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.


Configuration réseau

Directives associées

BindAddress
KeepAlive
KeepAliveTimeout
Listen
ListenBackLog
AcceptFilter
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 aux différentes adresses IP, noms d'hôtes et 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, et TimeOut permettent d'adjuster comment Apache interagit avec le réseau. La directive AcceptFilter contrôle une optimisation spécifique à BSD. Veuillez vous référer à la section concernant BSD dans la documentation sur la performance. -->



Les directives KeepAlive, KeepAliveTimeout, et MaxKeepAliveRequests définissent comment Apache gère les connexions persistantes.


Limitation de l'utilisation des Ressources

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.


Apache HTTP Server

Index