The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

在 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"