仓酷云
标题:
Linux教程之AWStats壮大的日记剖析对象
[打印本页]
作者:
精灵巫婆
时间:
2015-1-14 21:06
标题:
Linux教程之AWStats壮大的日记剖析对象
小知识:CentOS对组件的修改主要是去除上游供应商的商标及美工图。
媒介
,
公司要用
awstats
做
web
办事器的流量统计
,
到
51cto
找了下
,
发明文章很少
,
所以写了这篇文章
,
记载下本身设置装备摆设的进程
,
也愿望能帮到有须要的同伙
.
壮大的日记剖析对象
AWStats
主页
http://awstats.sourceforge.net
注
:
此文根本依照官方文档的操作一步步停止
,
在装置过程当中参考了相干的文档作了需要的修改
.
情况
:
redhat9
Apache/2.0.54
源码装置
,
路径为
/usr/local/apache2
主机
IP192.168.0.111
域名
s1.domain1.com
所用的版本
awstats-6.5.tar.gz
完成功效
:
经由过程
awstats
统计
s1.domain1.com
的拜访信息
,
并供给
web
页面检查
AWStats
的功效许多
,
详细的可点击下面的官网
,
我在此重要用它来剖析
apache
办事器的日记
.
应用之前照样说说年夜致的道理
:awstats
供给一系列的
perl
剧本完成
:
办事设置装备摆设
,
日记读取
,
报表生成等功效
.
而功效完成的详细履行进程是
:
起首固然是
apache
将拜访情形记载到日记中
,AWStats
每次履行更新时读取这些日记
,
剖析日记数据
,
将成果存储到数据库中
,(
这个数据库是
awstats
自带的
,
其实不须要第三方软件支撑
.),
最初
AWStats
供给一个
cgi
法式经由过程
web
页面来显示数据库中所统计的数据
.
起首看以后
apache
的设置装备摆设
,vihttpd.conf
<VirtualHost*:80>
ServerAdminyahoon@xxx.com
DocumentRoot/var/www/html/s1
ServerNames1.domain1.com
ErrorLoglogs/s1_web-error_log
TransferLoglogs/s1_web-access_log
</VirtualHost>
拜访
s1.domain1.com
的日记记载到
/usr/local/apache2/logs/s1_web-access_log
装置进程以下
将软件包解紧缩为
/usr/local/awstats
第一步是为网站生成设置装备摆设文件
,
其实有许多方法
,
依照官方文档的解释推举应用剧本
,
并且如许也是比拟简略的一种方法
.
转到
/usr/local/awstats/tools,
此目次下有许多分歧功效的
perl
剧本
.
履行
[root@server1tools]#
perlawstats_configure.pl
会进入一个交互式的设置装备摆设法式
,
过程当中会有些成绩要你答复
,
固然这些都是可以在今后的设置装备摆设文件中修正的
.
我将一切的内容和注解列出以下
-----AWStatsawstats_configure1.0(build1.6)(c)LaurentDestailleur-----
ThistoolwillhelpyoutoconfigureAWStatstoanalyzestatisticsfor
onewebserver.Youcantrytouseittoletitdoallthatispossible
inAWStatssetup,howeverfollowingthestepbystepmanualsetup
documentation(docs/index.html)isoftenabetteridea.Aboveallif:
-Youarenotanadministratoruser,
-Youwanttoanalyzedownloadedlogfileswithoutwebserver,
-Youwanttoanalyzemailorftplogfilesinsteadofweblogfiles,
-Youneedtoanalyzeloadbalancedserverslogfiles,
-Youwantto‘understand’allpossiblewaystouseAWStats…
ReadtheAWStatsdocumentation(docs/index.html).
---
à
RunningOSdetected:Linux,BSDorUnix
检测到了我以后的操作体系
----->Checkforwebserverinstall
FoundWebserverApacheconfigfile/usr/local/apache2/conf/httpd.conf
检测到了我以后
apache
的设置装备摆设文件
----->Checkandcompletewebserverconfigfile/usr/local/apache2/conf/httpd.conf
Warning:YouApacheconfigfilecontainsdirectivestowritecommonlogfiles
Thismeansthatsomefeaturescantwork(os,browsersandkeywordsdetection).
DoyouwantmetosetupApachetowritecombinedlogfiles[y/N]?
y
AWStats
推举应用
combined
格局的日记
,apache
默许应用
common
格局
.
所以这个处所提醒要不要修正
apache
的设置装备摆设文件
,
将日记格局改成
combined,
固然答复
yes.
AddAlias/awstatsclasses"/usr/local/awstats/wwwroot/classes/"
AddAlias/awstatscss"/usr/local/awstats/wwwroot/css/"
AddAlias/awstatsicons"/usr/local/awstats/wwwroot/icon/"
AddScriptAlias/awstats/"/usr/local/awstats/wwwroot/cgi-bin/"
Add<Directory>directive
AWStatsdirectivesaddedtoApacheconfigfile.
向
apache
的设置装备摆设文件外面增长了上述内容
,
外面是一些目次和别号的设置
.
这部门普通加到了文件的最初面
.
----->Updatemodelconfigfile/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf
Fileawstats.model.confupdated.
更新了模板文件
----->Needtocreateanewconfigfile?
DoyouwantmetobuildanewAWStatsconfig/profile
file(requirediffirstinstall)[y/N]?
y
能否须要创立一个新设置装备摆设文件
,
选
y
-
---->Defineconfigfilenametocreate
Whatisthenameofyourwebsiteorprofileanalysis?
Example:
www.mysite.com
Example:demo
Yourwebsite,virtualserverorprofilename:
Ø
s1.domain1.com
这个处所填网站的域名
----->Defineconfigfilepath
Inwhichdirectorydoyouplantostoreyourconfigfile(s)?
Default:/etc/awstats
Directorypathtostoreconfigfile(s)(Enterfordefault):
>
回车
生成的设置装备摆设文件寄存的路径
,
默许是
/etc/awstats,
我不修正
,
直接回车
.
----->Createconfigfile/etc/awstats/awstats.s1.domain1.com.conf
Configfile/etc/awstats/awstats.s1.domain1.com.confcreated.
可以看到文件曾经创立了
,
路径为
/etc/awstats/awstats.s1.domain1.com.conf
----->RestartWebserverwith/sbin/servicehttpdrestart
Stoppinghttpd:[OK]
Startinghttpd:httpd:Couldnotdeterminetheserversfullyqualifieddomainname,using127.0.0.1forServerName
[OK]
因为修正了
httpd.conf,
所以它会主动重启
apache
来使设置装备摆设文件失效
,
然则这里有个成绩
,
由于我的
apache
并没有采取体系自带的
,
而是源码装置的
,
也并没有参加
service,
所以此处启动的固然胜利了
,
但并非我须要的
.
很简略
,
等会把它封闭
,
然后开启我本身的
.
----->Addupdateprocessinsideascheduler
Sorry,configure.pldoesnotsupportautomaticaddtocronyet.
Youcandoitmanuallybyaddingthefollowingcommandtoyourcron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl-update-config=s1.domain1.com
Orifyouhaveseveralconfigfilesandpreferhavingonlyonecommand:
/usr/local/awstats/tools/awstats_updateall.plnow
PressENTERtocontinue...
因为要获得新信息
,
就必需更新数据库
,
也就是说从新做
读取日记
.
剖析日记提取外面新增的部门停止剖析
,
将更新的数据存入数据库
的进程
.
最好就让它准时履行
.
这段话是提示你
,
要完成这个功效就须要手动把下面粗体的两行中的任一行写入
crontab,
让它准时履行
.
个中第一句是更新
s1.domain1.com
,
而第二句是在有多个站点情形下
,
将一切的站点都作更新
.
我在此不做这个操作
.
回车
.
ASIMPLEconfigfilehasbeencreated:/etc/awstats/awstats.s1.domain1.com.conf
Youshouldhavealookinsidetocheckandchangemanuallymainparameters.
Youcanthenmanuallyupdateyourstatisticsfors1.domain1.comwithcommand:
>perlawstats.pl-update-config=s1.domain1.com
Youcanalsoreadyourstatisticsfors1.domain1.comwithURL:
Ø
http://localhost/awstats/awstats.pl?config=s1.domain1.com
PressENTERtofinish...
按回车来停止装置
.
这段话就写的很清晰
,
接上去的任务就是
检讨设置装备摆设文件
履行
perlawstats.pl-update-config=s1.domain1.com
来更新数据库
经由过程
http://localhost/awstats/awstats.pl?config=s1.domain1.com
来检查统计的信息
这段剧本履行完
,
我们的
httpd.conf
也更新了
,
上面是它重要修改的部门
将
CustomLoglogs/access_logcommon
改成
CustomLoglogs/access_logcombined
在文件的最初面增长了
#DirectivestoallowuseofAWStatsasaCGI
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/"
#ThisistopermitURLaccesstoscripts/filesinAWStatsdirectory.
<Directory"/usr/local/awstats/wwwroot">
OptionsNone
AllowOverrideNone
Orderallow,deny
Allowfromall
</Directory>
在修正之前
,
照样先停失落剧本启动的
apache,
将准确的
apache
启动
[root@server1tools]#servicehttpdstop
[root@server1tools]#/usr/local/apache2/bin/apachectlstart
拜访网站
s1.domain1.com
正常显示
,
此次拜访就应当被记载到了日记外面
.
拜访
http://192.168.0.111t/awstats/awstats.pl?config=s1.domain1.com
,
提醒
Forbidden
Youdonthavepermissiontoaccess/awstats/awstats.plonthisserver
很明确是权限成绩
,
到
/usr/local
下履行
chmod-R777awstats(
应当
755
就好了
,
由于我只是测试罢了
)
检讨设置装备摆设文件的症结项目
vi/etc/awstats/awstats.s1.domain1.com.conf
检讨并做以下修正
#LogFile="/var/log/httpd/mylog.log"
LogFile="/usr/local/apache2/logs/s1_web-access_log"
指到
apche
的日记
LogType=W
表现剖析的是
web
日记
LogFormat=1
表现日记格局为
combined
SiteDomain="s1.domain1.com"
域名
HostAliases="s1.domain1.com
www.s1.domain1.com
127.0.0.1localhost"
这个变量的意思是这个域的别号
.
即多个域名对应统一网站的情形
,
这句是主动生成的
.
我这里没有效到所以就没有改
.
更新数据库
cd/usr/local/awstats/wwwroot/cgi-bin
perlawstats.pl-config=s1.domain1.com-update
获得以下毛病
Error:AWStatsdatabasedirectorydefinedinconfigfilebyDirDataparameter(/var/lib/awstats)doesnotexistorisnotwritable.
Setup(/etc/awstats/awstats.s1.domain1.com.conffile,webserverorpermissions)maybewrong.
Checkconfigfile,permissionsandAWStatsdocumentation(indocsdirectory).
同时拜访
http://192.168.0.111t/awstats/awstats.pl?config=s1.domain1.com
提醒
Error:AWStatsdatabasedirectorydefinedinconfigfilebyDirDataparameter(/var/lib/awstats)doesnotexistorisnotwritable.
Setup(/etc/awstats/awstats.s1.domain1.com.conffile,webserverorpermissions)maybewrong.
Checkconfigfile,permissionsandAWStatsdocumentation(indocsdirectory).
很显著是
/var/lib/awstats
这个目次不存在
这里须要解释
,
这个路径是由设置装备摆设文件
/etc/awstats/awstats.s1.domain1.com.conf
外面的
DirData
参数决议的
,
表现寄存数据库的处所
.
我没有修正所以仍然是默许值
DirData="/var/lib/awstats"
既然提醒不存在
,
如今就来新建它
cd/var/lib
mkdirawstats
停止数据库更新
[root@server1cgi-bin]#
perlawstats.pl-config=s1.domain1.com-update
信息以下
Updateforconfig"/etc/awstats/awstats.s1.domain1.com.conf"
Withdatainlogfile"/usr/local/apache2/logs/s1_web-access_log"...
Phase1:Firstbypassoldrecords,searchingnewrecord...
Searchingnewrecordsfrombeginningoflogfile...
Jumpedlinesinfile:0
<divclass="MsoNormal"style="padding:0px;margin:0cm0cm0pt;">
Parsedlinesinfile:1
处置的总行数
(apache
作者:
深爱那片海
时间:
2015-1-17 05:32
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者:
小妖女
时间:
2015-2-4 06:33
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
作者:
再见西城
时间:
2015-2-9 17:50
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
作者:
不帅
时间:
2015-2-27 17:33
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
作者:
爱飞
时间:
2015-3-9 14:18
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
作者:
莫相离
时间:
2015-3-17 01:10
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
作者:
小魔女
时间:
2015-3-23 16:05
可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2