Fiche Technique : Log Mysql pour Apache
Configuration HTTP.CONF Ajouter les lignes suivantes
LogFormat "INSERT INTO access_log
(remote_ip,remote_host,remote_log_name,remote_user,server_name,request_uri,request_date,
request_status,request_bytes_sent,request_content_type,request_referer,request_user_agent)
VALUES
('%a','%h','%l','%u','%v','%U%q','%{%Y%m%d%H%M%S}t',%>s,'%B','%{Content-Type}o','%{Referer}i','%{User-Agent}i');"
mysql
Et
AddType application/x-httpd-php .php3
SetEnvIf Request_URI .gif$ nolog SetEnvIf Request_URI .js$ nolog SetEnvIf Request_URI
.jpg$ nolog SetEnvIf Request_URI .css$ nolog SetEnvIf Request_URI suiv.php$ nolog
NameVirtualHost 217.174.195.99
Puis
<VirtualHost 217.174.195.99> ServerName ledreau.com
DocumentRoot /usr/local/apache/htdocs
Alias /xxx/ "/usr/local/apache/htdocs/xxxx/"
CustomLog /usr/local/apache/logs/all.access.log combined
CustomLog "|/bin/php -f/usr/local/bin/log.php" mysql env=!nolog
CustomLog /usr/local/apache/logs/gld.access.log combined
</VirtualHost>
Programme /usr/local/bin/log.php
<?
$fd = fopen('php://stdin', 'r');
//$fr = fopen('/usr/local/bin/log.out','a');
while (!feof($fd)) {
$buffer = fgets($fd, 4096);
$linkID = mysql_connect('ip_serveur','user','password')
or die("Probleme de connexion ");
mysql_select_db("base")
or die (" probleme de selection ed base.<br><br>MySQL :
".mysql_error());
mysql_query($buffer);
// fputs($fr,$buffer);
}
fclose ($fd);
// fclose ($fr);
exit();
?>
Configuration MYSQL
Créer la table suivante :
CREATE TABLE `access_log` (
`id` int(11) NOT NULL auto_increment,
`remote_ip` varchar(15) NOT NULL default '',
`remote_host` varchar(255) NOT NULL default '',
`remote_domain` varchar(10) NOT NULL default '',
`remote_log_name` varchar(20) NOT NULL default '',
`remote_user` varchar(20) NOT NULL default '',
`server_name` varchar(255) NOT NULL default '',
`request_uri` varchar(255) NOT NULL default '',
`request_date` datetime NOT NULL default '0000-00-00 00:00:00',
`request_status` int(11) NOT NULL default '0',
`request_bytes_sent` int(11) NOT NULL default '0',
`request_content_type` varchar(50) NOT NULL default '',
`request_referer` varchar(255) NOT NULL default '',
`request_user_agent` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
) TYPE=MyISAM COMMENT='Apache Logging Table'
EXALEAD Moteur Francais
compteur blog