目录
1、下载
官网:AWStats - Open Source Log File Analyzer for advanced statistics (GNU GPL)
wget https://prdownloads.sourceforge.net/awstats/awstats-7.8.tar.gz --no-check-certificate
tar -xzvf awstats-7.8.tar.gz
mv awstats-7.8 /usr/local/
ln -s /usr/local/awstats-7.8/ /usr/local/awstats
chown -R www.www /usr/local/awstats/
2、初始化设置
cd /usr/local/awstats/tools
./awstats_configure.pl
配置参考:
----- AWStats awstats_configure 1.0 (build 20140126) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/usr/local/awstats-7.8
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] ? y
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /www/server/apache/conf/httpd.conf
-----> Check and complete web server config file '/www/server/apache/conf/httpd.conf'
Warning: You Apache config file contains directives to write 'common' log files
This means that some features can't work (os, browsers and keywords detection).
Do you want me to setup Apache to write 'combined' log files [y/N] ? n
Add 'Alias /awstatsclasses "/usr/local/awstats-7.8/wwwroot/classes/"'
Add 'Alias /awstatscss "/usr/local/awstats-7.8/wwwroot/css/"'
Add 'Alias /awstatsicons "/usr/local/awstats-7.8/wwwroot/icon/"'
Add 'ScriptAlias /awstats/ "/usr/local/awstats-7.8/wwwroot/cgi-bin/"'
Add '<Directory>' directive
AWStats directives added to Apache config file.
-----> Update model config file '/usr/local/awstats-7.8/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> mysite.com
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>
-----> Create config file '/etc/awstats/awstats.mysite.com.conf'
Config file /etc/awstats/awstats.mysite.com.conf created.
-----> Restart Web server with '/etc/init.d/apache restart'
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats-7.8/wwwroot/cgi-bin/awstats.pl -update -config=mysite.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats-7.8/tools/awstats_updateall.pl now
Press ENTER to continue...
A SIMPLE config file has been created: /etc/awstats/awstats.mysite.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'mysite.com' with command:
> perl awstats.pl -update -config=mysite.com
You can also read your statistics for 'mysite.com' with URL:
> http://localhost/awstats/awstats.pl?config=mysite.com
Press ENTER to finish...
3、编辑配置文件
vi /etc/awstats/awstats.mysite.com.conf
找到LogFile修改成主机的日志文件位置
配置web站点展示awstats
mkdir /www/wwwroot/awstats
cd /usr/local/awstats/wwwroot/
cp -ar css icon js /www/wwwroot/awstats/
chown -R www.www /www/wwwroot/awstats
用web服务新建一个站点路径指定到 /www/wwwroot/awstats
4、生成分析日志
mkdir /var/lib/awstats
/usr/local/awstats/tools/awstats_buildstaticpages.pl \
-config=mysite.com -update -lang=cn \
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl \
-dir=/www/wwwroot/awstats/
可以创建定时任务,定时更新awstats分析日志
5、浏览器打开
http://mysite.com/awstats.mysite.com.html
6、设置安全登录
这里需要用到htpasswd命令,apache已经自带,nginx需要安装一下
apt-get install apache2-utils
设置用户、密码
htpasswd -c /usr/local/awstats/wwwroot/mysite.passwd mysite
# htpasswd -c /usr/local/awstats/wwwroot/mysite.passwd mysite
New password:
Re-type new password:
Adding password for user mysite
设置权限
chown www:www /usr/local/awstats/wwwroot/mysite.passwd
chmod 600 /usr/local/awstats/wwwroot/mysite.passwd
修改站点配置
apache
添加
AuthType basic
AuthName "Authorization "
AuthUserFile /usr/local/awstats/wwwroot/mysite.passwd
Require valid-user
如:
<VirtualHost>
....
#PATH
<Directory "/www/wwwroot/awstats">
AuthType basic
AuthName "Authorization "
AuthUserFile /usr/local/awstats/wwwroot/mysite.passwd
Require valid-user
DirectoryIndex awstats.mysite.com.html
</Directory>
</VirtualHost>
nginx
添加
auth_basic "closed site";
auth_basic_user_file /usr/local/awstats/wwwroot/mysite.passwd;
如:
server
{
listen 80;
server_name awstats.mysite.com;
index awstats.mysite.com.html;
root /www/wwwroot/awstats/;
auth_basic "closed site";
auth_basic_user_file /usr/local/awstats/wwwroot/mysite.passwd;
access_log /www/wwwlogs/access.log;
error_log /www/wwwlogs/error.log;
}
7、Too Many Open Files问题
linux默认打开文件是1024,增加数量就可以。
ulimit -n #查看
ulimit -n 30000 #设置打开数为30000
注意:这是临时设置,可以在执行命令前先执行前先执行一下ulimit -n 30000命令,如:
ulimit -n 30000 && \
/usr/local/awstats/tools/awstats_buildstaticpages.pl \
-config=mysite.com -update -lang=cn \
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl \
-dir=/www/wwwroot/awstats/
执行完后备份日志后,删除老日志文件。