Où se trouve le fichier journal des erreurs httpd sur Lion?

39

J'exécute un serveur Web (de développement) local sur mon mac avec Apache installé.

Je suis sûr que cela dépend de la configuration d'Apache, mais je souhaite simplement utiliser tail -f /var/log/httpd-error.logun terminal pour que je puisse voir les erreurs et les avertissements qui se produisent lors du développement de mes sites Web.

Donc ma question est où ou comment puis-je trouver où ce fichier journal est placé car il n'est pas placé dans /var/log/

VOLER
la source

Réponses:

59

Comme Morth a souligné, pour l'installation par défaut de Mac OS X Apache ceux - ci sont situés dans: /var/log/apache2/error_log.

L'emplacement peut être modifié dans la configuration httpd à l'aide de la directive ErrorLog , même pour des hôtes virtuels individuels. Notez également que si vous avez installé un autre Apache en plus de celui intégré (comme via MacPorts ou MAMP), ceci est probablement différent pour vous aussi. Dans ce cas, consultez le fichier httpd.conf ou son équivalent pour votre installation.

tip:Si vous avez installé Growl, consultez également ce script ' growltail '. Je pense qu’il est bon d’être informé des erreurs en cours de développement, sans avoir à revenir tout le temps au terminal.

Gerry
la source
3
Lion n'utilise-t-il pas apache2 et pas apache dans / var / log pour contenir les journaux du serveur Web? En outre, l'application Console dans / Applications / Utilities est la visionneuse de journaux "Cocoa", mais elle n'est pas aussi pratique que la queue pour la plupart des développeurs, si ce n'est d'explorer le contenu de / var / log ou de regarder plusieurs journaux pendant de courtes durées.
bmike
6

Est- /private/var/log/apache2/error_logce que vous cherchez?

m0rth1um
la source
5

Le journal des erreurs se trouve à: /var/log/apache2/error.log

C'est pour Lion ...

Holger von Ameln
la source
4

C'est normalement /var/log/apache2/error_logmais ...

Notez que certains types d' erreurs peuvent survenir avant qu'apache ne commence la journalisation , ce qui peut vous amener à croire que vous regardez au mauvais endroit. Si vous semblez avoir du mal à démarrer Apache et qu'il n'enregistre aucune nouvelle erreur, essayez:

sudo bash -x /usr/sbin/apachectl -k start

ou essayer

sudo apachectl -e debug

ou contourner le script apachectl et essayez juste

sudo httpd -k start
Harry Wood
la source
3

Les réponses ci-dessus conviennent parfaitement à Apache par défaut, pré-installé sur le Mac. Dans mon cas, j'utilise Apache (sur High Sierrra) installé via Homebrew. Voici la procédure que j'ai utilisée pour localiser mon journal des erreurs:

>ps -ef |grep httpd

Cela donne une sortie avec des lignes comme celle-ci:

502 10587 10586   0 11:11AM ??         0:00.00 /usr/local/opt/httpd/bin/httpd -k start

Cela vous donne l'emplacement de l'exécutable httpd. Maintenant, lancez:

>/usr/local/opt/httpd/bin/httpd -V

Substituer à l'emplacement de votre exécutable httpd. Vous obtiendrez quelque chose comme ça (raccourci)

Server compiled with....
 -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=256
 -D HTTPD_ROOT="/usr/local/Cellar/httpd/2.4.29_1"
 -D SUEXEC_BIN="/usr/local/opt/httpd/bin/suexec"
 -D DEFAULT_PIDLOG="/usr/local/var/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/usr/local/etc/httpd/mime.types"
 -D SERVER_CONFIG_FILE="/usr/local/etc/httpd/httpd.conf"

Donc, "DEFAULT_ERRORLOG" est dans logs/error_log- mais par rapport à quoi?

Ouvrez maintenant le "SERVER_CONFIG_FILE"

Là, j'ai trouvé deux entrées qui pourraient être utiles:

ServerRoot "/usr/local/opt/httpd"
ErrorLog "/usr/local/var/log/httpd/error_log"

Donc, dans certains cas, DEFAULT_ERRORLOG peut être relatif à ServerRoot. Dans mon cas cependant, il y avait un ErrorLog spécifié explicitement (deuxième ligne) et c'est là que mes erreurs vont.

Witt
la source
0
#/usr/sbin/httpd -V
Server version: Apache/2.2.24 (Unix)
Server built:   Aug 24 2013 21:10:43
Server's Module Magic Number: 20051115:31
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
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_FLOCK_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="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

#find / -name error_log
Jack D You
la source