Je pense que toutes ces réponses ne répondent pas vraiment à la question. Le niveau racine peut être déterminé en exécutant la commande httpd -V
. Cela vous montrera les options avec lesquelles le démon Apache a été construit au moment de la compilation. C’est ce qui contrôle où httpd
détermine où chercher sa configuration. fichiers et modules .so par défaut.
Par exemple:
% httpd -V
Server version: Apache/2.2.17 (Unix)
Server built: Dec 17 2010 11:58:24
Server's Module Magic Number: 20051115:25
Server loaded: APR 1.3.12, APR-Util 1.3.9
Compiled using: APR 1.3.12, APR-Util 1.3.9
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
La ligne clé dans cette sortie est le HTTPD_ROOT
. Cela définit le ROOT
début du répertoire Apache , /etc/httpd
dans mon cas, lors de la recherche de config. fichiers et modules.
NOTE: Ce ROOT
n'est pas la même chose que DocumentRoot
. Ceci ROOT
est spécifique à la façon dont le httpd
démon a été compilé, il DocumentRoot
s'agit de spécifier où le httpd
démon doit commencer à rechercher le contenu Web réel (fichiers .html et autres).
Pour mon httpd.conf
fichier, j'ai les lignes de charge suivantes:
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
Dans ce cas, le chemin complet de vos modules serait, par exemple:
/etc/httpd/modules/mod_auth_basic.so
Cela provient d'un système CentOS 5.x mais la technique est toujours appropriée.
BTW, cela peut être un peu déroutant car dans le cas de CentOS, les fichiers sont organisés physiquement ici:
% ls /usr/lib/httpd/modules/
libphp5.so mod_authnz_ldap.so mod_dav_fs.so mod_headers.so mod_perl.so mod_speling.so
... et ensuite accessible au démon Apache httpd
, via ce chemin:
% ls -l /etc/httpd/
total 12
drwxr-xr-x 2 root root 4096 Apr 26 2011 conf
drwxr-xr-x 3 root root 4096 Apr 26 2011 conf.d
-rw-r--r-- 1 root root 18 Feb 24 2009 htpasswd
lrwxrwxrwx 1 root root 19 Apr 26 2011 logs -> ../../var/log/httpd
lrwxrwxrwx 1 root root 27 Apr 26 2011 modules -> ../../usr/lib/httpd/modules
lrwxrwxrwx 1 root root 13 Apr 26 2011 run -> ../../var/run
Le modules
lien relie /etc/httpd
-> /usr/lib/httpd/modules
.