Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_info

Description: | Affiche une présentation complète de la configuration du serveur
Statut: | Extension
Identificateur de Module: | info_module
Fichier Source: | mod_info.c

### Sommaire

Pour activer `mod_info`, ajoutez les lignes suivantes à votre fichier `httpd.conf`.

    <Location "/server-info">
        SetHandler server-info
    </Location>

Il est recommandé d'utiliser `mod_authz_host` à l'intérieur de la section `<Location>` afin de restreindre l'accès aux informations de configuration de votre serveur :

    <Location "/server-info">
        SetHandler server-info
        Require host example.com
    </Location>

Une fois cette configuration effectuée, les informations du serveur sont disponibles à l'adresse `http://votre-serveur.com/infos-serveur`.

### Sujets

- Problèmes liés à la sécurité
- Filtrage des informations affichées
- Affichage de la configuration au démarrage
- Limitations connues

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

## Problèmes liés à la sécurité

Une fois `mod_info` chargé dans le serveur, sa fonctionnalité de gestionnaire est disponible dans tous les fichiers de configuration, y compris les fichiers de configuration des répertoires (par exemple `.htaccess`). Ceci peut avoir des répercutions en matière de sécurité pour votre site.

En particulier, l'utilisation de ce module peut conduire à la divulgation d'informations sensibles à partir des directives de configuration d'autres modules Apache comme des chemins systèmes, des couples nom d'utilisateur/mot de passe, des noms de bases de données, etc... C'est pourquoi ce module ne doit être utilisé que dans un environnement sous contrôle et toujours avec les plus grandes précautions.

Il est recommandé d'utiliser `mod_authz_host` pour restreindre l'accès aux informations de configuration de votre serveur.

### Contrôle d'accès

    <Location "/server-info">
        SetHandler server-info
        # Autorisation d'accès depuis le serveur lui-même
        Require ip 127.0.0.1

        # Autorisation d'accès depuis une station de travail du réseau
    # local
        Require ip 192.168.1.17
    </Location>

## Filtrage des informations affichées

Par défaut, les informations affichées comprennent une liste de tous les modules activés, et pour chaque module, une description des directives qu'il accepte, les branchements (hooks) qu'il implémente, ainsi que les directives concernées dans la configuration courante.

Il est possible d'afficher d'autres vues de la configuration en ajoutant un argument à la requête `infos-serveur`. Par exemple, `http://votre-serveur.com/infos-serveur?config` affichera toutes les directives de configuration.

`?<module-name>`
  Uniquement les informations relatives au module spécifié
`?config`
  Uniquement les directives de configuration, non triées par module
`?hooks`
  Uniquement la liste des branchements (hooks) auxquels le module est attaché
`?list`
  Une simple liste des modules activés
`?server`
  Uniquement des informations de base sur le serveur
`?providers`
  Liste des fournisseurs disponibles sur votre serveur

## Affichage de la configuration au démarrage

Si la directive de configuration define `-DDUMP_CONFIG` est utilisée, `mod_info` va envoyer la configuration préinterprétée vers `stdout` au cours du démarrage du serveur.

    httpd -DDUMP_CONFIG -k start

"Préinterprétée" signifie que les directives telles que `<IfDefine>` et `<IfModule>` sont évaluées et les variables d'environnement remplacées par leurs valeurs. Cela ne représente cependant pas la configuration définitive. En particulier, les fusions ou écrasementsde définitions en cas de directives multiples ne sont pas représentés.

Le résultat est équivalent à celui de la requête `?config`.

## Limitations connues

`mod_info` tire ses informations de la configuration interprétée, et non du fichier de configuration original. La manière dont l'arbre de configuration interprété est créé induit quelques limitations :

- Les directives qui sont traitées immédiatement sans être enregistrées dans l'arbre de configuration interprété ne sont pas prises en compte. Celles-ci comprennent `ServerRoot`, `LoadModule` et `LoadFile`.
- Les directives qui contrôlent le fichier de configuration lui-même, comme `Include`, `<IfModule>` et `<IfDefine>` ne sont pas prises en compte, mais les directives de configuration incluses le sont.
- Les commentaires ne sont pas pris en compte (Ce qui peut être considéré comme une fonctionnalité).
- Les directives de configuration des fichiers `.htaccess` ne sont pas prises en compte (car elles ne font pas partie de la configuration permanente du serveur).
- Les directives de conteneur comme `<Directory>` sont affichées normalement, mais `mod_info` est incapable de déterminer le numéro de ligne de la balise fermante `</Directory>`.
- Les directives générées par des modules tiers comme mod_perl peuvent ne pas être prises en compte.

## Directive AddModuleInfo

Description: | Ajoute des données supplémentaires aux informations de module affichées par le gestionnaire server-info
Syntaxe: | `AddModuleInfo nom-module chaîne`
Contexte: | configuration du serveur, serveur virtuel
Statut: | Extension
Module: | mod_info

Cette directive permet d'afficher le contenu de chaîne en tant qu'Information supplémentaire interprétée en HTML pour le module nom-module. Exemple :

    AddModuleInfo mod_deflate.c 'See <a \
        href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\
        http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'