danny 2006-11-27 11:38
Awstats on Windows 2003安裝步驟
Awstats
先安裝Active Perl在Windows上
如果有了 IIS 下跨平台的 Perl,您又何須費神在 Windows 2000 下安裝 Apache 來執行 perl 呢?那麼在IIS下要如何架構Perl呢?又要如何跨平台使用呢?
下載及安裝 Active Perl
首先請下載新版 ActivePerl-5.8.0.804-MSWin32-x86.msi。
Download:
http://ftp.activestate.com//ActivePerl/Windows/5.8/ActivePerl-5.8.0.804-MSWin32-x86.msi
接著請安裝 Active Perl 。要注意的是路徑要設為 c:\usr\ 或是 c:\usr\local\ ( 原因後面會有詳細的說明 )。若是您的電腦有安裝 IIS 的話,那麼在安裝時系統會自動幫您整合。
以下將以 c:\usr\ 作為說明之目錄。
IIS 之注意事項
對 IIS 的老手而言,這一段大概就可以省略了。不過筆者仍在此對 IIS 的初學者稍微的提醒一下下:
在您安裝 IIS 前,請預必確認您的系統中至少有一顆硬碟是 NTFS 的格式。
安裝好 IIS 後,在 Windows 2003 下預設的目錄為 C:\Inetpub\wwwroot\。若是您的 C 槽不是 NTFS 格式,請將它轉換為 NTFS 格式,或是將目指定至其他 NTFS 格式硬碟下的資料夾。有關 IIS 方面的管理及設定,
在此不便贅述;畢竟本篇不是 IIS 教學。
在 web 資料夾的權限方面 ( 滑鼠右鍵 -> 內容 -> 安全 ),一定要有一個Everybody的使用者,其權限至少要有讀取及執行、讀取、寫入。
整合 Active Perl 及 IIS
請依照下步驟作設定:
1.「控制台」->「系統管理工具」->「Internet 服務管理員」->「您的 web 站台」->「內容」->「主目錄」,請將讀取及寫入打勾。
2.「控制台」->「系統管理工具」->「Internet 服務管理員」->「您的 web 站台」->「內容」->「主目錄」->「設定」->「應用程式對應」->「.pl 」->「編輯」,請將指令引擎打勾。這個目的是要讓 perl 可以在瀏覽器上執行。
3.「控制台」->「Internet 服務管理員」->「您的 web 站台」->「內容」->「主目錄」->「設定」->「應用程式對應」->「.plx 」->「編輯」,請將指令引擎打勾。
4.「控制台」->「系統管理工具」->「Internet 服務管理員」->「您的 web 站台」->「內容」->「主目錄」->「設定」->「新增」,在「執行檔」欄內鍵入 C:\usr\bin\Perl.exe "%s" %s,並在「副檔名」欄內鍵入 .cgi ,並將 指令引擎打勾。這個目的是為了讓 Perl 可以執行副檔名為「.cgi 」之 perl 執行檔。 接著只要一直按確定就可以了!
開始執行 Perl
請先將下列程式碼複製起來,貼在記事本上,並將檔存在 web 的目錄之 test.pl 或 test.cgi 。
[code]print "content-type:text/html","\n\n";
print "<html>\n";
print "<head><title>test</title></head>\n";
print "<body><center>\n";
print "CGI TEST \n";
print "支援PERL \n";
print "</center></body>\n";
print "</html>\n"[/code]
如果SHOW的出來就表示支援PERL了
然後設定IIS 「預設的網站」->「主目錄」->「設定」->「應用程式對應」->「新增」
加入 執行檔為 C:\Perl\bin\Perl.exe "%s" %s 副檔名為pl
這邊個人建議只要加到你要安裝AWstats的目錄就好,不需要加到預設的網站,以減少危險性
開始安裝Awstats
接著請下載AWstats
http://awstats.sourceforge.net/#DOWNLOAD
解開到您所要安裝的目錄底下
然後便設定IIS的W3C
「預設的網站」 ->「網站」-> W3C擴充記錄格式的「內容」->「進階」
只要勾選下列的就好,不能多也不能少,不然可能會無法抓到流量
[code]date
time
c-ip
cs-username
cs-method
cs-uri-stem
sc-status
sc-bytes
cs-version
cs(User-Agent)
cs(Referer) [/code]
順便也把「請使用本地時間為檔案命名」也打勾(先選每日這個選項才可以勾選),不然會造成有部份時間抓不到流量
應IIS是用GMT為標準,而非台灣時區的GMT+8
然後restart IIS serivce
在你所解開的AWstats裡面的wwwroot/cgi-bin會有一個awstats.model.conf
最好copy一份改成你的sitename ex:awstats.test.conf再去編輯
然後把AWstats底下的wwwroot指成虛擬目錄,或看你要用別的方式也行,依人而定
修改awstats.test.conf
[code]LogFile:W3C Log的位置
LogFile="C:/WINDOWS/system32/LogFiles/W3SVC1/ex%YY-0%MM-0%DD-0.log"
LogType:日誌的類型(W-web log; M-mail log; F-ftp log)
LogType=W
LogFormat:日誌的格式
LogFormat="date time cs-method cs-uri-stem cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes"
*注意:IIS6.0 不能用LogFormat=2的格式,請設成如上列格式
SiteDomain:統計的網站(必要設定)
SiteDomain="www.mySite.com"
DefaultFile:首頁的檔名
DefaultFile="index.html"
Lang 語系
Lang="tw"
Plugin
TimeZone 時區
LoadPlugin="timezone +8"[/code]
基本上只要設定這樣就夠了,還剩蠻多部份的,有興趣的可以自己K一下
然後測一下PERL可不可以跑,把下列文字存成*.pl
[code]print "content-type:text/html","\n\n";
print "<html>\n";
print "<head><title>test</title></head>\n";
print "<body><center>\n";
print "CGI TEST \n";
print "支援PERL \n";
print "</center></body>\n";
print "</html>\n"[/code]
如果SHOW的出來就表示支援PERL了
最後一步就是在CMD底下打上
awstats.pl -config=test –update (以上述awstats.test.conf為例)
如成功會出現下列訊息
[code]Update for config "C:\<your path>/awstats.test.conf"
With data in log file "C:/WINDOWS/system32/LogFiles/W3SVC1/ex060222.log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 3690)
Jumped lines in file: 3690
Found 3690 already parsed records.
Parsed lines in file: 1
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 1 new qualified records. [/code]
訊息內容不一定,依W3C Log為準,但至少一定不會有waring字眼的出現
然後再browser打上http://<domain>/cgi-bin/awstats.pl?config=test
就可以看到內容了
最後再把這串awstats.pl -config=test –update存成*.bat加入排程就可以了
參考文件
http://www.adj.idv.tw/phpBB2/viewtopic.php?t=637
http://awstats.sourceforge.net/docs/awstats_setup.html