Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does anyone know where file access logs are stored, so I can run a tail -f command in order to see who is accessing a particular file.

I have XAMPP, which is an Apache server installed on my machine, which automatically logs the accesses. It is stored in my installation folder.

share|improve this question
    
On what distribution, or with what hosting provider? Logs are typically under /var/log, but some systems have them elsewhere. – Gilles May 19 '12 at 12:51
up vote 79 down vote accepted

Ultimately, this depends on your Apache configuration. Look for CustomLog directives in your Apache configuration, see the manual for examples.

A typical location for all log files is /var/log and subdirectories. Try /var/log/apache/access.log or /var/log/apache2/access.log. If the logs aren't there, try running locate access.log.

share|improve this answer

If you can't find the log with Gilles's answer, there are a couple more things you can try.

  • Look in /var/log/httpd.
  • Run sudo locate access.log as well as sudo locate access_log. The logs on my system were not visible except to root, and the file was called access_log instead of access.log.
share|improve this answer
3  
+1 for /var/log/httpd - led me right to it on our CentOS installation – Chuck Wilbur Oct 2 '15 at 19:27

Apache server records all incoming requests and all requests processed to a log file. The format of the access log is highly configurable. The location and content of the access log are controlled by the CustomLog directive. Default apache access log file location: Pass4sure 200-120

RHEL / Red Hat / CentOS / Fedora Linux Apache access file location –

/var/log/httpd/access_log

Debian / Ubuntu Linux Apache access log file location –

/var/log/apache2/access.log

FreeBSD Apache access log file location –

 /var/log/httpd-access.log

To find exact apache log file location, you can use grep command:

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

Sample output:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 
share|improve this answer
    
The best answer in my opinion: detailed, concise and multi-platform for most *nix. – Sopalajo de Arrierez Jun 17 at 23:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.