AWStats+Lighttpd配置

此頁由 Linux Wiki用戶Chenxing 於 2012年1月9日 (星期一) 22:59 的最後更改。

出自Linux Wiki

提示:此文已超过 12 年(4700 天)未更新,如发现内容过时或有误,欢迎改进:)

AWStats是一款流行的服務器日誌分析軟件,Lighttpd是一款輕量級HTTP服務器軟件。本文介紹在CentOS系統中,用AWStats做Lighttpd日誌分析的方法。

目錄

安裝AWStats

可以到AWStats官方網站下載安裝,也可以從發行版提供的軟件倉庫安裝。以CentOS EPEL倉庫中的AWStats為例,AWStats會被安裝到以下文件夾:

/usr/share/awstats/wwwroot/
程序文件夾
/etc/awstats/
配置文件
/usr/share/awstats/wwwroot/cgi-bin/
可執行文件文件夾

AWStats官網的rpm包會將其裝在/usr/local/awstats中。

Lighttpd配置

首先啟用必要的模塊( server.modules )[1]

mod_access, mod_accesslog
產生log
mod_cgi
運行AWStats
mod_auth
(可選)用戶身份認證
mod_alias
(可選)虛擬文件夾支持

如果想使用虛擬文件夾訪問AWStats,可加入代碼[2]

alias.url = (
                "/awstatsclasses" => "/usr/share/awstats/wwwroot/classes/",
                "/awstatscss" => "/usr/share/awstats/wwwroot/css/",
                "/awstatsicons" => "/usr/share/awstats/wwwroot/icon/",
                "/awstats/" => "/usr/share/awstats/wwwroot/cgi-bin/",
                "/icon/" => "/usr/share/awstats/wwwroot/icon/"
              )
# provide awstats cgi-bin access
$HTTP["url"] =~ "/awstats/" {
      cgi.assign = ( ".pl" => "/usr/bin/perl" )
}

配置完成後,重啟lighttpd

service lighttpd restart

如果一切正常,訪問 http://你的域名/awstats/ ,應該就能看到AWStats的錯誤信息了。

配置AWStats

配置文件一般存在/etc/awstats/,可以從awstats.model.conf複製產生需要的配置文件。

cd /etc/awstats
cp awstats.model.conf awstats.目的域名.conf

編輯配置文件,主要注意LogFile(Lighttpd日誌的位置)、SiteDomain(網站域名)、DirData(數據位置,lighttpd要有寫權限)。DirData所指向的文件夾可能需要手動建立並設置權限。

LogFile="/var/log/lighttpd/access.log"
LogType=W
# 支持虚拟主机(多域名)的关键,LogFormat=1是不行的。
LogFormat = "%host %virtualname %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
 
SiteDomain="foobar"
HostAliases="localhost 127.0.0.1 REGEX[foobar$]"
 
# DirData 是存放数据的路径,lighttpd要有写权限。其所指向的文件夹可能需要手动建立并设置权限。

處理數據、查看結果

現在已經可以處理日誌文件了:

/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -update -config=域名

再通過

http://域名/awstats/awstats.pl?config=域名

可以看到分析結果。

定時更新

可以通過crond讓程序每天執行。創建、編輯文件/etc/cron.daily/01awstats,如:

#!/bin/bash
AWS=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl 
 
# append your domain
DOMAINS="linux-wiki.cn www.linux-wiki.cn"
 
# loop through all domains
for d in ${DOMAINS}
do
   ${AWS} -update -config=${d}
done

其中AWStats.pl的路徑、域名等可按需更改

用戶認證

如果不想公開統計信息,可以設置lighttpd用戶認證。此處介紹一種最簡單的方式:

auth.backend               = "plain" 
 
# filename of the password storage for plain
auth.backend.plain.userfile = "用户名密码文件的完整路径" 
 
auth.require = ("/awstats" =>
        (
        "method" => "basic",
        "realm" => "Authentication Awstats Management",
        "require" => "valid-user"
        ),
)

其中用戶名密碼文件格式很簡單,如

user1:password1
user2:password2

不要更改"valid-user"。

參考資料

  1. http://benr75.com/pages/lighttpd_awstats_tutorial
  2. http://www.cyberciti.biz/tips/lighttpd-web-server-awstats-tutorial.html

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换