快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

apache中与日志有关的模块

  软件

  mod_log_sql 把日志记到mysql中的模块 

  apache web服务器 

  准备工作(安装apache)

  ./configure --prefix=/www/apache --disable-module=all --enable-module=alias

  --enable-module=access --enable-module=auth --enable-module=log_config --enable-module=log_agen

  --enable-module=log_common

  --enable-module=dir --enable-module=mime --enable-module=so

  make

  make install

  Core模块,提供ErrorLog,LogLevel

  ErrorLog /www/apache/logs/error_log #定义error log的存放位置

  LogLevel warn #定义error log的级别。只有满足级别的事件才被记录

  log_config模块

  LogFormat format [nickname]  #定义访问日志的格式

  LogFormat "%{User-agent}i" agent  

  Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

  LogFormat "%h %l %u %t "%r" %>;s %b" common

  192.168.0.15 - - [26/Sep/2003:18:22:09 +0800] "GET / HTTP/1.1" 404 272

  LogFormat中参数含义

   %a  访问者ip

   %A  local ip

   %B  不包括HTTP 头发送的数据字节数

   %b   以CLF格式表示的发送字节数

   %c   在response后的连接状态

   %f   请求的文件名

   %h   客户端host

   %H   请求使用的协议

   %m   请求的方法get,put...

   %P   提供服务的端口

   %p   为请求提供服务的子进程ID

   %r   请求的第一行

   %s   status/

   %u   remote user

   %U   请求的URL path

  CustomLog file|pipe format

  CustomLog logs/access.log common

  CustomLog "|/bin/gzip -c >;>; logs/access.log.gz" common

  mod_log_mysql模块

  这个apache模块允许你把日志记录到mysql数据库中去。Combined Log Format格式会被记录到数据库中。

  DSO方式安装该模块

  # tar zxf mod_log_sql.tar.gz -C /usr/local/src 

  # cd /usr/local/src/mod_log_sql

  修改Makefile文件,修改下面的路径信息以符合你的安装

  APACHEINSTALLED: 

  APACHEHEADERS: 用'locate httpd.h'查找路径

  MYSQLLIBRARIES: 用'locate libmysqlclient.so'查找路径

  MYSQLHEADERS: 用'locate mysql.h'查找路径

  #make dso

  #make dsoinstall

  为使用mod_log_mysql准备mysql

  创建数据库accesslog

  mysqladmin -u username -p create accesslog

  mysql accesslog < /path/mod_log_sql/create_tables.sql

  grant insert on accesslog.* to weblog@localhost identified by 'pass';

  把下面两行加入httpd.conf

  LoadModule sql_log_module libexec/mod_log_sql.so

  AddModule mod_log_sql.c

  LogSQLLoginInfo localhost weblog pass

  LogSQLDatabase accesslog

  LogSQLSocketFile /tmp/mysql.sock

  LogSQLTransferLogTable access_log

  重起服务

  #apachectl restart 

  ok!mod_log_sql的安装配置就到这里了。网站运行一段时间以后你可以从mysql数据库里获得访问日志了

  本篇文章来源于 PHP资讯 原文链接:http://www.phpq.net/apache/apache-mod-log.html

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论