Où les journaux d'accès aux fichiers Apache sont-ils stockés?

180

Est-ce que quelqu'un sait où les journaux d'accès aux fichiers sont stockés, ainsi je peux exécuter une tail -fcommande afin de voir qui accède à un fichier particulier.

J'ai XAMPP, un serveur Apache installé sur ma machine, qui enregistre automatiquement les accès. Il est stocké dans mon dossier d'installation.

AkshaiShah
la source
Sur quelle distribution, ou avec quel hébergeur? Les journaux sont généralement en-dessous /var/log, mais certains systèmes les ont ailleurs.
Gilles

Réponses:

206

En fin de compte, cela dépend de votre configuration Apache. Rechercher des CustomLogdirectives dans votre configuration Apache, voir le manuel pour des exemples.

Un emplacement typique pour tous les fichiers journaux est un /var/logsous-répertoire. Essayez /var/log/apache/access.logou /var/log/apache2/access.logou /var/log/httpd/access.log. Si les journaux ne sont pas là, essayez de courir locate access.log access_log.

Gilles
la source
40

Si vous ne trouvez pas le journal contenant la réponse de Gilles , vous pouvez essayer quelques autres solutions .

  • Regardez dedans /var/log/httpd.
  • Courez sudo locate access.logaussi bien que sudo locate access_log. Les journaux de mon système n'étaient visibles que par l'utilisateur root et le fichier a été appelé à la access_logplace de access.log.
Don Kirkby
la source
3
+1 pour / var / log / httpd - m'y a conduit directement sur notre installation CentOS
Chuck Wilbur
24

Le serveur Apache enregistre toutes les demandes entrantes et toutes les demandes traitées dans un fichier journal. Le format du journal d'accès est hautement configurable. L'emplacement et le contenu du journal d'accès sont contrôlés par la directive CustomLog. Emplacement du fichier journal d'accès Apache par défaut:

Emplacement du fichier d'accès Apache RHEL / Red Hat / CentOS / Fedora Linux -

/var/log/httpd/access_log

Emplacement du fichier journal du journal d’accès Apache Debian / Ubuntu Linux -

/var/log/apache2/access.log

Emplacement du fichier de journal d'accès FreeBSD Apache -

 /var/log/httpd-access.log

Pour trouver l'emplacement exact du fichier journal Apache, vous pouvez utiliser la commande grep:

# grep CustomLog /usr/local/etc/apache22/httpd.conf
# grep CustomLog /etc/apache2/apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf

Exemple de sortie:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 
hector adam
la source
4
La meilleure réponse à mon avis: détaillée, concise et multiplateforme pour la plupart des * nix.
Sopalajo de Arrierez
Toute cette réponse a été copiée à partir de cette page: cyberciti.biz/faq/apache-logs
Gert Grenander
5

trouvez l'emplacement du fichier access.log Apache sous Debian / Ubuntu Linux

Sur ma machine, /etc/apache2/apache2.confpointez sur ${APACHE_LOG_DIR}la variable d'environnement au lieu du répertoire de journal lui-même.

L'étape suivante (supplémentaire) a été requise pour rechercher le répertoire de journal réel:

$ grep APACHE_LOG_DIR /etc/apache2/envvars
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
$

envvars contient les variables d'environnement par défaut pour Apache.

Ainsi, pour afficher le journal des accès, utilisez

$ sudo tail -f /var/log/apache2/access.log
Dmytro Dzyubak
la source