J'ai toujours eu du mal à trouver ceci: comment pouvez-vous demander à Apache quel fichier httpd.conf il a utilisé pour charger?
Cela devient difficile lorsque vous avez un certain nombre d'instances d'Apache en cours d'exécution, ou si vous n'avez pas regardé la machine depuis longtemps, et qu'il y a beaucoup de fichiers httpd.conf sur le disque!
Merci beaucoup :)
Apache2ctl -V | grep SERVER_CONFIG_FILE
/usr/sbin/Apache2 -V
fournit cette information et un peu plus :)
À Yosemite, j'ai trouvé que c'était /Library/Server/Web/Config/Apache2/httpd_server_app.conf
Même si apachectl -V | grep .conf
Donne -D SERVER_CONFIG_FILE="/private/etc/Apache2/httpd.conf"
Pour RHEL ou Centos, recherchez d'abord le processus Apache en cours d'exécution ...
ps ax | grep httpd
Notez le chemin dans la sortie. Pour moi c'est...
/opt/rh/httpd24/root/usr/sbin/httpd
Vous pouvez ensuite utiliser l'option -V avec ce chemin pour obtenir le chemin de configuration ...
/opt/rh/httpd24/root/usr/sbin/httpd -V
Parmi la sortie, vous devriez voir un chemin absolu pour HTTPD_ROOT et également un chemin relatif pour SERVER_CONFIG_FILE. Mettez ce chemin absolu et ce chemin relatif ensemble et vous avez l'emplacement de votre fichier de configuration.
Depuis 2016 ( bogue 59376 ), à partir de Apache 2.4.23
partir de là, une option dédiée à cet effet est disponible.
Il peut afficher la totalité de l'arborescence des fichiers de configuration, y compris les numéros de ligne, ce qui est utile pour déboguer des configurations complexes.
$ apachectl -t -D DUMP_INCLUDES
Included configuration files:
(*) /etc/httpd/conf/httpd.conf
(21) /etc/httpd/conf.d/elasticbeanstalk_log.conf
(21) /etc/httpd/conf.d/healthd.conf
(21) /etc/httpd/conf.d/ssl.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/00_application.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/01_gzip.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/02_static.conf
Ou,
$ httpd -t -D DUMP_INCLUDES