本文介绍如何使用Apache Web服务器在Ubuntu 18.04服务器上安装和配置AWStats的方法。
简介 AWStats(高级Web统计)是一种用Perl编程语言编写的免费开源Web分析软件,网站管理员使用网络分析软件来了解每天/每周/每月访问网站的访问者数量,他们正在使用的网络浏览器等等,它是帮助发展网站的关键软件。 附:AWStats功能 它可以从服务器日志文件生成用户统计信息,支持Web,流媒体,ftp或邮件服务器。 它可以显示您的访问次数和唯一身份访问者,访问持续时间。 显示有关访问者的信息(操作系统、浏览器、IP地址、屏幕大小、搜索引擎、关键短语和用于查找网站的关键字) 它可以从命令行和CGI工作。 参考:在Ubuntu 18.04/16.04上安装Matomo(Piwik)Web分析工具的方法。
使用Apache在Ubuntu 18.04上安装AWStats 首先,需要安装Apache Web服务器,运行以下命令从默认的Ubuntu存储库安装Apache: sudo apt install apache2 参考:在Ubuntu 18.04服务器上安装LAMP Stack的方法[Apache、MySQL、PHP]。 然后安装AWStats,两个Perl包用于获取GeoIP信息: sudo apt install awstats libgeo-ip-perl libgeo-ipfree-perl AWStats可以从Apache日志文件中收集统计信息,建议为每个Apache主机创建单独的日志文件。
配置Apache主机 编辑Apache主机文件,请自行修改example.com,下面涉及到的也要自行做更改: sudo nano /etc/apache2/sites-available/example.com.conf 首先需要通过在<VirtualHost>标记中添加以下行来启用主机中的日志记录: ErrorLog ${APACHE_LOG_DIR}/exmaple.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined 然后在结束</VirtualHost>标记之前将以下行添加到文件的末尾处: Alias /awstatsclasses "/usr/share/awstats/lib/" Alias /awstats-icon/ "/usr/share/awstats/icon/" Alias /awstatscss "/usr/share/doc/awstats/examples/css" ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ScriptAlias /awstats/ /usr/lib/cgi-bin/ Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 保存并关闭文件,运行以下命令以启用CGI模块并重新启动Apache以使更改生效: sudo a2enmod cgi sudo systemctl restart apache2 可以在example.com/cgi-bin/awstats.pl上访问AWStats Web界面,但我们需要进行更多配置才能使其正常工作,如下图:
配置AWStats 主配置文件是/etc/awstats/awstats.conf,要在更新awstats包时进行修改,我们会将其复制到新文件中: sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.exmaple.com.conf 然后编辑新文件: sudo nano /etc/awstats/awstats.example.com.conf 参考:GNU nano 4.0发布下载,易于使用的文本编辑器。 首先,需要将LogFile的值更改为Apache主机使用的文件名: LogFile="/var/log/apache2/example.com_access.log" 接下来,找到以下行: LogFormat=4 因为我们在Apache主机中使用了组合日志格式,所以我们需要将值更改为1: LogFormat=1 然后,在SiteDomain参数中添加你的域名,如果你的网站使用子域,例如blog.example.com,则将blog.example.com添加到SiteDomain参数: SiteDomain="blog.example.com" 此外,将域名添加到HostAliases参数: HostAliases="blog.example.com localhost 127.0.0.1" 保存并关闭文件,接下来需要允许www-data用户使用以下命令读取Apache日志: sudo setfacl -R -m "u:www-data:rx" /var/log/apache2/ 现在可以访问AWStats Web界面(example.com/cgi-bin/awstats.pl):
默认情况下,AWStats cron job(/etc/cron.d/awstats)每10分钟更新一次统计信息, AWStats将其数据存储在/var/lib/awstats/目录下。
限制对AWStats Web界面的访问 默认情况下,AWStats Web界面可公开访问,要限制访问,我们可以使用Apache Web服务器启用基本密码身份验证,执行以下命令,设置用户admin的密码,/etc/apache2/htpasswd文件用于存储用户名和密码: sudo htpasswd -c /etc/apache2/htpasswd admin 然后编辑Apache主机文件: sudo nano /etc/apache2/sites-available/example.com.conf 添加以下代码: <Directory "/usr/lib/cgi-bin/"> AuthUserFile /etc/apache2/htpasswd AuthName "Please Enter Your Password" AuthType Basic Require valid-user </Directory> 保存并关闭文件,然后重新启动Apache以使更改生效: sudo systemctl restart apache2 如果再次访问AWStats Web界面,将要求你输入用户名和密码才可以,如下图页面:
至此,安装和配置AWStats已全部完成。
相关主题 |