Мне нужно найти, где Apache хранит журналы доступа и ошибок для сайта.
У меня есть root-доступ к серверу, на котором размещены десятки сайтов. Я пытаюсь отладить один из этих сайтов. Когда я просматриваю сайт, он не отображается на /var/logs/apache2/access.log
или /var/logs/apache2/error.log
. (Файлы есть , и другие сайты регистрируются на них. На самом деле, существуют сотни различных файлов журналов).
Ни один из них locate httpd.log
не find . -iname httpd.log
выполнил /
никаких проблем.
Конфигурация apache для сайта:
ServerName REDACTED.com.br
DocumentRoot /var/www/xyz/wiki
AssignUserId xyz_wiki xyz_wiki
<Directory /var/www/xyz/wiki/data>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/conf>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/bin>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/inc>
order allow,deny
deny from all
</Directory>
php_admin_value open_basedir /var/www/xyz/wiki/:/mnt/vdImagem/www/xyz/wiki/
debian
logs
apache-httpd
Этот бразильский парень
источник
источник
/var/log/apache2/access.log
том, что предлагает дубликат.sudo lsof -nP -c apache2 -c httpd | grep -i log
Ответы:
Вы можете узнать о его информации из файлов журнала Apache, но обычно лучше узнать об этом из реального исполняемого файла. Парсинг журналов может быть сложным, и вы, вероятно, совершите ошибку, если не знаете, как выполнялась конкретная настройка на коробке.
httpd -V
Ключевые пункты, которые вы хотите посмотреть, следующие.
Это говорит вам о «корневом» каталоге, с которого будут ссылаться все файлы, на которые ссылается Apache:
Конфигурационные файлы определены, начиная здесь. Обратите внимание, что этот путь относительно пути, упомянутого в # 1, так что это будет
/etc/httpd/conf/httpd.conf
.Журнал ошибок здесь.
ПРИМЕЧАНИЕ. Поначалу это может показаться немного запутанным, но в дистрибутивах Red Hat есть ссылка, которая часто делается в этом каталоге,
/etc/httpd
называетсяlogs
.Другие файлы журнала, которые могут использоваться Apache, будут определены далее в файле конфигурации
/etc/httpd/conf/httpd.conf
.источник
apache2 -V
Посмотрите в вашей конфигурации Apache для строки
ErrorLog
.Обычно есть один для самого процесса Apache. Каждый VirtualHost также может определять свои собственные файлы журналов, поэтому проверьте их.
Если VirtualHost не определяет свой собственный файл журнала, он будет использовать тот, который указан в глобальной конфигурации. Если вы считаете, что нашли правильный файл журнала, но не видите нужной информации, попробуйте увеличить
LogLevel
.источник
/etc/apache2# rgrep "ErrorLog" .
отображает десятки конфигурационных файлов, которые указывают${APACHE_LOG_DIR}/error.sitename.log
, но это не один из них./etc/apache2# rgrep "LogLevel" .
достает мне только несколько файлов по умолчанию.${APACHE_LOG_DIR}
определяется/var/log/apache2
по умолчанию. Проверьте, не/etc/defaults/apache2
было ли оно изменено.LogLevel
для определенного VirtualHost нет набора, вы можете добавить его.Я только что нашел файл,
/etc/apache2/conf.d/other-vhosts-access-log
который содержитПохоже, это способ объединить все журналы Vhosts в один файл. Я проверил и доступ был записан там.
( источник )
Вставка ErrorLog и директивы AccessLog в файл конфигурации для этого сайта предоставила мне отдельные файлы журнала.
источник