開始安裝計數器 ( Counter ) 套件
最近更新日期:2002/01/13
前言
開始安裝
幾種主要顯示的模式
利用小批次檔(script)統計每日人數

前言
有沒有發現很多的網頁都有一個小小的計數器呢?我們這個網頁也有這樣的一個計數器喔!在鳥哥的 Linux 與 ADSL 小站左上角,注意到了沒!一般而言,如果是自行設計網頁並且使用的是免費空間的網頁主機系統,那麼常常會看到他們是使用向外部主機申請一個計數器的方法。不過,這個方法有個大缺點,就是你的計數器必須由別人所掌控,如果你需要更多的計數器,那麼你只好不斷的跟該提供的網站要求囉!不過,如果是自己架站的話呢?呵呵!我們可以直接在自己的網頁上安裝計數器啦!你可以隨意的增加或修改你的計數器,而且,安裝計數器的方法很簡單喔!簡單到你安裝完了之後還會偷笑呢!
目前最有名的計數器套件大概是 wwwcounter 這一套!就我所知的套件最新應該是 wwwcount2.6 版的樣子,不知道有沒有最新的....。這一套計數器基本上有兩種主要的模式,分別是: 這兩種模式最大的不同在於第二種模式的紀錄檔案中,不但有次數,還會包含一個 IP ,檔案內容有點像這樣『 2512  192.168.2.100 』,前面的數字是次數,後面的一串咚咚是 IP ,所以囉,wwwcount 在第二種模式會自動的判別連線的 IP 位址是否相同!通常我們使用的都是第一種模式,也可以稱作為『灌水模式』,他的紀錄檔案內容只有一個數字,那就是你的次數了!由於沒有 IP 的紀錄選項了,因此只要你不斷的按『重新整理』,呵呵!你的網頁被瀏覽次數就會不斷的增加、增加、再增加!所以囉,在安裝這個套件之前,你就要先想一想,你所需要的模式是哪一種哩!?另外, wwwcount 套件預設的模式是第二種,所以你的安裝的時候需要特別小心喔!

開始安裝
建議你到中山大學的 FTP 站去搜尋並下載最新的版本,我們這裡提供的可能不會是最新的資料喔!不過,由於最新的版本在安裝的步驟上與舊的版本不太一樣,您可能需要特別留意一下。我這裡介紹的是 wwwcount2.4 版,如果您下載的檔案比較新的話,那麼以下的資料就不太適合您了!你可以按 這裡 下載 wwwcount2.4 版
安裝的方法實在有夠簡單的,只要幾個步驟就行了,那我們就開始吧:
 
[root @tsai /root]# cd /usr/local/src
[root @tsai src]# tar -zxvf wwwcount2.4.tar.gz
[root @tsai src]# cd wwwcount2.4
Step 1:
[root @tsai wwwcount2.4]# ./Count-config  <==開始設定

    During installation, the directories will be created for you
    if they do not exist and if you have the permission to do so.
    ++
Continue [y|n]? y  <==按下 y 就對了!

    You need to enter the full path of the directory where you system
    keeps the CGI programs. This directory must exist!

*cgi-bin dierctory [/usr/local/etc/httpd/cgi-bin]: /usr/local/apache/cgi-bin
上面的路徑與你的 apache 預設的 cgi-bin 的目錄有關!

    You need to enter the base directory of the counter related stuff.

*Base directory [/usr/local/etc/Counter]: /usr/local/Counter
這是 wwwcount 安裝的目錄,我都喜歡安裝在 /usr/local 底下,所以設定成上面的目錄。

    You need to enter the directory of the configuration file.

* Config directory [/usr/local/Counter/conf]: <==按 enter 就好了!

    You will create this file later by running the program "Gen_conf".

* Name of the configuration file [count.cfg]:<==同樣使用程式預設的,按 enter

    You need to enter the directory of the counter data file.

*Data directory [/usr/local/Counter/data]:<==同樣使用程式預設的,按 enter

    You need to enter the directory of the Log file.

*Log directory [/usr/local/Counter/Log]:<==同樣使用程式預設的,按 enter

* Name of the log file [Count2.4.log]:<==同樣使用程式預設的,按 enter

You entered:
++++++++++++++++++++++++++++++
CgiBinDir=/usr/local/apache/cgi-bin
BaseDir= /usr/local/Counter
DigitDir= /usr/local/Counter/digits
ConfDir = /usr/local/Counter/conf
ConfFile= count.cfg
DataDir= /usr/local/Counter/data
LogDir= /usr/local/Counter/Log
LogFile= Count2.4.log
++++++++++++++++++++++++++++++
Everything looks ok [y|n]? y <==確定沒問題就按 y 吧!

Step 2:
[root @tsai wwwcount2.4]# ./configure
底下就會開始一些測試你主機情況的一些咚咚囉!

Step 3:
[root @tsai wwwcount2.4]# vi Makefile
如果你想要每按一次就增加一次次數的話,那麼進入 Makefile
檔案,找到底下這一行:
#COUNT_RELOAD= -DCOUNT_RELOAD=1  (大約在第 33 行)
將註解 # 符號取消,然後儲存後退出,這樣就可以囉!

