web-dev-qa-db-fra.com

Comment trouver où Apache conserve les fichiers journaux?

J'ai besoin de trouver où Apache garde les journaux d'accès et d'erreur pour un site.

J'ai accès root à un serveur où des dizaines de sites sont hébergés. J'essaie de déboguer un de ces sites. Quand je navigue sur le site, il ne se présente pas sur /var/logs/Apache2/access.log ou /var/logs/Apache2/error.log. (Les fichiers y a-t-il et d'autres sites sont connectés à ceux-ci. En fait, il y a des centaines de fichiers journaux différents).

Ni locate httpd.log ni find . -iname httpd.log joué à / Émettez tous les résultats.

La configuration Apache pour le site est la suivante:

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/
10
That Brazilian Guy

Vous pouvez vous renseigner sur ses informations des fichiers journaux d'Apache, mais il est généralement préférable de se renseigner sur ces éléments de l'exécutable. L'analyse des bûches peut être délicate et vous ferez probablement une erreur si vous ne connaissez pas comment une configuration particulière a été effectuée sur une boîte.

httpd -v

$ 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"

Les éléments de clé que vous souhaitez examiner sont les suivants.

  1. Cela vous indique le répertoire "racine" que tous les fichiers Apache se réfèrent à partir de:

     -D HTTPD_ROOT="/etc/httpd"
    
  2. les fichiers de configuration sont définis, à partir d'ici. Notez que ce chemin est relatif au chemin mentionné dans le n ° 1, il serait donc /etc/httpd/conf/httpd.conf.

     -D SERVER_CONFIG_FILE="conf/httpd.conf"
    
  3. Le journal des erreurs est ici.

     -D DEFAULT_ERRORLOG="logs/error_log"
    

    Remarque: Celui-ci pourrait être un peu confus au début, mais sur Red Hat Distros, il existe un lien qui est souvent fabriqué dans ce répertoire, /etc/httpd appelé logs.

    $ ls -ld /etc/httpd/logs
    lrwxrwxrwx. 1 root root 19 Jul  9  2012 /etc/httpd/logs -> ../../var/log/httpd
    
  4. D'autres fichiers journaux pouvant être utilisés par Apache seront définis plus loin dans le fichier de configuration, /etc/httpd/conf/httpd.conf.

4
slm

Regardez votre configuration Apache pour la chaîne ErrorLog.

Habituellement, il y en a un pour le processus Apache lui-même. Chaque virtualhost peut également définir ses propres fichiers journaux alors vérifiez également ceux-ci.

Si le virtualhost ne définit pas son propre fichier journal, il utilisera celui spécifié dans la configuration globale. Si vous pensez avoir trouvé le fichier journal correct, mais vous ne voyez pas les informations dont vous avez besoin, essayez d'augmenter le LogLevel.

3
bahamat

Je viens de trouver un fichier /etc/Apache2/conf.d/other-vhosts-access-log qui contient

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

On dirait que c'est un moyen de combiner tous les journaux de Vhosts dans un seul fichier. J'ai vérifié et les accès étaient enregistrés là-bas.

( Source )

Insérez une directive ErrorLog et une directive AccessLog sur le fichier de configuration pour ce site m'a fourni des fichiers journaux distincts.

1
That Brazilian Guy