Modules liés mod_mime |
Directives
liées AccessConfig <IfDefine> Include ResourceConfig TypesConfig |
Apache se configure en plaçant des directives dans des fichiers
textes de configuration. Le fichier de configuration principal
est généralement appelé
httpd.conf
. L'emplacement de ce fichier est
fixé à la compilation, mais peut être
redéfini en utilisant l'option de ligne de commande
-f
. Certains sites possèdent
également des fichiers srm.conf
et
access.conf
pour des raisons
historiques. De plus, d'autres fichiers de configuration
peuvent être ajoutés en utilisant la directive
Include
. Les
directives peuvent être placées dans n'importe
quel fichier. Les modifications dans le fichier de
configuration principal ne sont prises en compte qu'au
démarrage ou au redémarrage d'Apache.
Une nouveauté de la version 1.3.13 d'Apache est la possibilité qu'un fichier de configuration soit en fait un répertoire. Dans ce cas, Apache lira tous les fichiers et sous répertoires et les traitera comme fichiers de configuration. Une utilisation possible de cette fonctionnalité est de pouvoir ajouter des hôtes virtuels en créant des fichiers de configuration pour chaque hôte, et de les placer dans le répertoire de configuration. Ainsi, vous pouvez ajouter ou retirer des hôtes virtuels sans avoir à éditer de fichiers, mais simplement en ajoutant ou supprimant un fichier. Celà permet d'automatiser plus facilement ce genre de traitement.
Le serveur lit également un fichier décrivant
les types de contenu MIME; le nom de ce fichier est
défini par la directive TypesConfig et est par
défaut mime.types
.
Les fichiers de configurations contiennent au plus une directive par ligne. Le caractère "\" peut être utilisé à la fin d'une ligne pour indiquer que la directive se poursuit sur la ligne suivante. Il ne doit pas y avoir d'autres caractère ou d'espace entre le caractère "\" et la fin de la ligne.
Dans les fichiers de configuration, l'écriture des noms des directives n'est pas sensible à la casse, mais les arguments des directives le sont généralement. Les lignes blanches et les espaces précédant une directive sont ignorés. Les commentaires ne doivent pas être inclus sur la même ligne qu'une directive. Les lignes commençant par le caractère dièse "#" sont traitées comme des commentaires et sont ignorés; vous pouvez les utiliser pour indenter les directives et rendre leur lecture plus facile.
Vous pouvez vérifier la syntaxe de vos fichiers de
configuration en utilisant soit apachectl
configtest
soit l'option de ligne de commande
-t
.
Modules liés mod_so |
Directives
liées AddModule ClearModuleList <IfModule> LoadModule |
Apache est un serveur modulaire. Celà implique que seules les fonctions de base sont incluses dans le noyau du serveur. Les fonctionnalités plus avancées sont disponibles grâce aux modules qui peuvent être chargés dans Apache. Par défaut, un ensemble de modules de base sont inclus à la compilation. Si le serveur est compilé pour utiliser les modules dynamiquement chargés, alors les modules peuvent être compilés séparément et ajouté à n'importe quel moment en utilisant la directive LoadModule. Sinon, Apache doit être recompilé pour ajouter ou supprimer des modules. Des directives de configuration peuvent être incluses de manière conditionnelle en fonction de la présence d'un module particulier en les entourant par un bloc <IfModule>.
Pour savoir quels modules ont été
compilés dans le serveur, vous pouvez utiliser l'option
de ligne de commande -l
.
Directives
liées <Directory> <DirectoryMatch> <Files> <FilesMatch> <Location> <LocationMatch> <VirtualHost> |
Les directives placées dans les principaux fichiers
de configuration s'appliquent à l'ensemble du serveur.
Si vous souhaitez modifier la configuration pour une partie
seulement du serveur, vous pouvez mettre en contexte vos
directives en les plaçant dans des sections <Directory>, <DirectoryMatch>,
<Files>, <FilesMatch>, <Location>,
et
<LocationMatch>
. Ces sections limitent la portée d'application des
directives qu'elles contiennent à un emplacement des
fichiers ou à certaines URL. Elles peuvent être
imbriquées, permettant ainsi une configuration
très fine.
Apache a la possibilité de servir plusieurs sites web
simultanément. Cette possibilité est
appelée hébergement
virtuel. Des directives peuvent également être
limitées en utilisant des sections <VirtualHost>
afin qu'elles ne s'appliquent qu'à certains sites
web.
Bien que la plupart des directives peuvent être placées à l'intérieur de n'importe quelle section, certaines directives n'ont pas de sens dans certains contextes. Par exemple, les directives contrôlant la création des processus ne peuvent être placées que dans le contexte pricipal du serveur. Pour savoir quelles directives peuvent être placées dans quelles sections, vérifiez le contexte de la directive. Pour plus d'informations, voir comment les sections Directory, Location et Files fonctionnent.
Directives
liées AccessFileName AllowOverride |
Apache permet une gestion décentralisée de la
configuration par l'utilisation de fichiers spéciaux
à l'intérieur de l'arborescence web. Ces fichiers
spéciaux sont généralement appelés
.htaccess
, mais n'importe quel nom peut être
défini par la directive AccessFileName
.
Les directives placées dans les fichiers
.htaccess
s'appliquent au répertoire
où se trouve le fichier ainsi qu'aux sous
répertoires. Les fichiers .htaccess
respectent la même syntaxe que les fichiers principaux de
configuration. Comme les fichiers .htaccess
sont
lus à chaque requête, Les modifications
effectuées dans ces fichiers prennent effet
immédiatement.
Pour savoir si une directive peut être placée
dans les fichiers .htaccess
, vérifiez le contexte de la
directive. L'administrateur peut contôler quelles
directives peuvent être placées dans les fichiers
.htaccess
en modifiant la directive AllowOverride
du fichier principal de configuration.
Au lancement, Apache écrit le numéro de
processus du processus père httpd dans le fichier
logs/httpd.pid
. Le nom du fichier peut être
changé en modifiant la directive PidFile. Le numéro de
processus est utilisé par l'administrateur pour relancer
et arrêter le démon. Sur Unix, un signal HUP ou
USR1 a pour effet de faire relire par le démon les
fichiers de configuration, et un signal TERM le fait terminer
de manière douce. Sur Windows, il faut employer l'option
-k. Pour plus d'information voir la page Arrêt et redémarrage.
Si le processus meurt (ou est tué) de manière anormale, il peut alors être nécessaire de tuer les processus fils.
Le serveur trace les messages d'erreurs dans un fichier, par
défaut logs/error_log
sur Unix ou
logs/error.log
sur Windows and OS/2. Le nom du
fichier peut être défini en utilisant la directive
ErrorLog D'autres traces
peuvent être définies pour différents hôtes virtuels.
Le serveur trace généralement chaque
requête dans un fichier de transfert, par défaut
logs/access_log
sur Unix ou
logs/access.log
sur Windows and OS/2. Le nom du
fichier peut être défini en utilisant la directive
CustomLog.
D'autres traces peuvent être définies pour
différents hôtes virtuels.