Awstats是一套簡單而強大的訪客分析統計工具,最重要的是一套Freeware。
於Ubuntu安裝Awstats是一件很輕鬆但又有點麻煩的事。Ubuntu本身有提供套件版的Awstats可以直接安裝,但仍有一些煩人的設定需要處理。下面我們就來看看如何搞定Awstats。
首頁需要確定您的環境擁有 perl 的執行程式。如果沒有 perl 沒關係,只要下「apt-get install perl」即可安裝完成您的 perl 。
接下來就照以下的步驟即可設定好awstats
一、安裝Awstats,指令「apt-get install awstats」。
安裝完成後,進到「/etc/awstats」資料夾,並且複製 config 檔案。指令:
cd /etc/awstats
cp awstats.conf awstats.www.mydomain.tw.conf (假設要分析的站台為 www.mydomain.tw )
二、編輯config內容:
vi awstats.www.mydomain.tw.conf
修改如下:
1.找到「LogFile=」,修改Apache的Log位置,改成如下範例
LogFile="/var/log/apache2/access.log"
2.找到「LogForum=」,預設為4,請改成 1,
LogFormat=1
1 的意思為 Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)
(如果apahce log 的格式沒手動調整過,就需要改成 1,不然分析上,會有些東西分析不了
3.設定網址
SiteDomain="www.mydomain.tw" (假設要分析的站台為 www.mydomain.tw )
4.為了讓關鍵字能正常顯示,則修改 #LoadPlugin="decodeutfkeys" ,將前面的註解拿掉(#號)
LoadPlugin="decodeutfkeys"
三、修改語系檔:如果您的apache沒改過編碼預設,那應該會是utf-8的編碼,那就需要作以下的設定
將awstats-tw.txt裡的big改成utf-8及編碼改成utf-8,再後再轉存為 awstats-tw-utf8.txt 的檔案
cd /usr/share/awstats/lang
sudo cat awstats-tw.txt | sed -e 's/big5/utf-8/' | iconv -f big5 -t utf8 > awstats-tw-utf8.txt
四、第一次分析
/usr/lib/cgi-bin/awstats.pl -config=www.mydomain.tw
五、以後的分析
/usr/lib/cgi-bin/awstats.pl -config=www.mydomain.tw -update
可透過 crontab 設定背景執行,自動執行日後的分析
六、與Apache連結,以看到結果
web沒有設定的話,是看不到結果的,所以需要修改「/etc/apache2/sites-available/default」 (假設是由預設站台看到報表,那就是改default這個檔案)
vi /etc/apache2/sites-available/default
加入以下內容
Alias /awstatsclasses/ "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /awstats/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin/>
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Options None
AllowOverride None
Order allow,deny
Allow from All
</Directory>
七、看一下結果
http://www.mydomain.tw/awstats/awstats.pl?config=www.mydomain.tw
原則上完成以上的步驟即可正常看到報表囉。但仍有二個問題需要說明的。
一、如果多個站台怎辦?作法很簡單,提出我的看法
將Apache Log 分開儲存,每一個站台就一個Log檔,設定位置在「/etc/apache2/sites-available/」的每一個檔案裡。
打開檔案後,可以找到「CustomLog」的設定,只要將每個站台的「CustomLog」設定到不同地方即可。
然後只要在最上面第一個步驟的地方,多設定幾個 awstats.xxx.xxx.xxx.conf 即可。
提醒:請記得一開始就將log分開存放,以方便Awstats的設定才不會每個站台看起來都一樣。
二、如果沒有額外設定的話,所有人都可以看到分析結果,最簡單方法可以這麼作:
(1)建立.htaccess檔,但是請留意您的web設定是否允許.htaccess。
請打開「vi /etc/apache2/sites-available/default」 (同上假設是由預設站台看到報表,那就是改default這個檔案)
找到 AllowOverride ,如果是像上述「六」的設定,則是不允許存取的喔。可以改成
AllowOverride AuthConfig
然後在 /usr/lib/cgi-bin 下,新增一個檔案叫「.htaccess」後,內容如下
<Directory /media/disk1/web-noah/www/cgi-bin/awstats/ >
AuthType Basic
AuthName "Awstats"
AuthUserFile /usr/local/apache2/passwd/passwords
require valid-user
</Directory>
(2)直接修改sites-available裡的檔案,打開「vi /etc/apache2/sites-available/default」後,修改上述第六點成為
Alias /awstatsclasses/ "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /awstats/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin/>
AuthName "Awstats"
AuthUserFile /usr/local/apache2/passwd/passwords
require valid-user
</Directory>
或則新增
<Directory /usr/lib/cgi-bin/ >
AuthType Basic
AuthName "Awstats"
AuthUserFile /usr/local/apache2/passwd/passwords
require valid-user
</Directory>
不管是(1)或(2)都有用到一個叫密碼檔的東西,建立方法很簡單:
htpasswd -c /usr/local/apache2/passwd/passwords userName
-c 代表建立檔案。userName 請改成您以後看Log的帳號。如果要改密碼或新增一個user,只要再輸入:
htpasswd /usr/local/apache2/passwd/passwords userName
好了,如果您有照以上的步驟全部走完,那原則上應該已經可以看到報表了,而且不擔心會被別人看光光。另外幾個不錯的參考資料,如果有需要也可以參考看看。
相關參考:
http://disp.twbbs.org/text.php?bi=3&ti=909
http://www.apacheweek.com/features/userauth
http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/howto/htaccess.html
http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/core.html#allowoverride

Leave a comment