我已经在我的 VPS 上安装了 AWStats,以便更深入地了解访问我网站的流量。指示我运行了手动构建/更新,运行良好:
sudo -u www-data ./awstats.pl -config=example.com
Create/Update database for config "/etc/awstats/awstats.example.com.conf" by AWStats version 6.9 (build 1.925)
From data in log file "/usr/share/doc/awstats/examples/logresolvemerge.pl /var/www/example.com/logs/*-access.log |"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Warning: awstats has detected that some hosts names were already resolved in your logfile /usr/share/doc/awstats/examples/logresolvemerge.pl /var/www/example.com/logs/*-access.log |.
If DNS lookup was already made by the logger (web server), you should change your setup DNSLookup=1 into DNSLookup=0 to increase awstats speed.
Jumped lines in file: 0
Parsed lines in file: 814
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 814 new qualified records.
它还在 DatDir 中生成了文件:/var/lib/awstats/awstats052010.example.com.txt,其中包含我所期望的内容。
但当我访问:example.com/awstats/awstats.pl 它告诉我
Last Update: Never updated (See 'Build/Update' on awstats_setup.html page)
页面的其余部分都是空白的。我很确定我设置正确,但现在我不知道为什么会发生这种情况。希望有人比我聪明,可以帮助我。
答案1
两种可能性。
您运行 awstats 时创建的文件的权限未设置为允许您的 Web 服务器读取这些文件,即,它们归 www-data 以外的用户所有,且具有 640 的权限。
或者
正则表达式的设置使得主机名期望 URL 为 domain.com 并且您正在访问 www.domain.com(不太可能,因为您的 sudo -u www-data 方法有效)
答案2
首先尝试找到 awstats/tools 目录并执行更新所有脚本。
/usr/share/awstats/tools/awstats_updateall.pl now
它会清楚地告诉您以下任何文件中是否存在任何权限问题:服务器日志文件、awstats conf 文件、用于写入数据的 awstats 目录。
否则,如果它正确执行,它将更新统计 Web UI 中的“最后更新”信息。
并且,最好安排一个 cron 作业来使用新创建的日志条目定期更新 AWSats 数据库。
答案3
对我来说,这是一个问题linux系统。
grep awstats.pl /var/log/audit.log
显示被否认声明获取属性,读,打开和读写控制命令操作awstats.pl由httpd_t语境。
为了允许这些操作,我把这些线通过audit2allow像这样:
audit2allow -m 'httpd_awstats' <<EOF
<paste the regarding lines from /var/log/audit/audit.log here>
EOF
创建 selinux 策略
semodule -i httpd_awstats.pp
激活该政策
如果你使用 centos 7/var/log/audit/audit.log被替换为日志. 要从那里获取日志,请使用以下命令
journalctl -xln 50 --no-pager | grep awstats.pl
这50是从日志中获取的最后几行的数量