Script PHP pour surveiller les files journaux d'access d'Apache en utilisant TAIL

J'ai écrit un script PHP pour monter en direct le file apache access_log. J'utilise les commands suivantes;

$path_to_tail = '/usr/bin/tail'; $path_to_access_file = '/var/log/httpd/access_log'; 

Le journal des erreurs affiche ceci: / usr / bin / tail: impossible d'ouvrir `/ var / log / httpd / access_log 'pour lire: Autorisation refusée

Je suis sur une dérive RHEL Linux.

Modifié l'autorisation des autres pour accéder uniquement et maintenant cela fonctionne, je n'ai changé rien d'autre

One Solution collect form web for “Script PHP pour surveiller les files journaux d'access d'Apache en utilisant TAIL”

Vous dites que l'erreur est:

 /usr/bin/tail: cannot open `/var/log/httpd/access_log' for reading: Permission denied 

Par défaut, les permissions pour / var / log / httpd / est que seule la racine peut lire et écrire sur ce directory. La journalisation est gérée par le process httpd parent, qui s'exécute en tant que root. Les enfants de ce process s'exécutent en tant qu'user 'apache', et ils ne peuvent pas accéder au directory:

 user@host:~ $ ls -ld /var/log/httpd/ drwx------. 2 root root 4096 Feb 11 11:44 /var/log/httpd/ 

Une correction à court terme consiste à modifier les permissions de /var/log/httpd :

 user@host:~ $ sudo chgrp apache /var/log/httpd/ user@host:~ $ sudo chmod g+rx /var/log/httpd/ user@host:~ $ sudo ls -la /var/log/httpd/ total 608 drwxr-x---. 2 root apache 4096 Feb 11 11:44 . drwxr-xr-x. 9 root root 4096 Feb 18 02:36 .. -rw-r--r--. 1 root root 0 Feb 11 11:44 access_log -rw-r--r--. 1 root root 596654 Feb 7 12:04 access_log-20130211 -rw-r--r--. 1 root root 693 Feb 18 02:36 error_log -rw-r--r--. 1 root root 11531 Feb 11 11:44 error_log-20130211 

Cependant, faites preuve de prudence avec ceci. Les concepteurs d'Apache ont choisi de créer /var/log/httpd/ pas lisible pour l'user Apache, probablement pour des raisons de security. À l'heure actuelle, je ne me souviens pas pourquoi ils ont choisi ce design, mais peut-être quelqu'un d'autre pourrait-il entendre.

Voir aussi Stackoverflow: le journal d'access Apache définit automatiquement les permissions

  • Configurer le server Ubuntu pour envoyer un courrier ()
  • Le directory de session PHP est-il plein?
  • PostgreSQL pg_hba.conf avec "mot de passe" auth ne fonctionnerait pas avec PHP pg_connect?
  • Apache enregistre uniquement les requêtes générées par PHP
  • Comment améliorer la disponibilité sur une application PHP + MySQL de démarrage?
  • apache virtualhost force email FROM address
  • Journal des erreurs d'Apache; Le file d'erreur Php n'existe pas; Je pense qu'il a quelque chose à voir avec mod_rewrite
  • L'application Symfony2 dans le sous-directory nginx
  • Installer APC RedHat
  • Installation de PHP 7 sur Microsoft IIS
  • nginx rewrite avec php interpreter
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.