¿Dónde se almacenan los registros de acceso a archivos de Apache?

180

¿Alguien sabe dónde se almacenan los registros de acceso a archivos, por lo que puedo ejecutar un tail -fcomando para ver quién está accediendo a un archivo en particular.

Tengo XAMPP, que es un servidor Apache instalado en mi máquina, que registra automáticamente los accesos. Está almacenado en mi carpeta de instalación.

AkshaiShah
fuente
¿En qué distribución o con qué proveedor de hosting? Los registros suelen estar debajo /var/log, pero algunos sistemas los tienen en otros lugares.
Gilles

Respuestas:

206

En última instancia, esto depende de su configuración de Apache. Busque CustomLogdirectivas en su configuración de Apache, consulte el manual para ver ejemplos.

Una ubicación típica para todos los archivos de registro es /var/logy subdirectorios. Prueba /var/log/apache/access.logo /var/log/apache2/access.logo /var/log/httpd/access.log. Si los registros no están allí, intente ejecutar locate access.log access_log.

Gilles
fuente
40

Si no puede encontrar el registro con la respuesta de Gilles , hay un par de cosas más que puede probar.

  • Busque en /var/log/httpd.
  • Corre sudo locate access.logtan bien como sudo locate access_log. Los registros en mi sistema no eran visibles excepto para root, y el archivo fue llamado en access_loglugar de access.log.
Don Kirkby
fuente
3
+1 para / var / log / httpd - me llevó directamente a eso en nuestra instalación de CentOS
Chuck Wilbur
24

El servidor Apache registra todas las solicitudes entrantes y todas las solicitudes procesadas en un archivo de registro. El formato del registro de acceso es altamente configurable. La ubicación y el contenido del registro de acceso están controlados por la directiva CustomLog. Ubicación predeterminada del archivo de registro de acceso de apache:

RHEL / Red Hat / CentOS / Fedora Linux Apache ubicación del archivo de acceso -

/var/log/httpd/access_log

Ubicación del archivo de registro de acceso de Debian / Ubuntu Linux Apache -

/var/log/apache2/access.log

Ubicación del archivo de registro de acceso de FreeBSD Apache -

 /var/log/httpd-access.log

Para encontrar la ubicación exacta del archivo de registro de apache, puede usar el comando grep:

# grep CustomLog /usr/local/etc/apache22/httpd.conf
# grep CustomLog /etc/apache2/apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf

Salida de muestra:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 
hector adam
fuente
44
La mejor respuesta en mi opinión: detallada, concisa y multiplataforma para la mayoría de * nix.
Sopalajo de Arrierez
Toda esta respuesta se copió de esta página: cyberciti.biz/faq/apache-logs
Gert Grenander
5

encontrar la ubicación del archivo Apache access.log en Debian / Ubuntu Linux

En mi máquina /etc/apache2/apache2.confapunté a ${APACHE_LOG_DIR}la variable de entorno en lugar del directorio de registro en sí.

Se ha requerido el siguiente paso (adicional) para encontrar el directorio de registro real:

$ grep APACHE_LOG_DIR /etc/apache2/envvars
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
$

envvars contiene variables de entorno predeterminadas para Apache.

Por lo tanto, para ver el registro de acceso, use

$ sudo tail -f /var/log/apache2/access.log
Dmytro Dzyubak
fuente