Serveur Apache HTTP Version 2.0
Ce document présente les fichiers utilisés pour la configuration du serveur HTTP Apache.
Modules Apparentés | Directives Apparentées |
---|---|
Apache se configure en positionnant des directives dans des fichiers de
configurations, au format texte. Le fichier de configuration principal
est habituellement nommé httpd.conf
.
L'emplacement de ce fichier est défini lors de la compilation
mais il est possible de le modifier en ligne de commande au lancement
d'Apache au moyen de l'option -f
.
De plus, il est possible d'ajouter d'autres fichiers de configuration au
moyen de la directive Include
,
qui accepte des jokers, rendant possible la lecture de multiples
fichiers de configuration. Cette directive peut être incluse dans
n'importe quel fichier de configuration. Les changements apportés
aux fichiers de configuration principale ne seront pris en compte
qu'au démarrage d'Apache ou à son redémarrage.
Le serveur lit également un fichier contenant les types de documents
mime ; le nom de ce fichier est défini au moyen de la directive
TypesConfig
, et son nom
par défaut est mime.types
.
Les fichiers de configuration d'Apache contiennent une directive par ligne. Il est possible d'utiliser le caractère antislash "\" à la fin d'une ligne pour signaler que celle-ci se continue sur la ligne suivante. Dans ce cas l'antislash doit impérativement être le tout dernier caractère de la ligne et ne doit pas être suivi d'espaces.
Les directives placées dans les fichiers de configuration ne sont pas sensibles à la casse, mais leurs arguments le sont. Les lignes commençant par le caractère "#" sont considérées comme des commentaires, et sont donc ignorées. Il n'est pas possible d'ajouter un commentaire en fin de ligne, après une directive. Les lignes vides, ainsi que les espaces précédant les directives, sont ignorés, ce qui vous permet d'indenter le fichier pour de simplifier sa lecture.
Vous pouvez tester vos fichiers de configuration sans
avoir à démarrer le serveur en utilisant la commande
apachectl configtest
ou en appelant Apache
avec l'option -t
.
Modules Apparentés | Directives Apparentées |
---|---|
Apache est un serveur modulaire, ce qui signifie que le
noyau du serveur ne dispose que des fonctions des plus basiques.
Toutes les fonctions étendues sont possibles grâce à des modules, qui peuvent être chargés par Apache.
Par défaut, un certain
nombre de modules est fourni et compilé avec le serveur.
Dans le cas où le serveur a été compilé avec le
support dynamique des modules, il est possible de compiler
des modules à part et de les charger au moyen de la directive
LoadModule
. Dans le cas
contraire, il faudra recompiler tout Apache pour lui ajouter ou
lui enlever des modules. Des directives peuvent être incluses de
façon conditionnelle selon la présence d'un module particulier en
les positionnant dans un bloc <IfModule>
.
L'option -l
, à passer en ligne de commande, provoque
l'affichage des modules qui sont compilés dans Apache.
Modules Apparentés | Directives Apparentées |
---|---|
Les directives positionnées dans les fichiers de configuration principaux
s'appliquent au serveur dans son ensemble. Pour spécifier des directives
spécifiques à une partie du serveur, il est possible de les positionner à
l'intérieur d'une des sections <Directory>
, <DirectoryMatch>
, <Files>
, <FilesMatch>
, <Location>
, ou <LocationMatch>
.
Chacune de ces sections limite la validité des directives qu'elle
contient à la partie du système de fichier ou de l'URL qu'elle
contient. Ces sections peuvent également se contenir les unes les autres,
ce qui permet une configuration très fine.
Il est possible d'utiliser un seul serveur Apache pour servir plusieurs
sites web, ce qu'on appelle des Serveurs Virtuels.
Les différentes directives peuvent être positionnées à l'intérieur de
sections <VirtualHost>
,
afin qu'elles régulent le fonctionnement d'un site (dit virtuel)
particulier.
La plupart des directives peuvent être positionnées dans toutes les sections présentées ci-dessus, sauf dans certains cas. Par exemple, les directives qui contrôlent la création du processus Apache ne peuvent être placées que dans le contexte du serveur principal. Les sections possibles pour chaque directive sont décrites au niveau du Contexte de celle-ci. Des informations plus complètes au sujet du fonctionnement des sections Directory, Location et Files sont disponibles ailleurs.
Modules Apparentés | Directives Apparentées |
---|---|
Apache permet de délocaliser la gestion de la configuration, au
moyen de fichiers spéciaux, placés directement dans l'arborescence Web.
Ces fichiers spéciaux portent le plus souvent le nom .htaccess
,
mais il est bien sûr possible de changer ce nom au moyen de la directive
AccessFileName
.
Les directives positionnées dans un fichier .htaccess
s'appliquent au répertoire le contenant ainsi qu'à tous ses
sous-répertoires. La syntaxe à employer dans un fichier
.htaccess
est identique à la syntaxe des fichiers de
configuration principaux. De plus, les fichiers .htaccess
étant lus au moment de chaque requête les concernant, toute
modification de ces fichiers prend effet immédiatement sans qu'il soit
nécessaire de redémarrer le serveur.
Pour savoir si une directive peut être placée dans un fichier
.htaccess
, il suffit de vérifier son Contexte. Il est possible à
l'administrateur du serveur de spécifier quelles directives sont
autorisées ou non dans les fichiers .htaccess
, au moyen
de la directive AllowOverride
,
positionnée dans les fichiers de configuration principaux.
Des informations plus complètes concernant les fichiers
.htaccess
sont disponible dans le
tutoriel .htaccess.