Где хранятся журналы доступа к файлам Apache?

180

Кто-нибудь знает, где хранятся журналы доступа к файлам, так что я могу запустить tail -fкоманду, чтобы увидеть, кто обращается к конкретному файлу.

У меня есть XAMPP, который является сервером Apache, установленным на моей машине, который автоматически регистрирует доступы. Он хранится в моей папке установки.

AkshaiShah
источник
На каком дистрибутиве или с каким хостинг-провайдером? Журналы обычно находятся под /var/log, но некоторые системы имеют их в другом месте.
Жиль

Ответы:

206

В конечном счете, это зависит от вашей конфигурации Apache. Ищите CustomLogдирективы в вашей конфигурации Apache, см. Руководство для примеров.

Типичное расположение для всех файлов журналов /var/logи подкаталогов. Попробуйте /var/log/apache/access.logили /var/log/apache2/access.logили /var/log/httpd/access.log. Если журналов нет, попробуйте запустить locate access.log access_log.

жилль
источник
40

Если вы не можете найти журнал с ответом Жиля , есть еще несколько вещей, которые вы можете попробовать.

  • Посмотри /var/log/httpd.
  • Беги sudo locate access.logтак же как sudo locate access_log. Журналы в моей системе не были видны, кроме root, и файл был вызван access_logвместо access.log.
Дон Киркби
источник
3
+1 за / var / log / httpd - привел меня прямо к этому на нашей установке CentOS
Чак Уилбур
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
Лучший ответ на мой взгляд: подробный, краткий и мультиплатформенный для большинства * nix.
Сопалайо де Арриерес
Весь этот ответ был скопирован с этой страницы: cyberciti.biz/faq/apache-logs
Герт Гренандер
5

найти расположение файла Apache access.log в Debian / Ubuntu Linux

На моей машине /etc/apache2/apache2.confуказана ${APACHE_LOG_DIR}переменная окружения вместо самой директории log.

Следующий (дополнительный) шаг потребовался, чтобы найти актуальный каталог журналов:

$ 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
Дмитрий Дзюбак
источник