awstats的安装和配置

简介:

 一、安装awstats

1、安装前准备
awstats有很多的perl脚本,执行这些脚本需要perl的支持,所以先安装perl
# yum -y install perl
 
2、开始安装Awstats
最新的版本为7.0
http://sourceforge.net/projects/awstats/files/AWStats/
在上面的URL可以找到文件的下载地址
 

  
  
  1. # tar xf awstats-7.0.tar.gz  
  2. # mv awstats-7.0 /usr/local/awstats 
  3. # cd /usr/local/awstats 
  4. # chmod +x /usr/local/awstats/tools/*.pl 
  5. # chmod +x wwwroot/cgi-bin/*.pl 
  6. # tools/awstats_configure.pl    //开始安装配置 
  7. 默认配置文件在/etc/awstats/awststs.domain-name.conf 
  8.  
  9. # vim /etc/awstats/awstats.www.domain-name.conf 
  10. 需要修改一下 LogFile ,即你日志文件的位置 
  11. LogFile="/var/log/nginx/%YYYY-24/%MM-24/access_%YYYY-24%MM-24%DD-24.log" 
  12. LogFormat=1     //日志格式,这个一定要跟要分析的日志格式匹配,不然可能分析不出来数据或者分析出来的数据不正确 
  13. LogSeparator=" "    //指定日志的分割符 
  14. SiteDomain="www.domain-name.com"    //要分析的网站域名 
  15. DirData="/opt/awstats"      //分析完的数据文件存在的位置 

二、使用Awstats分析日志 

 

使用下面的命令成生Awstats数据,以提供WEB访问。

我这里分析的是nginx的日志,如果是老版本的nginx或者nginx的格式是自己定义的,则需要去改awstats的配置文件,在里面有定义日志格式的,跟自己的日志格式匹配。日志格式如果不匹配,那么将会分析不出数据。一般新版本的nginx的日志格式都是可以直接使用的。

以下的日志格式是可以直接被awstats7.0分析的


  
  
  1. log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
  2.                       '$status $body_bytes_sent "$http_referer" ' 
  3.                       '"$http_user_agent" "$http_x_forwarded_for"'; 

 


  
  
  1. 使用下面的命令成生Awstats数据,以提供WEB访问。 
  2. # /usr/bin/perl /var/www/html/awstats/wwwroot/cgi-bin/awstats.pl -config=www.domain0name.com -update
  3. 如果需要每天自动执行以上的命令,可以加入crontab # crontab -e 00 04 * * * /usr/bin/perl /var/www/html/awstats/wwwroot/cgi-bin/awstats.pl -config=www.domain-name.com -update &>/dev/null 

三、访问

http://youdomain/awstats/atstats.pl?config=www.domain-name.com

如果使用的apache提供WEB,那么在安装的时候,有一步是让你选择你的Apache配置文件位置的,Awstats会自动把相关配置添加到apache的配置文件中去

如果没有指定,则手动添加以下,或者自己添加一个虚拟主机


  
  
  1. # vim /etc/httpd/conf/httpd.conf    //添加以下配置 
  2. Alias /awstatsclasses "/var/www/html/awstats/wwwroot/classes/" 
  3. Alias /awstatscss "/var/www/html/awstats/wwwroot/css/" 
  4. Alias /awstatsicons "/var/www/html/awstats/wwwroot/icon/" 
  5. ScriptAlias /awstats/ "/var/www/html/awstats/wwwroot/cgi-bin/" 
  6.  
  7. # This is to permit URL access to scripts/files in AWStats directory. 
  8. <Directory "/var/www/html/awstats/wwwroot"> 
  9.     Options None 
  10.     AllowOverride None 
  11.     Order allow,deny 
  12.     Allow from all 
  13. </Directory> 
# service httpd reload //重新加载apache的配置文件
如果需要对Awstats做用户登陆控制,可以使用Apache的Basic认证模式
# htpasswd -cm /var/www/html/awstats/htpasswd.user admin
输入两次密码即可
 

   
   
  1. # vim /etc/httpd/conf/httpd.conf    //添加以下 
  2. <Files "awstats.pl"> 
  3. AuthName "MingDao awstats" 
  4. AuthType Basic 
  5. AuthUserFile /var/www/html/awstats/htpasswd.user 
  6. Require user admin 
  7. </Files> 
 
