在 Windows 主機設定 AWStats 流量分析軟體

1. 安裝 ActivePerl 5.8

    1.1 安裝 Perl
   
        到這裡下載:http://www.activestate.com/Products/activeperl/
   
        請下載 ActivePerl 5.8 AS 的版本進行安裝。( AS 的下載檔案是 *.zip 格式 )
       
            解壓縮後執行 Install.bat 即可

        P.S. 因為 ActiveState 網站上的 MSI 封裝有問題,在我的 Win2k3 與 WinXP 都沒辦法安裝!

    1.2 安裝三個重要的 Perl 模組

        在 DOS 模式下直接執行以下三個指令即可:
   
        ppm install Geo::IP::PurePerl
        ppm install Geography::Countries
        ppm install IP::Country

        # 到 http://www.maxmind.com/app/geoip_country 下載 GeoIP.dat
       
        # 下載點(壓縮檔)
        http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
   
        下載後解壓縮至 C:\Perl 目錄下
    
        # P.S. ActivePerl 5.8 已經內建 Encode 模組 ( 用於 decodeutfkeys 外掛用的 )

2. 安裝 AWStats 6.7

    閱讀安裝設定文件: C:\Program Files\AWStats\docs\awstats_setup.html

    修正程式 Bug
   
        C:\Program Files\AWStats\wwwroot\cgi-bin\awstats.pl
       
            Line 5808:     foreach my $code (split(/,/,$langlist)) {    # Search for a valid lang in priority
           
            這行的底下新增一行,才能正確自動解析不同語系!
       
            $code=lc($code);
   
3. 設定 Internet Information Server (IIS) 6.0

    3.1 修正 Log 格式

        date
        time
        c-ip
        cs-username
        cs-method
        cs-uri-stem
        cs-uri-query
        sc-status
        sc-bytes
        cs-version
        cs(User-Agent)
        cs(Referer)

    3.2 暫時將網站關閉
   
    3.3 將現有的 Log 移至其他目錄備份或直接刪除

    3.3 重新啟動網站
   
    3.4 新增虛擬目錄
   
        別名:cgi-bin
        路徑:C:\Program Files\AWStats\wwwroot\cgi-bin
        權限:讀取、執行
       
        別名:icon
        路徑:C:\Program Files\AWStats\wwwroot\icon
        權限:讀取
   
    3.5 設定「網頁設定延伸」
   
        將 Perl CGI Extension 設為「允許」
       
4. 設定 AWStats

    4.1 進入 C:\Program Files\AWStats\wwwroot\cgi-bin 目錄
   
        將 awstats.model.conf 複製一份並取名為 awstats.blog.miniasp.com.conf
   
    4.2 修改 awstats.blog.miniasp.com.conf
   
        # 設定 Log 檔的位址
        LogFile="C:\WINDOWS\system32\LogFiles\W3SVC1137020421\ex071115.log"
   
        # 設定 Log 的格式為 IIS 的 Format
        LogFormat="date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes"
       
        ※注意※ 如有格式不同,請開啟 LogFile 後,將「第四行」的 Fields 欄位設定在 LogFormat 參數即可!!
        #Fields: date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes
       
        # 設定網站的網址
        SiteDomain="blog.miniasp.com"
       
        # 設定其他跟網站網址的別名
        HostAliases="localhost 127.0.0.1 REGEX[blog\.miniasp\.com$]"
       
        # 設定是否解析完 Log 後直接刪除原始 Log 紀錄
        PurgeLogFile=0
       
        # 設定可以從網站更新 Log 分析紀錄
        AllowToUpdateStatsFromBrowser=0
       
        # 設定 Host IP 反查 ( 關閉此選項,因為我們要用更有效率的 IP2Country 做反查 )
        DNSLookup=0
       
        # 顯示三國的語系可供使用者切換 ( tw: 繁體中文, en: 英文, cn: 簡體中文 )
        ShowFlagLinks="tw en cn"

        # 預設顯示「繁體中文」
        Lang="tw"
       
        # 讓統計的 URL 包含 QueryString 參數
        URLWithQuery=1
       
        # 讓統計來源的 URL 包含 QueryString 參數
        URLReferrerWithQuery=1
   
        # 開啟 GeoIP 反查模組
        LoadPlugin="geoip GEOIP_STANDARD C:/Perl/GeoIP.dat"
        # 開啟 IP 反查的外掛
        #LoadPlugin="geoipfree"
   
        # 開啟 decodeutfkeys 外掛
        LoadPlugin="decodeutfkeys"
   
        # 關閉 KeyWordsNotSensitive 才能讓中文顯示正常!
        KeyWordsNotSensitive=0
       
        # 設定這個才能讓 IIS 的 Log 時間正確顯示
        LoadPlugin="timezone +8"
       
5. 更新 AWStats 統計資訊

    第一次先手動更新
    "C:\Program Files\AWStats\tools\awstats_updateall.pl" now -configdir="C:/Program Files/AWStats/wwwroot/cgi-bin" -awstatsprog="C:/Program Files/AWStats/wwwroot/cgi-bin/awstats.pl"

    # C:\Program Files\AWStats\wwwroot\cgi-bin>
    awstats.pl -config=blog.miniasp.com -update -showsteps -showcorrupted -showdropped

    更新成功後就可以先進入 AWStats 看連線狀態了
   
6. 使用 AWStats

    6.1 連線至 http://blog.miniasp.com/cgi-bin/awstats.pl
   
        預設的設定下,會要求輸入 Windows 的帳號、密碼認證!
   
        若要匿名登入看分析報表,需要修改目錄權限
       
            修改 C:\Program Files\AWStats\wwwroot 目錄的權限
           
                新增「網際網路 Guest 帳戶」( IUSR_machinename ) 並賦予「完全控制」權限

7. 設定排程定時更新網站流量統計

    7.1 修正 awstats.blog.miniasp.com.conf 設定檔,調整 LogFile 的路徑
   
        LogFile="C:/WINDOWS/system32/LogFiles/W3SVC1137020421/ex%YY-24%MM-24%DD-24.log"
   
        %YY-24    代表從現在算起24小時前的「年份」
        %MM-24    代表從現在算起24小時前的「月份」
        %DD-24    代表從現在算起24小時前的「日期」
       
        備註:也就是我們要解析「前一天」的 Log 檔!
   
    7.1 新增「排定的工作」
   
        執行:"C:\Program Files\AWStats\tools\awstats_updateall.pl" now -configdir="C:/Program Files/AWStats/wwwroot/cgi-bin" -awstatsprog="C:/Program Files/AWStats/wwwroot/cgi-bin/awstats.pl"
       
        開始的位置:"C:\Program Files\AWStats\tools"
       
        執行身份:MachineName\Administrator
       
        排程:每天上午 1:00 執行一次

    7.2 修改 AWStats 的 LogFile 路徑
   
        # 設定為每天分析的時候,抓取「前一天」的 Log 檔
        LogFile="C:/WINDOWS/system32/LogFiles/W3SVC1137020421/ex%YY-24%MM-24%DD-24.log"

  

此文章由 will 發表於 2007/11/30 下午 07:57:00

永久連結 | 評論 (4) | 此文章的RSSRSS comment feed |

分類: 系統管理

標籤: ,

收藏:

相關文章

評論

一月 13. 2008 15:01

Dennys

您好, 我依照您的作法在 windows 上安裝 Perl 5.8.8 及 awstats, 目前是用命令列去更新 awstats 資料時沒有問題, 但是用 web 顯示時, 如果把 geoip plugin 關掉也正常, 但如果打開, 會顯示下面的訊息. 但我也用 ppm 安裝了 Geo::IP::PurePerl, 不知道這有可能是什麼原因造成的呢?
Error: Plugin init for plugin 'geoip' failed with return code: Undefined subroutine &Geo::IP::PurePerl::GEOIP_STANDARD called at D:/www/cgi-bin/awstats/plugins/geoip.pm line 66. (A module required by plugin might be missing).

Dennys tw

一月 13. 2008 15:19

Dennys

嗯, 重開機後就可以了. 難道透過 ppm 安裝的 library 得等重開後才能使用嗎?

Dennys tw

一月 14. 2008 14:59

Will 保哥

應該不用重開機吧!可能是環境變數的問題吧,但我不太確定。

你下次可以試試先退出「命令提示字元」視窗,重新在開一個新的,才會套用新的環境變數。

Will 保哥 tw

一月 14. 2008 20:37

Dennys

我命令列是可以用的, 但是反而是 web 要重開後才能顯示. 或許我只需要重開 apache 就可以了 ... 不過也沒法測試了, 謝謝你的文章.

Dennys tw

新增評論


(將顯示您的Gravatar圖示)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



線上預覽

八月 29. 2008 11:08