Creo que todas estas respuestas no responden realmente la pregunta. El nivel raíz se puede determinar ejecutando el comando httpd -V. Esto le mostrará con qué opciones se construyó el demonio Apache en tiempo de compilación. Esto es lo que controla dónde httpddetermina dónde buscar su configuración. archivos y módulos .so por defecto.
Por ejemplo:
% 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 línea clave en esa salida es el HTTPD_ROOT. Eso define dónde ROOTdebe comenzar el directorio de Apache , /etc/httpden mi caso, cuando busco la configuración. archivos y módulos.
NOTA: Esto ROOTno es lo mismo que DocumentRoot. Esto ROOTes específico de cómo httpdse compiló el demonio, DocumentRootes para especificar dónde el httpddemonio debería comenzar a buscar contenido web real (archivos .html y tal).
Para mi httpd.confarchivo tengo las siguientes líneas de carga:
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
Dado esto, la ruta completa a sus módulos sería, por ejemplo:
/etc/httpd/modules/mod_auth_basic.so
Esto es de un sistema CentOS 5.x pero la técnica aún es apta.
Por cierto, puede ser un poco confuso porque en el caso de CentOS los archivos están organizados físicamente aquí:
% ls /usr/lib/httpd/modules/
libphp5.so mod_authnz_ldap.so mod_dav_fs.so mod_headers.so mod_perl.so mod_speling.so
... y luego accesible para el demonio Apache httpd, a través de esta ruta:
% 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
El modulesenlace se conecta /etc/httpd-> /usr/lib/httpd/modules.