AWStats+Lighttpd配置
出自Linux Wiki
AWStats是一款流行的服务器日志分析软件,Lighttpd是一款轻量级HTTP服务器软件。本文介绍在CentOS系统中,用AWStats做Lighttpd日志分析的方法。
目录 |
安装AWStats
可以到AWStats官方网站下载安装,也可以从发行版提供的软件仓库安装。以CentOS EPEL仓库中的AWStats为例,AWStats会被安装到以下文件夹:
- /usr/share/awstats/wwwroot/
- 程序文件夹
- /etc/awstats/
- 配置文件
- /usr/share/awstats/wwwroot/cgi-bin/
- 可执行文件文件夹
AWStats官网的rpm包会将其装在/usr/local/awstats中。
Lighttpd配置
首先启用必要的模块( server.modules )[1]:
- mod_access, mod_accesslog
- 产生log
- mod_cgi
- 运行AWStats
- mod_auth
- (可选)用户身份认证
- mod_alias
- (可选)虚拟文件夹支持
如果想使用虚拟文件夹访问AWStats,可加入代码[2]:
alias.url = ( "/awstatsclasses" => "/usr/local/awstats/wwwroot/classes/", "/awstatscss" => "/usr/local/awstats/wwwroot/css/", "/awstatsicons" => "/usr/local/awstats/wwwroot/icon/", "/awstats/" => "/usr/local/awstats/wwwroot/cgi-bin/", "/icon/" => "/usr/local/awstats/wwwroot/icon/" ) # provide awstats cgi-bin access $HTTP["url"] =~ "/awstats/" { cgi.assign = ( ".pl" => "/usr/bin/perl" ) }
配置完成后,重启lighttpd
service lighttpd restart
如果一切正常,访问 http://你的域名/awstats/ ,应该就能看到AWStats的错误信息了。
配置AWStats
配置文件一般存在/etc/awstats/,可以从awstats.model.conf复制产生需要的配置文件。
cd /etc/awstats cp awstats.model.conf awstats.目的域名.conf
编辑配置文件,主要注意LogFile(Lighttpd日志的位置)、SiteDomain(网站域名)、DirData(数据位置,lighttpd要有写权限)。DirData所指向的文件夹可能需要手动建立并设置权限。
处理数据、查看结果
现在已经可以处理日志文件了:
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -update -config=域名
再通过
http://域名/awstats/awstats.pl?config=域名
可以看到分析结果。
定时更新
可以通过crond让程序每天执行。创建、编辑文件/etc/cron.daily/01awstats,如:
#!/bin/bash AWS=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl # append your domain DOMAINS="linux-wiki.cn www.linux-wiki.cn" # loop through all domains for d in ${DOMAINS} do ${AWS} -update -config=${d} done
其中AWStats.pl的路径、域名等可按需更改
用户认证
如果不想公开统计信息,可以设置lighttpd用户认证。此处介绍一种最简单的方式:
auth.backend = "plain" # filename of the password storage for plain auth.backend.plain.userfile = "用户名密码文件的完整路径" auth.require = ("/awstats" => ( "method" => "basic", "realm" => "Authentication Awstats Management", "require" => "valid-user" ), )
其中用户名密码文件格式很简单,如
user1:password1 user2:password2
不要更改"valid-user"。