Serveur Apache HTTP Version 2.0

Apache > Serveur HTTP > Documentation > Version 2.0

# Fichiers de Configuration

Langues Disponibles: de | en | fr | ja | ko

Ce document présente les fichiers utilisés pour la configuration du serveur HTTP Apache.

## Fichiers de Configuration principaux

Modules Apparentés | Directives Apparentées
--- | ---

- `mod_mime`

- `<IfDefine>`
- `Include`
- `TypesConfig`

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

## Syntaxe des fichiers de configuration

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

Modules Apparentés | Directives Apparentées
--- | ---

- `mod_so`

- `<IfModule>`
- `LoadModule`

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.

## Directives Possibles

Modules Apparentés | Directives Apparentées
--- | ---

- `<Directory>`
- `<DirectoryMatch>`
- `<Files>`
- `<FilesMatch>`
- `<Location>`
- `<LocationMatch>`
- `<VirtualHost>`

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.

## Fichiers .htaccess

Modules Apparentés | Directives Apparentées
--- | ---

- `AccessFileName`
- `AllowOverride`

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.

Langues Disponibles: de | en | fr | ja | ko