Nhật ký truy cập tệp Apache được lưu trữ ở đâu?


180

Có ai biết nhật ký truy cập tệp được lưu trữ ở đâu không, vì vậy tôi có thể chạy một tail -flệnh để xem ai đang truy cập vào một tệp cụ thể.

Tôi có XAMPP, một máy chủ Apache được cài đặt trên máy của tôi, nó sẽ tự động ghi lại các truy cập. Nó được lưu trữ trong thư mục cài đặt của tôi.


Trên phân phối gì, hoặc với nhà cung cấp dịch vụ lưu trữ nào? Nhật ký thường ở dưới /var/log, nhưng một số hệ thống có chúng ở nơi khác.
Gilles

Câu trả lời:


206

Cuối cùng, điều này phụ thuộc vào cấu hình Apache của bạn. Tìm kiếm các CustomLogchỉ thị trong cấu hình Apache của bạn, xem hướng dẫn để biết ví dụ.

Một vị trí điển hình cho tất cả các tệp nhật ký là /var/logvà thư mục con. Hãy thử /var/log/apache/access.loghoặc /var/log/apache2/access.loghoặc /var/log/httpd/access.log. Nếu nhật ký không có ở đó, hãy thử chạy locate access.log access_log.


40

Nếu bạn không thể tìm thấy nhật ký với câu trả lời của Gilles , có một vài điều nữa bạn có thể thử.

  • Nhìn vào /var/log/httpd.
  • Chạy sudo locate access.logcũng như sudo locate access_log. Nhật ký trên hệ thống của tôi không hiển thị ngoại trừ root và tệp được gọi access_logthay vì access.log.

3
+1 cho / var / log / httpd - đã đưa tôi đến ngay khi cài đặt CentOS của chúng tôi
Chuck Wilbur

24

Máy chủ Apache ghi lại tất cả các yêu cầu đến và tất cả các yêu cầu được xử lý vào tệp nhật ký. Các định dạng của nhật ký truy cập có cấu hình cao. Vị trí và nội dung của nhật ký truy cập được điều khiển bởi chỉ thị CustomLog. Vị trí tệp nhật ký truy cập apache mặc định:

Vị trí tệp truy cập Apache của RHEL / Red Hat / CentOS / Fedora Linux -

/var/log/httpd/access_log

Vị trí tệp nhật ký truy cập Debian / Ubuntu Linux Apache -

/var/log/apache2/access.log

Vị trí tệp nhật ký truy cập Apache của FreeBSD -

 /var/log/httpd-access.log

Để tìm vị trí tệp nhật ký apache chính xác, bạn có thể sử dụng lệnh grep:

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

Đầu ra mẫu:

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

4
Câu trả lời tốt nhất theo ý kiến ​​của tôi: chi tiết, súc tích và đa nền tảng cho hầu hết * nix.
Sopalajo de Arrierez

Toàn bộ câu trả lời này đã được sao chép từ trang này: cyberciti.biz/faq/apache-logs
Gert Grenander

5

tìm vị trí tệp access.log của Apache trên Debian / Ubuntu Linux

Trên máy của tôi /etc/apache2/apache2.confchỉ vào ${APACHE_LOG_DIR}biến môi trường thay vì thư mục nhật ký.

Bước (bổ sung) sau đây đã được yêu cầu để tìm thư mục nhật ký thực tế:

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

envvars chứa các biến môi trường mặc định cho Apache.

Vì vậy, để xem nhật ký truy cập, sử dụng

$ sudo tail -f /var/log/apache2/access.log
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.