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 httpd
determina 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 ROOT
debe comenzar el directorio de Apache , /etc/httpd
en mi caso, cuando busco la configuración. archivos y módulos.
NOTA: Esto ROOT
no es lo mismo que DocumentRoot
. Esto ROOT
es específico de cómo httpd
se compiló el demonio, DocumentRoot
es para especificar dónde el httpd
demonio debería comenzar a buscar contenido web real (archivos .html y tal).
Para mi httpd.conf
archivo 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 modules
enlace se conecta /etc/httpd
-> /usr/lib/httpd/modules
.