Apache dosya erişim günlükleri nerede saklanır?


180

Dosya erişim günlüklerinin nerede depolandığını bilen var mı, böylece tail -fbelirli bir dosyaya kimin eriştiğini görmek için bir komut çalıştırabilirim .

Makinemde yüklü olan ve otomatik olarak girişleri kaydeden bir Apache sunucusu olan XAMPP var. Benim yükleme klasöründe saklanır.


Hangi dağıtımda veya hangi barındırma sağlayıcısında? Günlükleri genellikle altında /var/log, ancak bazı sistemlerde başka bir yerde onları var.
Gilles

Yanıtlar:


206

Sonuçta, bu Apache yapılandırmanıza bağlıdır. CustomLogApache yapılandırmanızdaki direktifleri arayın , örnekler için kılavuza bakın .

Tüm günlük dosyaları için tipik bir konum /var/logve alt dizinlerdir. /var/log/apache/access.logVeya /var/log/apache2/access.logveya deneyin /var/log/httpd/access.log. Kayıtlar orada değilse, koşmayı deneyin locate access.log access_log.


40

Gilles'in cevabını içeren kütüğü bulamazsanız, deneyebileceğiniz birkaç şey daha vardır.

  • İçeri bak /var/log/httpd.
  • sudo locate access.logYanı sıra çalıştırın sudo locate access_log. Sistemimdeki günlükler kök dışında görünmüyordu ve dosya access_logyerine çağrıldı access.log.

3
Var / log / httpd için +1 - CentOS kurulumumuzda beni yönlendirdi
Chuck Wilbur

24

Apache sunucusu gelen tüm istekleri ve bir günlük dosyasına işlenen bütün istekleri kaydeder. Erişim günlüğünün formatı oldukça yapılandırılabilir. Erişim günlüğünün yeri ve içeriği CustomLog yönergesi tarafından kontrol edilir. Varsayılan apache erişim günlük dosyası konumu:

RHEL / Kırmızı Şapka / CentOS / Fedora Linux Apache erişim dosyası konumu -

/var/log/httpd/access_log

Debian / Ubuntu Linux Apache erişim günlük dosyası konumu -

/var/log/apache2/access.log

FreeBSD Apache erişim günlük dosyası konumu -

 /var/log/httpd-access.log

Tam apache günlük dosyası konumunu bulmak için grep komutunu kullanabilirsiniz:

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

Örnek çıktı:

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

4
Bence en iyi cevap: çoğu için * detaylı, özlü ve çoklu platform.
Sopalajo de Arrierez

Tüm bu cevap bu sayfadan kopyalandı: cyberciti.biz/faq/apache-logs
Gert Grenander

5

Debian / Ubuntu Linux'ta Apache access.log dosyasının yerini bulun

Benim makinede /etc/apache2/apache2.confişaret ${APACHE_LOG_DIR}ortam değişkeninin yerine günlük dizininin kendisi.

Gerçek günlük dizinini bulmak için aşağıdaki (ek) adım gerekli olmuştur:

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

envvars Apache için varsayılan ortam değişkenlerini içerir.

Böylece, erişim günlüğünü görüntülemek için

$ sudo tail -f /var/log/apache2/access.log
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.