Preciso descobrir onde o Apache está mantendo os logs de acesso e erro de um site.
Eu tenho acesso root a um servidor em que dezenas de sites estão hospedados. Estou tentando depurar um desses sites. Quando navego no site, ele não aparece /var/logs/apache2/access.log
ou /var/logs/apache2/error.log
. (Os arquivos estão lá e outros sites são registrados nesses. De fato, existem centenas de arquivos de log diferentes).
Nem locate httpd.log
nem find . -iname httpd.log
realizado em /
questão qualquer resultado.
A configuração do apache para o site é:
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
Aquele cara brasileiro
fonte
fonte
/var/log/apache2/access.log
qual é o que a duplicata sugere.sudo lsof -nP -c apache2 -c httpd | grep -i log
Respostas:
Você pode perguntar sobre as informações dele nos arquivos de log do Apache, mas geralmente é melhor perguntar sobre essas coisas no executável real. A análise dos logs pode ser complicada e você provavelmente cometerá um erro se não estiver familiarizado com o modo como uma configuração específica foi feita em uma caixa.
httpd -V
Os principais itens que você deseja examinar são os seguintes.
Isso indica o diretório "raiz" ao qual todos os arquivos que o Apache fará referência começam:
arquivos de configuração são definidos, começando aqui. Observe que esse caminho é relativo ao caminho mencionado em # 1, assim seria
/etc/httpd/conf/httpd.conf
.O log de erros está aqui.
NOTA: Este pode ser um pouco confuso a princípio, mas nas distribuições da Red Hat há um link que é feito frequentemente neste diretório,
/etc/httpd
chamadologs
.Outros arquivos de log que podem ser utilizados pelo Apache serão definidos mais adiante no arquivo de configuração
/etc/httpd/conf/httpd.conf
,.fonte
apache2 -V
Procure na sua configuração do apache a string
ErrorLog
.Normalmente, existe um para o próprio processo Apache. Cada VirtualHost também pode definir seus próprios arquivos de log, portanto, verifique-os também.
Se o VirtualHost não definir seu próprio arquivo de log, ele estará usando o especificado na configuração global. Se você acha que encontrou o arquivo de log correto, mas não está vendo as informações necessárias, tente aumentar o arquivo
LogLevel
.fonte
/etc/apache2# rgrep "ErrorLog" .
exibe dezenas de arquivos de configuração que especificam${APACHE_LOG_DIR}/error.sitename.log
, mas esse não é um deles./etc/apache2# rgrep "LogLevel" .
recebe apenas alguns arquivos padrão.${APACHE_LOG_DIR}
é definido como/var/log/apache2
por padrão. Verifique/etc/defaults/apache2
se foi alterado.LogLevel
conjunto para um VirtualHost específico, você poderá adicionar um.Acabei de encontrar um arquivo
/etc/apache2/conf.d/other-vhosts-access-log
que contémParece que é uma maneira de combinar todos os logs de vhosts em um único arquivo. Eu verifiquei e os acessos estavam sendo gravados lá.
( fonte )
A inserção de uma diretiva ErrorLog e AccessLog no arquivo de configuração desse site me forneceu arquivos de log separados.
fonte