Step 4:
[root @tsai wwwcount2.4]# make clean; make
這個動作在編譯可執行檔!

Step 5:
[root @tsai wwwcount2.4]# ./Gen-conf
這個動作在設定你的主機資訊與相關設定!
    First of all you must know your
.......
Continue [y|n]? y <== 按下 y 吧!

* Enter your fully qualified domain name [no default]: tsai.adsldns.org
上面需要輸入你的主機名稱!需要 主機名稱與領域名稱 都需要喔!
* Enter your IP address [no default]: 192.168.1.2
如果像我一樣是使用動態 IP 架站的,那就填我們的內部 IP 吧!
* Does your host have any nickname [y|n]:? y
如果你的主機有多個名稱,那就按 y 不然的話,按 n 就可以了!
* Enter your host's nickname (FQDN) [no default]: www.tsai.adsldns.org
如果上面按 y 這個項目才會出現,就填另一個主機名稱吧!
* Do you want to allow automatic file creation [[y|n]?
通常不希望自行產生檔案!會有問題,所以按 n 囉!
* Do you want the program to run in strict mode [[y|n]? y
是的,需要這個方式的顯示!
* Do you want to ignore access hits from your own host [y|n]? y
如果 WWW 的要求來自你自己的 IP ,那麼就不要計數!
我這裡都選 y ,因為自己上去看自己的網頁還要計數,
有點偷雞摸狗了.....按下 y 之後,以後你自己連上自己的網頁,
計數器將不會累加喔!
* Allow using the rgb.txt file [y|n]?
那就使用吧!

Step 6:
[root @tsai wwwcount2.4]# ./Count-install
Your configuration:

cgi-bin directory= /usr/local/apache/cgi-bin
conf directory= /usr/local/Counter/conf
conf file= count.cfg
digit directory=/usr/local/Counter/digits
data directory=/usr/local/Counter/data
log directory=/usr/local/Counter/Log
log file=Count2.4.log
rgb file= ./wcount/rgb.txt
===================

Continue [y|n]? y <== 看看你的設定正不正確,對的話就開始安裝吧!
*Do you know the user and group id of httpd' child process [y|n]:? y
你知不知道 apache 的使用者名稱與群組!若以 Red Hat 預設的
apache 來安裝 WWW 的話,那麼預設的名稱為 apache ,
如果是以 tarball 安裝的話,那就是 nobody 囉!
*Enter user id of httpd's child process [no default]:? nobody
*Enter group id of httpd's child process [no default]:? nobody
上面兩個咚咚都需要視你的設定而變,如果你不知道的話,
那麼進入 httpd.conf 檔案中,去找一下相關的設定就 OK 了!

這樣就安裝完畢了!!

幾種主要顯示的模式
基本上,這樣就安裝完畢了!要使用的時候,相當的簡單,只要在您的網頁檔案中,在任何地方加入:
<img SRC="http://tsai.adsldns.org/cgi-bin/Count.cgi?dd=A&ft=0&sh=T&pad=Y&df=vbird.dat">
就可以顯示出相關的圖形了!而 vbird.dat 這個檔案則放置在 /usr/local/Counter/data 裡面,你可以這樣造出這個檔案:
  1. cd /usr/local/Counter/data
  2. echo 1 > vbird.dat
  3. chown nobody:nobody vbird.dat
  4. chmod 644 vbird.dat
由於 Count.cgi 這個程式會自動的去尋找 /usr/local/Counter/data 裡面的檔案,而且讀寫的人是 apache 裡面設定的 WWW 的啟動者(在 Red Hat 預設使用 apache 這個使用者,但是 apache 預設則是 nobody ),所以你必須將該檔案變更屬性才能夠顯示出來!至於 Count.cgi 後面的參數代表的意義為何?這個就需要您自行去探險了!這裡將該程式的幾個主要的內容資料連結上來,希望對大家有點幫助:(尤其是 圖示安裝範例 裡面很豐富喔!)
Documentation
圖示安裝範例
而關於檔案的建置方面,您可以持續建立不同的檔案來記錄累積的次數資料喔!加油囉!

利用小批次檔(script)統計每日人數
那如果我想要每日記錄上線的人數呢?很簡單喔!只要利用以下的小批次檔,並且在每天的 0:01 分執行一次,就可以囉!
 
zpath="/home/vbird/public_html/linux_menu"
y=`date +%d/%b/20%y`
w=`date +%a`
person=`cat /usr/local/Counter/data/linux_today.dat`
echo $y "(" $w ")" $person > $zpath/zperson.tmp
cat $zpath/zperson.txt >> $zpath/zperson.tmp
cat $zpath/zperson.tmp > $zpath/zperson.txt
cat $zpath/zperson1 > $zpath/zperson.html
cat $zpath/zperson.txt >> $zpath/zperson.html
cat $zpath/zperson2 >> $zpath/zperson.html
當然囉,您的資料中就必須先建立 linux_today.dat 檔,並且也需要一些相關的 html 的咚咚喔!你可以看一下我們的執行成果哩:
每日上線人數統計表
當然了,相關的 zperson.txt zperson1 zperson2 都可以直接在上面的範例中以『檢視原始碼』的方式來取得喔!加油囉!
2002/ 01/13以來統計人數