因為某批網頁之前沒有加上 Google Analytics code,所以因應同事需要,裝了 AWStats 來分析早期的網頁 log。在網路上找到這篇頗詳細的安裝教學《awstats介紹與安裝教學》,照上面的設定稍微調整後安裝如下:
- 必須先行裝 ActivePerl 安裝路徑,我是裝到預設路徑。
- 下載 AWStats,我是直接抓 ZIP 檔解壓縮到自己高興的目錄。(反正等下 Configuration 會自訂路徑別名,裝在哪裡都 OK)
- 手動執行 awstats_configure.pl:
在 DOS command 視窗裡,切到 AWStats\tools 目錄下,執行 perl awstats_configure.pl 這行指令 - 執行後,它會先問你 Apache 的目錄在哪,請輸入實際的 Apache 目錄,例如 C:\Apache
- 接著會問你的 apache 的 config 檔在哪,請輸入實際的 httpd.conf 路徑,例如 C:\Apache\conf\httpd.conf
- 會問你要不要新增一個 AWStats config,選 Y。
- 輸入你的網站名稱(自己高興就好的名字,英文)。
- 打開 Apache 的 httpd.conf,檢查最後面多出的 AWStats 設定是否正確:
# Directives to allow use of AWStats as a CGI
Alias /awstatsclasses "../wwwroot/classes/"
Alias /awstatscss "../wwwroot/css/"
Alias /awstatsicons "../wwwroot/icon/"
ScriptAlias /awstats/ "../wwwroot/cgi-bin/"
# This is to permit URL access to scripts/files in AWStats directory.
# 我把最後面改成這樣<Directory "C:/Apache/htdocs/awstats-7.4/wwwroot">
#Options ExecCGI
#AllowOverride None
#Order allow,deny
#Allow from all
Require all granted
</Directory> - 記得設定完畢後要重啟 Apache,讓上述的 httpd.conf 設定生效。
- 打開 C:\AWStats\wwwroot\cgi-bin\awstat.{YOUR_SITE}.conf 改設定
(YOUR_SITE 就是在 perl awstats_configure.pl 時設定的網站名稱) - 如果你的 log 只有一個檔案,那就是寫成:
LogFile= "C:/logs/access.log"
(依實際的 log 路徑與檔名設定 LogFile) - 如果 log 檔有多個,要用 logresolvemerge.pl 合併它們:
LogFile="C:/AWStats/tools/logresolvemerge.pl C:/logs/access-*.log|"
(依實際 AWStats 的 tools 資料夾路徑、與 log 所在來設定,最後面的管線 (pipeline) 不能省略喔) - 接下來要做第一次 log 檔的更新,把 apache 之前的 log 轉成 AWstats 的格式。
在命令模式下輸入 cd C:\awstats\wwwroot\cgi-bin\
執行awstats.pl -config=你網站的名稱(英文) –update AWStats
就會去更新 log 檔。(這邊的英文網站名稱,就是前面設定 awstats_configure.pl 時決定的網站名稱) - 完成,透過 Apache 看流量表
http://localhost/awstats/awstats.pl?config=你網站的名稱(英文)
(這邊的英文網站名稱,就是前面設定 awstats_configure.pl 時決定的網站名稱)
但是我安裝完成後出現 403 forbidden 的錯誤訊息:
"You don't have permission to access /awstats/awstats.pl on this server."
在 "Configuration issue adding AWStat to Apache v2.2" 這篇裡提到:
- 先在 Apache httpd.conf 增加以下設定:
Options ExecCGI
AddHandler cgi-script .cgi .pl - 到 AWStats 的 perl 檔修改 Perl 的主路徑:
原本是:
#!/usr/bin/perl
改成:
#!C:/Perl/bin/perl.exe
像我裝 ActivePerl for Windows 64-bits 的版本,路徑就是改成:
#!C:/Perl64/bin/perl.exe
設定完應該就沒問題了,如果有問題可以查查 Apache 的 error.log 或 access.log 看看有沒有什麼異常資訊。
留言列表