บันทึกการเข้าถึงไฟล์ของ Apache อยู่ที่ไหน


180

ไม่มีใครรู้ว่าที่เก็บไฟล์บันทึกการเข้าถึงดังนั้นฉันสามารถเรียกใช้tail -fคำสั่งเพื่อดูว่าใครกำลังเข้าถึงไฟล์เฉพาะ

ฉันมี XAMPP ซึ่งเป็นเซิร์ฟเวอร์ Apache ติดตั้งในเครื่องของฉันซึ่งจะบันทึกการเข้าถึงโดยอัตโนมัติ มันถูกเก็บไว้ในโฟลเดอร์การติดตั้งของฉัน


เกี่ยวกับการกระจายใดหรือกับผู้ให้บริการโฮสติ้งอะไร? โดยทั่วไปจะมีการบันทึก/var/logแต่บางระบบมีที่อื่น
Gilles

คำตอบ:


206

ท้ายที่สุดนี้ขึ้นอยู่กับการกำหนดค่า Apache ของคุณ ค้นหาCustomLogคำสั่งในการกำหนดค่า Apache ของคุณดูคู่มือสำหรับตัวอย่าง

ตำแหน่งทั่วไปสำหรับไฟล์บันทึกทั้งหมด/var/logและไดเรกทอรีย่อย ลอง/var/log/apache/access.logหรือหรือ/var/log/apache2/access.log หากบันทึกไม่ได้มีให้ลองเรียกใช้/var/log/httpd/access.loglocate access.log access_log


40

หากคุณไม่พบบันทึกที่มีคำตอบของ Gillesมีอีกสองสามสิ่งที่คุณสามารถลองได้

  • /var/log/httpdดูใน
  • เรียกใช้เช่นเดียวกับsudo locate access.log sudo locate access_logบันทึกในระบบของฉันไม่สามารถมองเห็นได้ยกเว้นให้รากและไฟล์นั้นถูกเรียกแทนaccess_logaccess.log

3
+1 สำหรับ / var / log / httpd - ทำให้ฉันถูกต้องในการติดตั้ง CentOS ของเรา
Chuck Wilbur

24

เซิร์ฟเวอร์ Apache จะบันทึกคำขอที่เข้ามาทั้งหมดและคำขอทั้งหมดที่ประมวลผลเป็นไฟล์บันทึก รูปแบบของบันทึกการเข้าถึงสามารถกำหนดค่าได้อย่างมาก ตำแหน่งและเนื้อหาของบันทึกการเข้าถึงถูกควบคุมโดยคำสั่งของ CustomLog ตำแหน่งไฟล์บันทึกการเข้าถึง apache เริ่มต้น:

ตำแหน่งการเข้าถึงไฟล์ RHEL / Red Hat / CentOS / Fedora Linux Apache -

/var/log/httpd/access_log

ตำแหน่งล็อกไฟล์การเข้าถึง Debian / Ubuntu Linux Apache -

/var/log/apache2/access.log

ตำแหน่งไฟล์บันทึกการเข้าถึงของ FreeBSD Apache -

 /var/log/httpd-access.log

ในการค้นหาตำแหน่งไฟล์บันทึก apache ที่แน่นอนคุณสามารถใช้คำสั่ง grep:

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

ตัวอย่างผลลัพธ์:

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

4
คำตอบที่ดีที่สุดในความคิดของฉัน: ละเอียดกระชับและหลายแพลตฟอร์มสำหรับส่วนใหญ่ * ระวัง
Sopalajo de Arrierez

คำตอบทั้งหมดนี้ถูกคัดลอกจากหน้านี้: cyberciti.biz/faq/apache-logs
เกิร์ต Grenander

5

ค้นหาตำแหน่งไฟล์ Apache access.log บน Debian / Ubuntu Linux

บนเครื่องของฉัน/etc/apache2/apache2.confชี้ไปที่${APACHE_LOG_DIR}ตัวแปรสภาพแวดล้อมแทนที่จะเป็นไดเรกทอรีบันทึกเอง

จำเป็นต้องมีขั้นตอน (เพิ่มเติม) ต่อไปนี้เพื่อค้นหาไดเรกทอรีบันทึกจริง:

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

envvars มีตัวแปรสภาพแวดล้อมเริ่มต้นสำหรับ Apache

ดังนั้นในการดูบันทึกการเข้าถึงให้ใช้

$ sudo tail -f /var/log/apache2/access.log
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.