¿Cómo encuentro dónde Apache guarda los archivos de registro?

10

Necesito encontrar dónde Apache guarda los registros de acceso y error para un sitio.

Tengo acceso de root a un servidor donde se alojan docenas de sitios. Estoy tratando de depurar uno de esos sitios. Cuando navego por el sitio, no aparece en /var/logs/apache2/access.logo /var/logs/apache2/error.log. (Los archivos están allí y otros sitios se registran en ellos. De hecho, hay cientos de archivos de registro diferentes).

Ni locate httpd.logtampoco find . -iname httpd.logrealizó en /cuestión ningún resultado.

La configuración de apache para el sitio es:

ServerName REDACTED.com.br
DocumentRoot /var/www/xyz/wiki
AssignUserId xyz_wiki xyz_wiki

<Directory /var/www/xyz/wiki/data>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/conf>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/bin>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/inc>
order allow,deny
deny from all
</Directory>

php_admin_value open_basedir /var/www/xyz/wiki/:/mnt/vdImagem/www/xyz/wiki/
Ese chico brasileño
fuente
66
Esto no es un engaño, el OP se ha relacionado con el duplicado propuesto en la pregunta misma y establece claramente que la información no está en /var/log/apache2/access.loglo que sugiere el duplicado.
terdon
Pruebasudo lsof -nP -c apache2 -c httpd | grep -i log
Stéphane Chazelas

Respuestas:

4

Puede preguntar sobre su información desde los archivos de registro de Apache, pero generalmente es mejor preguntar sobre estas cosas desde el ejecutable real. Analizar los registros puede ser complicado y probablemente cometerás un error si no estás tan familiarizado con cómo se realizó una configuración particular en una caja.

httpd -V

$ httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-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="run/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"

Los elementos clave que desea ver son los siguientes.

  1. Esto le indica el directorio "raíz" que todos los archivos a los que hará referencia Apache comenzarán:

     -D HTTPD_ROOT="/etc/httpd"
    
  2. Los archivos de configuración están definidos, comenzando aquí. Tenga en cuenta que esta ruta es relativa a la ruta mencionada en el n. ° 1, por lo que sería /etc/httpd/conf/httpd.conf.

     -D SERVER_CONFIG_FILE="conf/httpd.conf"
    
  3. El registro de errores está aquí.

     -D DEFAULT_ERRORLOG="logs/error_log"
    

    NOTA: Esto puede ser un poco confuso al principio, pero en las distribuciones de Red Hat hay un enlace que a menudo se realiza en este directorio, /etc/httpdllamado logs.

    $ ls -ld /etc/httpd/logs
    lrwxrwxrwx. 1 root root 19 Jul  9  2012 /etc/httpd/logs -> ../../var/log/httpd
    
  4. Otros archivos de registro que podrían ser utilizados por Apache se definen con más detalle en el archivo de configuración, /etc/httpd/conf/httpd.conf.

slm
fuente
1
El comando httpd -V no funciona en Debian 9.
Christia
Pruebaapache2 -V
Draex_
3

Busque en su configuración de apache la cadena ErrorLog.

Por lo general, hay uno para el proceso de Apache en sí. Cada VirtualHost también puede definir sus propios archivos de registro, así que verifíquelos también.

Si VirtualHost no define su propio archivo de registro, utilizará el especificado en la configuración global. Si cree que ha encontrado el archivo de registro correcto pero no ve la información que necesita, intente aumentarlo LogLevel.

bahamat
fuente
1
/etc/apache2# rgrep "ErrorLog" .muestra docenas de archivos de configuración que especifican ${APACHE_LOG_DIR}/error.sitename.log, pero este no es uno de esos. /etc/apache2# rgrep "LogLevel" .me da solo unos pocos archivos predeterminados.
Ese tipo brasileño
2
En Debian ${APACHE_LOG_DIR}se define como /var/log/apache2por defecto. Verifique /etc/defaults/apache2si se ha cambiado.
bahamat
Si no hay un LogLevelconjunto para un VirtualHost en particular, puede agregar uno.
bahamat
1

Acabo de encontrar un archivo /etc/apache2/conf.d/other-vhosts-access-logque contiene

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

Parece que es una forma de combinar todos los registros de vhosts en un solo archivo. He verificado y los accesos se estaban grabando allí.

( fuente )

La inserción de una directiva ErrorLog y AccessLog en el archivo de configuración para ese sitio me proporcionó archivos de registro separados.

Ese chico brasileño
fuente