Dove sono memorizzati i log di accesso ai file Apache?


180

Qualcuno sa dove sono archiviati i log di accesso ai file, quindi posso eseguire un tail -fcomando per vedere chi accede a un determinato file.

Ho XAMPP, che è un server Apache installato sulla mia macchina, che registra automaticamente gli accessi. È memorizzato nella mia cartella di installazione.


Su quale distribuzione o con quale fornitore di hosting? I registri sono in genere sotto /var/log, ma alcuni sistemi li hanno altrove.
Gilles,

Risposte:


206

In definitiva, questo dipende dalla configurazione di Apache. Cerca le CustomLogdirettive nella tua configurazione di Apache, vedi il manuale per esempi.

Un percorso tipico per tutti i file di registro è /var/loge sottodirectory. Prova /var/log/apache/access.logo /var/log/apache2/access.logo /var/log/httpd/access.log. Se i registri non sono presenti, prova a eseguire locate access.log access_log.


40

Se non riesci a trovare il registro con la risposta di Gilles , ci sono un altro paio di cose che puoi provare.

  • Guarda dentro /var/log/httpd.
  • Corri sudo locate access.logpure sudo locate access_log. I log sul mio sistema non erano visibili tranne che per root, e il file è stato chiamato access_loginvece di access.log.

3
+1 per / var / log / httpd - mi ha portato direttamente ad esso sulla nostra installazione CentOS
Chuck Wilbur

24

Il server Apache registra tutte le richieste in arrivo e tutte le richieste elaborate in un file di registro. Il formato del registro di accesso è altamente configurabile. La posizione e il contenuto del registro di accesso sono controllati dalla direttiva CustomLog. Posizione del file di registro di accesso apache predefinito:

Posizione del file di accesso Apache RHEL / Red Hat / CentOS / Fedora Linux -

/var/log/httpd/access_log

Posizione del file di registro di accesso di Apache Debian / Ubuntu Linux -

/var/log/apache2/access.log

Posizione del file di registro di accesso di FreeBSD Apache -

 /var/log/httpd-access.log

Per trovare la posizione esatta del file di registro apache, è possibile utilizzare il comando grep:

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

Uscita campione:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 

4
La migliore risposta secondo me: dettagliata, concisa e multi-piattaforma per la maggior parte dei * nix.
Sopalajo de Arrierez,

L'intera risposta è stata copiata da questa pagina: cyberciti.biz/faq/apache-logs
Gert Grenander,

5

trova la posizione del file access.log di Apache su Debian / Ubuntu Linux

Sulla mia macchina /etc/apache2/apache2.confpuntava alla ${APACHE_LOG_DIR}variabile d'ambiente anziché alla directory di log stessa.

È stato richiesto il seguente passaggio (aggiuntivo) per trovare la directory di registro effettiva:

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

envvars contiene variabili di ambiente predefinite per Apache.

Pertanto, per visualizzare il registro di accesso, utilizzare

$ sudo tail -f /var/log/apache2/access.log
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.