http://vbird.dic.ksu.edu.tw/linux_server/0360apache_4.php#other_pkg_awstats



除了 webalizer 之外,我們其實還可以透過 awstats 這個厲害到不行的 perl 的程式來進行資料分析, 由於這個軟體是以 perl 來執行的,所以請確定你的 mod_perl 已經安裝且 CGI 的執行權限已經啟動了! 這個軟體的特色是:

這套軟體不但可以由系統的 cron 來進行分析,甚至還提供瀏覽器直接以 CGI 的方式來即時更新登錄檔吶! 真是厲害厲害!鳥哥個人是比較不喜歡使用瀏覽器來線上更新分析的結果, 因為在你更新分析結果時,怎麼知道系統會不會很忙碌?如果系統正在忙碌中, 這套軟體的分析可也是很耗費系統資源的吶!所以建議直接以 crontab 的方式來處理即可。

目前官方網站不但提供 tarball 甚至也提供 RPM 來給使用者下載了!真是方便啊! 但是你還是要注意的,這個軟體曾經因為安全性的問題導致很多網站的掛點, 所以建議你還是把這個軟體的輸出結果放置在受保護的目錄中喔!底下鳥哥以 7.0-1 這個 RPM 版本來說明, 請你自行到官方網站下載吧!(註:檔名為 awstats-7.0-1.noarch.rpm )

假設你將這個 RPM 檔案放置到 /root 當中,那麼自己 rpm -ivh filename 去安裝他吧! 不要跟我說你不會 RPM ~鳥哥是會昏倒的~@_@!由於這個 RPM 檔案將 awstats 的資料通通放置到 /usr/local/awstats 當中去了! 為了自己網頁設定上的方便,建議你是可以這樣做的:

# 1. 先安裝後再將 awstats 提供的 Apache 設定資料給他複製到 conf.d 下
[root@www ~]# rpm -ivh awstats-7.0-1.noarch.rpm
[root@www ~]# cp /usr/local/awstats/tools/httpd_conf  \
> /etc/httpd/conf.d/awstats.conf
[root@www ~]# vim /etc/httpd/conf.d/awstats.conf
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
Alias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
<Directory "/usr/local/awstats/wwwroot">
    Options +ExecCGI
    AllowOverride AuthConfig<==這裡改成這樣,因為要保護!
    Order allow,deny
    Allow from all
</Directory>
[root@www ~]# /etc/init.d/httpd restart

awstats 還真的挺貼心的,因為他釋出的文件當中就有關於 Apache 的設定資料,我們直接將他放到 conf.d/ 那個目錄下並且更名後,重新啟動 Apache 就生效了!真方便。再來則是要針對我們的 WWW 登錄檔來設定啦!設定檔其實是在 /etc/awstats 目錄下,在該目錄下有個範例檔為 awstats.model.conf,其實這個設定檔『檔名』格式為:

  • awstats.主機名稱.conf

因為鳥哥這部主機名稱為 www.centos.vbird,所以假設主機名稱為 www,所以檔名就應該是 awstats.www.conf 囉!請你將他複製一個新檔,然後這樣做:

[root@www ~]# cd /etc/awstats
[root@www awstats]# cp awstats.model.conf awstats.www.conf
[root@www awstats]# vim awstats.www.conf# 找到底下這幾行,並且修改一下內容啊:LogFile="/var/log/httpd/access_log"  <== 51行:確定登錄檔所在的位置LogType=W                            <== 63行:針對 WWW 的登錄檔分析LogFormat=1                          <==122行:Apache 的登錄檔格式SiteDomain="www.centos.vbird"        <==153行:主機的 hostnameHostAliases="localhost 127.0.0.1 REGEX[centos\.vbird$]"DirCgi="/awstats"                    <==212行:能夠執行 awstats 的目錄DirIcons="/awstatsicons"             <==222行:awstats 一些小圖示的目錄AllowToUpdateStatsFromBrowser=0      <==239行:不要利用瀏覽器來更新!Lang="tw"                            <==905行:重要!這是語系!

接著開始測試一下是否可以產生正確的分析資料出來?

[root@www awstats]# cd /usr/local/awstats/wwwroot/cgi-bin
[root@www cgi-bin]# perl awstats.pl -config=www -update  \
> -output > index.html# 那個 -config 後面接的就是 awstats.www.conf 的意思!會產生 index.html 

[root@www cgi-bin]# ls -l
awstats082011.www.txt   <==剛剛才建立的重要資料檔!
awstats.pl              <==就是剛剛我們下達的執行檔!
index.html              <==重要輸出首頁檔案

接下來讓我們趕緊來建立保護目錄的 .htaccess 檔案吧!請注意,鳥哥這裡假設你已經有密碼檔了, 所以直接建立檔案即可啊!

[root@www ~]# cd /usr/local/awstats/wwwroot
[root@www wwwroot]# vi .htaccessAuthName     "Protect awstats data"Authtype     BasicAuthUserFile /var/www/apache.passwdrequire      valid-user

之後,只要你輸入『http://your.IP/awstats/』,就能夠看到輸出的圖表了!圖表有點像這樣:

登錄檔分析軟體:awstats_特色
圖 20.4-3、awstats 分析工具所得的分析畫面

事實上,資料非常的多,你可以自行查閱輸出的結果。在上圖當中的箭頭處,你還可以自己選擇曾有的月份資料來進行顯示! 最後,將分析的動作規定在每天三點的時候跑,你可以這樣做:

[root@www ~]# vim /usr/local/awstats/wwwroot/cgi-bin/awstats.shcd /usr/local/awstats/wwwroot/cgi-binperl awstats.pl -config=www -update -output > index.html

[root@www ~]# chmod 755 /usr/local/awstats/wwwroot/cgi-bin/awstats.sh
[root@www ~]# vim /etc/crontab0 3 * * * root /usr/local/awstats/wwwroot/cgi-bin/awstats.sh

這樣你就知道你的主機到底有多受歡迎囉! ^_^!另外,再次千萬拜託!這個軟體所在的目錄務必要製作密碼保護!不要隨意釋放出來! 甚至上面提供的一些目錄的連結你都可以根據自己的主機與喜好來重新修改,會比較安全的啦!