Affichage de la configuration complète calculée d'Apache httpd?

9

Existe-t-il une commande / un outil pour générer la configuration calculée qu'Apache httpd utilise? Je sais que je peux parcourir manuellement le fichier httpd.conf et d'autres fichiers de configuration, mais existe-t-il un outil standard pour générer une configuration de tous les fichiers et sections inclus qui s'appliquent, pour plus de commodité?

Merci,

James

Edit: j'aurais également dû mentionner que j'utilise également une version Windows x-64 d'Apache, à partir d'un binaire pré-construit.

jamiebarrow
la source
1
+1 pour une grande question! J'administre Apache depuis plus de dix ans et ce n'est que maintenant que j'ai réalisé que j'avais toujours entrevu les fichiers de configuration au lieu du type de vue que vous demandez. Ce serait bien d'avoir une vue similaire à phpinfo () en PHP. :-)
Janne Pikkarainen
@Janne merci :) J'ai déjà utilisé Maven sur des projets Java comme outil de construction, qui utilise divers fichiers XML 'POM' pour la configuration (dans divers dossiers) et a un moyen de faire une telle chose - afficher tous les fichiers combinés comme un seul généré POM. Je pense qu'un tel outil est inestimable lorsque vous essayez de trier la configuration
jamiebarrow

Réponses:

5

Il y a un module Apache disponible qui montre une page détaillée avec divers paramètres et la configuration active.

mod_infoest désactivé par défaut et doit être activé ./configure --enable-infolors de la création d'Apache. Sur Debian et Ubuntu, ce module et sa configuration peuvent être activés à l'aide de sudo a2enmod info.

Mettez les lignes suivantes dans votre fichier de configuration (httpd.conf) (pas nécessaire lors de l'utilisation a2enmod):

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

Après avoir redémarré le serveur, le fichier de configuration est disponible sur http://example.com/server-info?config (remplacez example.compar votre adresse de serveur)

Notez que ces informations sont assez sensibles, vous voudrez peut-être restreindre l'accès comme dans:

<Location /server-info>
  SetHandler server-info
  Order deny,allow
  Deny from all
  Allow from yourcompany.com
</Location>

Pour plus d'informations, voir http://httpd.apache.org/docs/2.2/mod/mod_info.html

Lekensteyn
la source
Merci pour votre suggestion. Je suppose que c'est une façon de le faire, mais je cherche une solution plus hors ligne - en particulier avec les problèmes de contrôle d'accès. Je pense que je suggérerais également d'utiliser un chemin aléatoire au lieu de /server-infojuste au cas où :)
jamiebarrow
/server-infoest le chemin par défaut, donc je l'utilise pour éviter toute confusion. En termes de sécurité, vous utiliseriez en effet un chemin différent avec un contrôle d'accès strict et le désactiveriez après avoir terminé. Vous pouvez configurer l'authentification de base / Digest, restreindre l'accès à localhost et l'utiliser en curlcombinaison avec html2textpour obtenir les données dans un script.
Lekensteyn