Де зберігаються журнали доступу до файлів Apache?


180

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

У мене є XAMPP - сервер Apache, встановлений на моїй машині, який автоматично реєструє доступ. Він зберігається в моїй інсталяційній папці.


На якому дистрибутиві чи з яким хостинг-провайдером? Журнали зазвичай знаходяться під /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}змінну середовища, а не на сам каталог журналів.

Наступний (додатковий) крок потрібен для пошуку фактичної каталоги журналу:

$ 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.