简介:awstats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具,它可以为我们提供访问量,访问次数,页面浏览量,点击数,数据流量等
awstats网站http://awstats.sourceforge.net/
我的虚拟机环境:Red Hat Enterprise Linux Server release 5.8 Apache/2.4.2 我的Web是编译安装的哦,大家注意路径哦
实验要求:主机:172.16.22.1 域名:www.test.com
通过awstats统计www.test.com的访问信息,并提供web页面查看
请检查perl环境是否安装了
- [root@linuxsed ~]# perl -v
- This is perl, v5.8.8 built for i386-linux-thread-multi
- Copyright 1987-2006, Larry Wall
- Perl may be copied only under the terms of either the Artistic License or the
- GNU General Public License, which may be found in the Perl 5 source kit.
- Complete documentation for Perl, including FAQ lists, should be found on
- this system using "man perl" or "perldoc perl". If you have access to the
- Internet, point your browser at http://www.perl.org/, the Perl Home Page.
- 我们这里已经安装了哦
安装与配置awstats
- [root@linuxsed ~]# unzip awstats-6.95.zip -d /usr/local/ /-d表示解压到指定目录里/
- [root@linuxsed ~]# cd /usr/local/
- [root@linuxsed local]# mv awstats-6.95 awstats
- [root@linuxsed awstats]# chmod -R 755 * /为了防止后面出现权限错误,我们给了755权限/
执行脚本,出现安装界面
- [root@linuxsed awstats]# ./usr/local/awstats/tools/awstats_configure.pl
- ----- AWStats awstats_configure 1.0 (build 1.8) (c) Laurent Destailleur -----
- This tool will help you to configure AWStats to analyze statistics for
- one web server. You can try to use it to let it do all that is possible
- in AWStats setup, however following the step by step manual setup
- documentation (docs/index.html) is often a better idea. Above all if:
- - You are not an administrator user,
- - You want to analyze downloaded log files without web server,
- - You want to analyze mail or ftp log files instead of web log files,
- - You need to analyze load balanced servers log files,
- - You want to 'understand' all possible ways to use AWStats...
- Read the AWStats documentation (docs/index.html).
- -----> Running OS detected: Linux, BSD or Unix
- Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
- If you want to use standard directory, you should first move all content
- of AWStats distribution from current directory:
- /usr/local/awstats
- to standard directory:
- /usr/local/awstats
- And then, run configure.pl from this location.
- Do you want to continue setup from this NON standard directory [yN] ? y <---选择y,同意安装到默认路径下
- -----> Check for web server install
- Found Web server Apache config file '/etc/httpd/httpd.conf'
- -----> Check and complete web server config file '/etc/httpd/httpd.conf'
- Add '<Directory>' directive
- AWStats directives added to Apache config file.
- -----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
- File awstats.model.conf updated.
- -----> Need to create a new config file ?
- Do you want me to build a new AWStats config/profile
- file (required if first install) [y/N] ?y <---选择y,同意创建一个新的对象配置文件
- -----> Define config file name to create
- What is the name of your web site or profile analysis ?
- Example: www.mysite.com
- Example: demo
- Your web site, virtual server or profile name:
- > www.test.com <---填写网站的域名
- -----> Define config file path
- In which directory do you plan to store your config file(s) ?
- Default: /etc/awstats
- Directory path to store config file(s) (Enter for default):
- > 直接按回车键,创建awstats的默认配置文件
- -----> Create config file '/etc/awstats/awstats.www.test.com.conf'
- Config file /etc/awstats/awstats.www.test.com.conf created.
- -----> Restart Web server with '/sbin/service httpd restart'
- AH00557: httpd: apr_sockaddr_info_get() failed for linuxsed
- AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
- Stopping httpd: [ OK ]
- Starting httpd: [ OK ]
- -----> Add update process inside a scheduler
- Sorry, configure.pl does not support automatic add to cron yet.
- You can do it manually by adding the following command to your cron:
- /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com
- Or if you have several config files and prefer having only one command:
- /usr/local/awstats/tools/awstats_updateall.pl now
- Press ENTER to continue... <---"回车"继续
- A SIMPLE config file has been created: /etc/awstats/awstats.www.test.com.conf
- You should have a look inside to check and change manually main parameters.
- You can then manually update your statistics for 'www.test.com' with command:
- > perl awstats.pl -update -config=www.test.com
- You can also read your statistics for 'www.test.com' with URL:
- > http://localhost/awstats/awstats.pl?config=www.test.com
- Press ENTER to finish... <---"回车"继续,并结束配置
修改awstats日志配置文件
- [root@linuxsed awstats]# vim /etc/awstats/awstats.www.test.com.conf
- #LogFile="/var/log/httpd/mylog.log" /这个是你需要做的哪个网站的访问日志(apache存放日志)/
- LogFile="/usr/local/apache/logs/access_log"
- SiteDomain="www.test.com" /这个是需要访问的域名一般在安装的时候,已经修改好了,这里不需要改动/
- DirData="/var/lib/awstats" /这个是awstats的数据存放地方,可以改变,也可以不改变/
- 保存退出
建立awstats数据存放目录
- [root@linuxsed awstats]# mkdir -p /var/lib/awstats /这个就是上面的DirData的路径/
查看/etc/httpd/httpd.conf里面的配置是否有以下内容
- Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
- Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
- Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
- ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
- <Directory "/usr/local/awstats/wwwroot">
- Options None
- AllowOverride None
- Require all granted
- </Directory>
- 注意:我的web服务器版本是Apache/2.4.2,授权方式Require all granted,你的web服务器要是Apache/2.2的就不要修改配置文件/etc/httpd/httpd.conf
查看cgi模块是否开启
- LoadModule cgi_module modules/mod_cgi.so
- 注意:这个主要是执行perl的
生成数据库
- [root@linuxsed awstats]# cd /usr/local/awstats/wwwroot/cgi-bin/
- [root@linuxsed cgi-bin]# ./awstats.pl -update -config=www.test.com
- Create/Update database for config "/etc/awstats/awstats.www.test.com.conf" by AWStats version 6.95 (build 1.943)
- From data in log file "/usr/local/apache/logs/access_log"...
- Phase 1 : First bypass old records, searching new record...
- Searching new records from beginning of log file...
- Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
- Jumped lines in file: 0
- Parsed lines in file: 30703
- Found 0 dropped records,
- Found 22 corrupted records,
- Found 0 old records,
- Found 30681 new qualified records.
- 注意:如果你这步提示日志格式错误,请把apache的access_log删除重新建立就OK了
可以将以下命令加入到crontab中执行,根据你网站的更新的频率和时间
- [root@linuxsed ~]# crontab -e
- 30 5 * * * /usr/local/awstats/wwwroot/cgi-bin/./awstats.pl -update -config=www.test.com &>/dev/null
关闭selinux防火墙和重启一下web服务器
- [root@linuxsed cgi-bin]# setenforce 0
- [root@linuxsed cgi-bin]# service iptables stop
- [root@linuxsed cgi-bin]# service httpd restart
最后测试访问
- http://www.test.com/awstats/awstats.pl?config=www.test.com /查看web统计日志的信息/