今天依照的指示,成功安装了多域名分析的awstats6.5,以下的笔记大多是翻译了WIKI上的文档以及参考了的。同时,安装过程也是一次很好学习使用shell的机会。
1. Download awstats6.5 下载程序
Login,进入根目录后,利用wget下载源程序:
wget
解压缩文件:
tar xfzv awstats-6.5.tar.gz
将文件夹/awstats-6.5重命名为/awstats,并进入/awstats文件夹:
mv awstats-6.5 awstats
cd awstats
2. 安装准备
新建文件夹/data用于存放awstats的数据,并改变/data权限:
mkdir data
chmod -R 755 data
将awstats的/cgi-bin目录移动到/home/yourusername/awstats/下面:
mv wwwroot/cgi-bin .
在你的domain1.com下面新建一个/statistics的文件夹,用于存放awstats最终生成的静态页面文件:
cd domain1.com
mkdir statistics
将/icon,/css,/js三个文件夹拷贝到/statistics文件夹下面,以使其静态页面可以正常引用这些文件:
cp /home/yourusername/awstats/wwwroot/icon
/home/yourusername/domain1.com/statistics/iconcp /home/yourusername/awstats/wwwroot/css
/home/yourusername/domain1.com/statistics/csscp /home/yourusername/awstats/wwwroot/js
/home/yourusername/domain1.com/statistics/js
注意,如果执行时出现"cp: omitting directory"的提示信息,则请使用cp -r参数来递归拷贝这些文件。
3. 配置conf文件
进入/home/yourusername/awstats/cgi-bin/文件夹,你的config文件都保存在这里:
cd ~
cd ./awstats/cgi-bin/
不要直接重命名你的awstats.model.conf文件,建议采用拷贝的方式新增:
cp awstats.model.conf common.conf
其中common.conf就是你新生成的用于所有domain的公共配置文件,在不同域名的配置文件中则可以完全省略这一冗长的部分。
但是,如果你只对一个域名进行统计,则可以直接生成文件"awstats.domain.com.conf",再按以下方式进行编辑设定。
GeoIP.dat的path可以通过以下命令得到:
locate "GeoIP.dat"
我得到的路径是:"/usr/local/share/GeoIP/GeoIP.dat",你的不一定也是这个,请确认清楚。
现在编辑公共配置文件:
vi common.conf
进入后,处于命令状态时,最下面一行显示了文件基本信息,或者空白,按"insert"键进入编辑模式,最下行显示"--insert--"及当前光标位置信息(注:再次按"insert"键会进行到"--replace--"模式,插入及替换模式用"insert"键来切换)。现在进入--Insert--模式,改动以下信息:
#LogFile="/home/yourusername/logs/domain1.com/http/access.log.0"
# SiteDomain="domain1.com"
# HostAliases=""
DNSLookup=0
DirData="/home/yourusername/awstats/data/"
DirIcons="icon"
SaveDatabaseFilesWithPermissionsForEveryone=0
DefaultFile="index.php index.html"
lang="cn"
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"
编辑完成后,按"ESC"切换到命令模式,输入":w"回车,保存当前变更,再使用":q"退出vi编辑界面。
注意:被"#"屏蔽掉的三行,是每个domain不同的,需要在各个awstats.domain*.conf中设定。
如果你只对一个域名进行统计,则不必屏蔽这三行,写入正确的配置参数即可。
接下来,针对不同的域名,设定不同的配置:
cp awstats.model.conf awstats.domain1.com.conf
vi awstats.domain1.com.conf
在awatats.domain1.com.conf里,首先删除所有内容,在命令状态下,输入"ndd",n为从光标所在位置向下的行数,光标下n-1行将被删除。
正文输入:
Include "common.conf"
LogFile="/home/yourusername/logs/domain1.com/http/access.log.0"
SiteDomain="domain1.com"
HostAliases=""
保存退出即可。生成其他域名的方法相同,只需注意:"domain*.com"这一段要保持一致。
配置好所有的域名后,检查.pl文件的权限,所有.pl文件权限应设定为"755",即"-rwxr-xr-x":
ls -o
4. 首次生成统计页面
perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/cgi-bin/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/
注意以上只有一行,自动换行除外。
使用web浏览器,地址栏键入
看上去怎么样?
5. 设定crontab
编辑crontab任务清单,DreamHost使用nano编辑器:
crontab -e
针对不同的domain,设定其定时执行的cron job:
1 0 * * * perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/
注意以上只有一行,自动换行除外。设定完成后,保存退出nano:
CTRL + O
CTRL + X
注意,你可以在不同的domain下设定不同的/statistics文件夹,这样的话,你的配置文件则需要做相应的改动。我把所有的统计页面都放在了/domain1.com/statistics下面,因此针对不同的domain只需要改动"-config=domain1.com"一项即可。
详细的使用crontab方法详见Shell使用指南
6. 设定.htaccess文档
设定默认页面,在你的.htaccess文档中写入:
DirectoryIndex awstats.domain1.com.html
当用户访问http:///statistics时,会自动访问/awstats.domain1.com.html,对于domain2.com及domain3.com的统计页面,请自行研究解决吧。
详细的.htaccess使用请见.htaccess指南。