Como encontro onde o Apache mantém os arquivos de log?

9

Eu preciso encontrar onde o Apache está mantendo os registros de acesso e erro para um site.

Tenho acesso root a um servidor em que dezenas de sites estão hospedados. Estou tentando depurar um desses sites. Quando eu navego no site, ele não aparece em /var/logs/apache2/access.log ou /var/logs/apache2/error.log . (Os arquivos estão lá , e outros sites são registrados neles. Na verdade, existem centenas de arquivos de log diferentes).

Nem locate httpd.log nem find . -iname httpd.log executadas em / emitem resultados.

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/
    
por That Brazilian Guy 19.02.2014 / 20:04

3 respostas

3

Procure na sua configuração do apache a string ErrorLog .

Geralmente, há um para o próprio processo do Apache. Cada VirtualHost também pode definir seus próprios arquivos de log para verificar isso 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 LogLevel .

    
por 19.02.2014 / 20:07
2

Você pode perguntar sobre suas informações a partir dos arquivos de log do Apache, mas geralmente é melhor perguntar sobre essas coisas a partir do executável real. Analisar os logs pode ser complicado 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.

link

$ httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Os itens principais que você deseja ver são os seguintes.

  1. Isto informa o diretório "root" que todos os arquivos do Apache irão referenciar:

     -D HTTPD_ROOT="/etc/httpd"
    
  2. arquivos de configuração são definidos, começando aqui. Note que este caminho é relativo ao caminho mencionado em # 1, então seria /etc/httpd/conf/httpd.conf .

     -D SERVER_CONFIG_FILE="conf/httpd.conf"
    
  3. O log de erros está aqui.

     -D DEFAULT_ERRORLOG="logs/error_log"
    

    NOTA: Este pode ser um pouco confuso no começo, mas nas distribuições da Red Hat há um link que é frequentemente feito neste diretório, /etc/httpd chamado logs .

    $ ls -ld /etc/httpd/logs
    lrwxrwxrwx. 1 root root 19 Jul  9  2012 /etc/httpd/logs -> ../../var/log/httpd
    
  4. 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 .

por 19.02.2014 / 21:22
1

Acabei de encontrar um arquivo /etc/apache2/conf.d/other-vhosts-access-log que contém

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

Parece que é uma maneira de combinar todos os logs de vhosts em um único arquivo. Eu verifiquei e os acessos estavam sendo gravados lá.

( source )

Inserir um ErrorLog e uma diretiva AccessLog no arquivo de configuração para esse site me forneceu arquivos de log separados.

    
por 19.02.2014 / 21:10