# service httpd reload //重新加载apache的配置文件
 

四、Awstats插件

awstats里默认带了一些插件,开户这些插件即可使用,开启只需要把前面的#号去掉即可,也可以自己安装一些插件,放在插件所在的目录/var/www/html/awstats/wwwroot/cgi-bin/plugins,然后在配置文件里使用以下命令开启即可
 
LoadPlugin="userinfo"
比较好用的插件有GopIP,graphgooglechartap(谷歌的画图接口,目前该项目已经停止,但是可用)
GeoIP这个,可以显示IP对应的国家,城市。由于是外国人开发的,所以不太好用,这里可以使用纯真IP库来代替。以下安装一个插件,做为例子,其它插件的安装跟它一样。
这里下载纯真IP库:http://www.cz88.net/fox/ipdat.shtml
如果是二进制文件,在windows里面安装一下,然后在安装目录找到qqwry.dat,上传至服务器.
放在/usr/local/share/GeoIP/下
然后下载qqhostinfo这个插件,见附件
下载后把插件放在Awstats的插件目录/var/www/html/awstats/wwwroot/cgi-bin/plugins
# vi /var/www/html/awstats/wwwroot/cgi-bin/plugins/qqhostinfo.pm
修改文件的第13行和17行如下
 

   
   
  1. push @INC, "/var/www/html/awstats/wwwroot/cgi-bin/plugins";     #文件第13行 
  2. require "/var/www/html/awstats/wwwroot/cgi-bin/plugins/qqwry.pl";     #文件第17行 
# vi qqwry.pl
 

   
   
  1. my $ipfile="/usr/local/share/GeoIP/qqwry.dat";     # 文件第18行 
# chmod 755 qqwry.pl qqhostinfo.pm
 
最终效果如下图

 
 

本文转自 gm100861 51CTO博客,原文链接:http://blog.51cto.com/gm100861/1176607

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
3月前
|
人工智能 Ubuntu Linux
最近 OpenClaw“养虾”突然爆火,到底怎么装?卓伊凡把 Windows 和 Ubuntu 安装步骤一次讲透
卓伊凡详解OpenClaw“养虾”安装:Windows推荐WSL2+Ubuntu方案,Linux直接一键脚本;涵盖环境要求、完整步骤、常见报错及排障技巧,并强调“会装≠真懂”,重在理解原理与工程能力。(239字)
4475 7
|
Java 数据安全/隐私保护
JAVA AES加密解密工具类
JAVA AES加密解密工具类
1627 0
|
机器学习/深度学习 存储 监控
基于YOLOv8深度学习的野外火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测(1)
基于YOLOv8深度学习的野外火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测
|
数据安全/隐私保护 计算机视觉 索引
Python案例分析|使用Python图像处理库Pillow处理图像文件
本案例通过使用Python图像处理库Pillow,帮助大家进一步了解Python的基本概念:模块、对象、方法和函数的使用 使用Python语言解决实际问题时,往往需要使用由第三方开发的开源Python软件库。 本案例使用图像处理库Pillow中的模块、对象来处理图像:实现读取图像、获取图像信息、调整图像大小、旋转图像、平滑图像、剪切图像等基本图像处理任务。
450 0
Python案例分析|使用Python图像处理库Pillow处理图像文件
|
缓存 数据可视化 C#
WPF技术之Frame控件
WPF (Windows Presentation Foundation) Frame是WPF中的一个控件,它在应用程序中提供了一个容器,用于加载和显示其他页面或用户界面元素。
2255 0
|
JavaScript 小程序
|
分布式计算 并行计算 Java
《Python分布式计算》 第3章 Python的并行计算 (Distributed Computing with Python)
序言第1章 并行和分布式计算介绍第2章 异步编程 第3章 Python的并行计算第4章 Celery分布式应用第5章 云平台部署Python第6章 超级计算机群使用Python第7章 测试和调试分布式应用第8章 继续学习 我们在前两章提到了线程、进程,还有并发编程。
1995 0