一所用軟件及工具 Apache服務器 官方網址
awstats 日志分析軟件 官方網址
cronolog 日志截取軟件 官方網址
二環境構架 RedHat AS
Apache
/configure –prefix=/usr/local/apache
/ ——enable
so
make
make install
awstats
直接tar到 /usr/local/awstats
cronolog
/configure –prefix=/usr/local/cronolog
make
make install
三 配置 apache
a
讓apache中的某個虛擬主機產生日志
全局環境變量設置
代碼
LogFormat
%h %l %u %t \
%r\
%>s %b \
%{Referer}i\
\
%{User
Agent}i\
combined
SetEnvIf Request_URI \
gif$ gif
image
SetEnvIf Request_URI \
GIF$ gif
image
SetEnvIf Request_URI \
jpg$ gif
image
SetEnvIf Request_URI \
JPG$ gif
image
SetEnvIf Request_URI \
png$ gif
image
SetEnvIf Request_URI \
swf$ gif
image
SetEnvIf Request_URI \
SWF$ gif
image
SetEnvIf Request_URI \
css$ gif
image
SetEnvIf Request_URI \
CSS$ gif
image
SetEnvIf Request_URI \
js$ gif
image
SetEnvIf Request_URI \
JS$ gif
image
SetEnvIf Request_URI \
ico$ gif
image
產生日志但不包括 圖片
虛擬主機日志設置
代碼
<
VirtualHost
>
ServerAdmin
DocumentRoot /db/htdocs/www
ServerName
CustomLog
|/usr/local/cronolog/sbin/cronolog /db/logs/www
%Y
%m
%d
log
combined env=!gif
image
#用cronolog截取存放在/db/logs/下的按日期產生的apache日志文件
<
/VirtualHost>
注
日志文件是針對每一個虛擬主機產生的所以可以配置一台服務器上多個虛擬主機的日志分析
b
別名設置
代碼
#
# Directives to allow use of AWStats as a CGI
#
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/
#
# This is to permit URL access to scripts/files in AWStats directory
#
<
Directory
/usr/local/awstats/wwwroot
>
Options None
AllowOverride None
Order allow
deny
Allow from all
<
/Directory>
該配置在運行awstats/tools/awstats_configure
pl 後會自動產生所以不用手動添加
c
awstats需要cgi的支持如果沒有添加cgi可以現在添加
代碼
/apxs
c
i /usr/local/src/_cgi
c
再在 中添加
代碼
LoadModule cgi_module modules/mod_cgi
so
d為了保護日志統計信息需要對某些目錄進行認證設置
需要認證模塊的支持
代碼
/apxs
c
i /usr/local/src/……/mod_auth
c
再在 中添加
代碼
LoadModule auth_module modules/mod_auth
so
配置需要認證的目錄
代碼
<
Directory
/db/htdocs/www/awstat/
>
AuthType Basic
AuthName
Restricted Files
AuthUserFile /usr/local/apache
/passwd/passwords
Require user loguser
<
/Directory>
其中在 /usr/local/apache
/passwd/下產生passwords 的密碼文件
運行如下代碼產生用戶名為loguser用戶及其密碼
代碼
/usr/local/apache
/bin/htpasswd
c /usr/local/apache
/passwd/passwords loguser
注意
先要在 /usr/local/apache
/下建passwd目錄
Awstats
運行 /usr/local/awstats/tools/awstats_configure
pl
主要設置的是需要輸入做統計的主機名的配置文件名如
接著修改 剛才配置是產生的awstats配置文件 默認位置在
/etc/awstats/
con 主要做指定log位置
代碼
LogFile=
/db/logs/www
%YYYY
%MM
%DD
log
創建目錄
mkdir /var/lib/awstats/
執行
代碼
/usr/local/awstats/wwwroot/cgi
bin/awstats
pl
update
config=
更新
update 後可以在浏覽器中輸入 進行訪問了
cronolog (基本不用什麼修改)
crontab的修改
在 crontab中添加如下 命令保證
分鐘更新一次
也可以根據你自己的需要修改更新的間隔
代碼
*/
* * * * /usr/local/awstats/wwwroot/cgi
bin/awstats
pl
update
config=
四安全性考慮 以上的設置由於要cgi支持
也增加了安全隱患可以用awstats 自帶的awstats_buildstaticpages
pl來 生成靜態頁面 可以添加到crontab中
代碼
*/
* * * * /usr/local/awstats/tools/awstats_buildstaticpages
pl
update
config=
lang=cn
dir=/db/htdocs/www/awstat/
awstatsprog=/usr/local/awstats/wwwroot/cgi
bin/awstats
pl
這樣沒
分鐘在/db/htdocs/www/awstat/ 下生成各種靜態頁面
保護/db/htdocs/www/awstat/禁止未授權用戶訪問
在中添加
代碼
<
Directory
/db/htdocs/www/awstat/
>
AuthType Basic
AuthName
Restricted Files
AuthUserFile /usr/local/apache
/passwd/passwords
Require user loguser
<
/Directory>
如果 虛擬主機 主目錄為/db/htdocs/www/ 則在浏覽器中輸入 就可以通過認真訪問靜態頁面
如果用靜態頁面就不要忘了注釋掉
LoadModule cgi_module modules/mod_cgi
so
From:http://tw.wingwit.com/Article/program/PHP/201311/20802.html