AWStats 是一套免費且中文化相當完整的流量分析工具,可以抓取 Apache、FTP、Mail 等產生的記錄檔再進行分析並產生清楚詳細的圖表。以下是 CentOS 安裝及配置 AWStats 的步驟:

☛ 安裝 AWStats 流量分析套件

使用 yum 指令安裝 AWStats 流量分析套件,如下所示:

[root@localhost ~]# yum install awstats

☛ 設定 AWStats 套件

AWStats 安裝完成後,會在 /etc/awstats/ 產生 awstats.localhost.localdomain.conf 的設定檔,假設你的主機網址名稱是 www.x-family.idv.tw,那檔名就應該是awstats.www.x-family.idv.tw.conf ,將 awstats.localhost.localdomain.conf 複製成一個 awstats.www.x-family.idv.tw.conf 的檔案,然後以 gedit 修改 awstats.www.www.x-family.idv.tw.conf 檔案內的以下列設定,如下所示:

[root@localhost ~]# cd /etc/awstats
[root@localhost awstats]#cp awstats.localhost.localdomain.conf awstats.www.x-family.idv.tw.conf
[root@localhost awstats]#gedit awstats.www.x-family.idv.tw.conf

依序變更以下參數設定:

LogFile="/var/log/httpd/access_log"
LogType=W
LogFormat=1
SiteDomain="www.x-family.idv.tw"
DirCgi="/awstats/"
DirIcons="/awstatsicons"
AllowToUpdateStatsFormBrowser=0
Lang="auto"

☛ 修改 Apache 的 AWStats 的設定檔内容

使用 gedit 编辑器修改 Apache 的 awstats 設定檔 /etc/httpd/conf.d/awstats.conf ,修改相關 awstats 執行目錄及可連線讀取分析檔案的 IP 位置,如下所示:

Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"

<Directory "/usr/share/awstats/wwwroot">
     Options None
     AllowOverride None
     Order allow,deny
     Allow from ALL
</Directory>

設定完成後重啟 Apache service 重新讀取設定檔案。

[root@localhost ~]# systemctl restart httpd

☛ 測試 AWStats 分析報告

使用下列的操作指令将报告输出至 /var/www/html/ 目录下,然后使用浏览器查看,如下所示:

[root@localhost ~]# cd /usr/share/awstats/wwwroot/cgi-bin/
[root@localhost ~]# perl awstats.pl -config=www.x-family.idv.tw -update -output > web.html
[root@localhost ~]# Chmod 755 /usr/share/awstats/wwwroot/cgi-bin/

使用瀏覽器輸入網址 ( 如:http://www.x-family.idv.tw/ 或 http://www.x-family.idv.tw/cgi-bin/awstats.pl?config=www.x-family.idv.tw ),確認是否可以連線到 AWStats 分析網頁?

如果瀏覽器出現 The requested URL /awstats.pl was not found on this server. 訊息時,則將 /usr/share/awstats/wwwroot/ 目錄下的 cgi-bin 複製一份至 /var/www/ 目錄下即可排除這一情況,操作如下:

[root@localhost ~]# mkdir /var/www/cgi-bin
[root@localhost ~]# cp /usr/share/awstats/wwwroot/cgi-bin/*.* /var/www/cgi-bin/
[root@localhost ~]# chmod 755 /var/www/cgi-bin

這是因為 Apache 的設定檔預設 cgi-bin 的目錄位置在 /var/www/cgi-bin 所致。

☛ 設定更新排程

設定每小時更新一次 AWStats,使用 gedit 在 /usr/sbin/ 下新增一個 awstats.sh 檔案,輸入以下內容:

perl /var/www/cgi-bin/awstats.pl -config=www.x-family.idv.tw -update

存檔後,再以 gedit 修改 /etc/crontab ,加入以下的內容,如下所示:

0 * * * * root /usr/sbin/awstats.sh