三年多前ㄚ琪寫了監控網站紀錄檔,後來發現Peter’s blog消失了,而且內容寫的可能有點不清楚,所以ㄚ琪再一次找來Ubuntu Tutorials的Configuring AWStats on Ubuntu Server來幫助大家瞭解一下設定的步驟,當然我不會建議你使用statcounter的免費服務,我只會建議AWStats,因為到現在我還是覺得這最好用。
安裝
當然仍如之前的安裝方式。
自動設定
從教學裡面你可以發現有一個awstats_configure.pl檔可以為你設定,我個人是忘了是否有使用這樣的設定,但既然有這樣的服務,為何不用:
sudo perl /usr/share/doc/awstats/examples/awstats_configure.pl
接下來ㄚ琪會討論手動的設定,但是如果你有建議的話,我可能會更有興趣加一些內容的!
手動設定
我是手動設定我的系統的,我會概述在下面,這裡唯一的需要就是你可以存取apache2 logs,或是你有每一個虛擬網域(假如有使用的話)的訪客日誌位置,更多關於虛擬網域的訪客日誌可以參考Configuring Virtual Hosting on Ubuntu with Apache2這一篇英文文章,當然如果你想瞭解這一篇的中文的話,也可以給我一個迴響,我會儘快幫你處理。
第一步就是新增你網域的awstats.conf檔,這可以用/etc/awstats.conf來複製或改名,並且給一個有意義的名稱:
sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.domain.tld.conf
我新增了一個檔案,使用這樣的語法awstats + domain.tld + conf來設定我伺服器上的每一個網域,每一個網域也都有他們自己的一個log檔案。
接下來我們要針對那個網域編輯新的/etc/awstats 自訂值,要點就是你要看一下檔案的內容:
- LogFile=”/path/to/your/domain/access.log”
- LogFormat=1 (this will give you more detailed stats)
- SiteDomain=”domain.tld”
- HostAliases=”www.domain.tld localhost 127.0.0.1″
一旦你做了這些更改,你就會想要建立最初的統計值,這個統計值是從你的機器上目前的log中產生的,我可以這樣使用:
sudo /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update
這樣子可以針對awstats + domain.tld + conf這樣的檔案來掃描/etc/awstats 資料夾,讀取config來產生輸出,你應該在這裡可以看到一些輸出,而且它所花費的時間端賴於你的log檔大小,可以從幾分鐘到幾個小時,每一次的執行後會變得比較小,它只會更新資訊,但是第一次設定好時會花比較多的時間。
設定Apache來顯示AWStats
在這裡我們的統計應該已經產生(假如沒有再回頭檢查一次是否有遺漏的!),但是我們需要一個方法來看這些統計,我們會需要設定Apache2來顯示這些統計,我用的方法是在我的 apache2.conf使用Include,而不是搞亂預設的config檔,這通常是我比較喜愛的方法。
Apache2.conf 在靠近底下的地方有一行Include /etc/apache2/conf.d/,它會在那裡讀取額外的資料,我所要做的就是在/etc/apache2/conf.d/ 目錄下新增一個檔案叫做 awstats,並且填入下面的內容:
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
基本上這樣可以新增一些存取的別名,以及定義cgi-bin的路徑,一旦儲存了你就應該能夠重新啟動Apache2 ,接著我們就能存取我們的統計,重啟動Apache2使用:
sudo /etc/init.d/apache2 restart
現在你應該能存取你的統計使用:
http://domain.tld/awstats/awstats.pl
假定你的統計產生時沒有錯誤,Apache2 在你重啟動服務時沒有顯示錯誤,你應該可以看見統計報告。
持續更新你的統計
最後一件事就是你可能想樣透過cron來更新你的統計,這允許你定期更新你的網站統計,不需要你另外來干預,我所做的就是新增一行到我的/etc/crontab 檔案告訴AWStats每十分鐘更新一次,用這樣的更新間隔來更新幾十個網站,系統負載還是很小,要每十分鐘更新一次可以這樣的增加下面一行:
*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update >/dev/null
重複這一行,更新domain.tld值為你想要持續更新的任何站台。
防護統計
假如你的統計只想提供個人使用,你可以參考Limiting Access To Websites & Directories with .htaccess,有中文的需要迴響給我知道。