> Tech > Configuration

Configuration

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Pour configurer Apache, modifiez le fichier en texte clair httpd.conf dans le répertoire \program files\apache group\apache2\conf. Bien que ce fichier semble plutôt compliqué, vous n'avez pas à  vous préoccuper de la plupart de ses directives (c'est-à -dire, des commandes de configuration). Le fichier est prêt à  l'usage ; tout au plus,

vous devrez peut-être adapter un petit
nombre de paramètres à  votre environnement.
La syntaxe du fichier est simple :
elle ne permet qu’une directive par
ligne et celle-ci ne distingue pas les majuscules
des minuscules, même si les
options de certaines directives les différencient.
Pour commenter les directives,
ajoutez le signe dièse (#) qui est
le caractère commentaire dans la plupart
des fichiers de configuration et
script Unix, au début de chaque ligne.
En tant que nouvel utilisateur
d’Apache, quelles sont pour vous les
directives les plus importantes ? Ce
sont ServerName, DocumentRoot,
LoadModule et – particulièrement
pour les utilisateurs Windows –
ThreadsPerChild et MaxRequests-
PerChild. (Pour la liste complète des
directives, visitez http://httpd.apache.
org/docs-2.0/mod/directives.html.)

ServerName. La directive Server-
Name spécifie les nom DNS du serveur
Web. Ainsi, si vous avez configuré DNS
afin que votre serveur Apache Web soit
nommé www.example.com, configurez
la directive ServerName de la manière
suivante :

ServerName www.example.com

DocumentRoot. La directive
DocumentRoot spécifie la racine de
l’arbre de documents visibles aux
clients – WebRoot dans IIS. Ainsi, si
vous utilisez le lecteur D pour stocker
votre site Web, configurez la directive
DocumentRoot de la manière suivante
:

DocumentRoot D:/WebRoot

L’instruction path dans cette directive
peut sembler un peu étrange.
Apache reconnaît les lettres de lecteurs
Windows mais exige la présence de
barres obliques de style UNIX pour séparer
les composants des chemins de
fichiers. Ainsi, le chemin de style
Windows D:\WebRoot devient
D:/WebRoot. Sachez aussi que le service
Apache2 fonctionne comme
SYSTEM, donc l’emplacement que
vous indiquez dans la directive DocumentRoot
a besoin d’un accès Read
pour le compte système. (Fonctionner
en tant que SYSTEM est la situation par
défaut, mais vous pouvez modifier cela
en changeant la propriété Log On du
service Apache.)

LoadModule. La directive Load-
Module vous permet de charger des
modules. (Vous ne travaillerez peutêtre
pas beaucoup avec les modules au
début, mais vous devez savoir comment
les charger et comment arrêter
leur chargement.) La syntaxe de la directive
est la suivante :

LoadModule module_identifier
relative_path_to_module_file

où module_identifier est une chaîne
qui identifie le module vis-à -vis de la directive
LoadModule et relative_
path_to_module_file est le chemin
vers le fichier module, par rapport au
répertoire d’installation Apache. Par
exemple, pour charger le module
WebDAV mod_dav, configurez la directive
de la manière suivante :

LoadModule dav_module
modules/mod_dav.so

La documentation Apache indique
l’identificateur de chaque module
mais, en règle générale, l’identificateur
est la fin du nom du module (c’est-à -dire, la portion qui suit « mod_ ») suivi
de « _module ». Par exemple, l’identificateur
dav_module correspond au module
mod_dav. A noter que les noms
de fichiers de modules Apache se terminent
par l’extension .so, que les systèmes
Linux utilisent pour indiquer un
fichier de bibliothèques partagées
(semblable à  l’extension .dll dans les
systèmes Windows). Apache utilise
l’extension sur les diverses platesformes
pour assurer l’homogénéité et
pour réduire les conflits dans la documentation
Apache.

ThreadsPerChild et Max-
RequestsPerChild.
La directive
ThreadsPerChild indique le nombre de
threads qu’un processus enfant peut
créer. (Chaque thread peut servir une
connexion.) Si vous mettez cette valeur
à  50, par exemple, votre serveur
Web ne peut traiter que 50 connexions
client à  la fois. Par conséquent, assurezvous
que cette valeur convient à  votre
environnement.
La directive MaxRequestsPerChild
indique le nombre de connexions
qu’un processus enfant peut traiter
avant que le processus parent Apache
ne tue le processus enfant et n’en crée
un nouveau. On peut utiliser cette directive
pour limiter la durée de vie
d’un processus et réduire ainsi les problèmes
de fuite mémoire (lors de l’utilisation
d’un module expérimental, par
exemple). Vous pouvez mettre cette directive
à  zéro pour la désactiver afin
que le processus enfant ne se termine
pas automatiquement après un certain
nombre de connexions.
Par exemple, pour permettre à 
chaque processus enfant de créer jusqu’à 
250 threads (afin qu’Apache
puisse traiter 250 connexions simultanément)
et pour empêcher le processus
parent de tuer et de redémarrer le
processus enfant après un certain
nombre de connexions, configurez les
directives comme dans le listing 1. A
noter que dans cet exemple, les
directives ThreadsPerChild et
MaxRequestsPerChild sont placées
dans un bloc dans lequel
la directive spécifie le
winnt MPM. Certaines directives ne
fonctionnent qu’après le chargement
de certains modules. Pour déterminer
si un module est chargé et appliquer
les directives appropriées s’il l’est,
Apache permet d’utiliser la directive
pour placer les directives
dans un bloc, comme le montre le listing
1. (Si vous avez toujours utilisé le
winnt MPM, vous pouvez supprimer la
directive pour toujours
s p é c i f i e r ThreadsPerChild e t
MaxRequestsPerChild.) Vous devez
ajouter l’extension .c au nom du module.
(Vous vous demandez peut-être
pourquoi utilise .c et
utilise .so quand on
spécifie des modules. La directive
utilise le nom de module
que les développeurs du module insèrent
dans chaque fichier de modules et
cela finit par un .c, tandis que
charge un fichier à 
partir du système de fichiers : ce fichier
se termine par .so.)
D’autres types de directives permettent
d’appliquer un scope aux paramètres
de configuration. Par
exemple, quand vous voulez créer un
hôte virtuel (comme l’explique l’encadré
« Utiliser Apache pour créer des
hôtes virtuels »), vous pouvez utiliser le
bloc pour indiquer des
directives spécifiques à  cet hôte virtuel,
comme le montre le listing 2. Pour
en savoir plus sur l’application des
scopes à  un ensemble de directives,
visitez http://httpd.apache.org/docs-
2.0/sections.html. Vous pourriez aussi
vouloir en savoir plus sur certaines des
directives plus particulières mais
utiles, comme la directive Rewrite du
module mod_rewrite, qui permet de
réécrire l’URL qu’un utilisateur spécifie.
Je vous conseille d’ajuster et de tester
diverses valeurs dans le fichier de
configuration pendant que vous utilisez
Apache. Apache a depuis longtemps
la réputation d’être extrêmement
souple. Vous devez donc tout
faire pour en bénéficier au maximum.
Après avoir modifié le fichier de
configuration Apache, redémarrez
Apache. Pour cela, utilisez l’icône
Apache Control ou les outils qui se
trouvent dans le programme Apache
du menu Start.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010