0

I've setup AWStats on my VPS to get some more insight into the traffic coming to my site. As instructed I ran a manual build/update which ran fine:

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.

It also produced the file in the DatDir: /var/lib/awstats/awstats052010.example.com.txt which contains what I would expect.

BUT when I visit: example.com/awstats/awstats.pl it tells me

Last Update:  Never updated (See 'Build/Update' on awstats_setup.html page)

and the rest of the page is blank. I'm pretty sure I set it up correctly but now I cannot figure out why this is happening. Hopefully someone smarter then me can help me.

Jenny D
  • 27,358
  • 21
  • 74
  • 110
  • With blank I did not mean *blank* but an AWStat page without any stats . Sorry for the possible confusion. –  May 05 '10 at 07:56

3 Answers3

1

Two possibilities.

Either the permissions of the file created when you run awstats are not set to allow your webserver to read the files, i.e. they are owned by a user other than www-data and have permissions of 640.

or

The regexp is set so that the hostname is expecting the URL to be domain.com and you are visiting www.domain.com (less likely based on the fact that your sudo -u www-data method worked)

karmawhore
  • 3,865
  • 17
  • 9
0

First try to find the awstats/tools directory and execute the update all script.

/usr/share/awstats/tools/awstats_updateall.pl now

It will tell you clearly, if any permission issue exists on any of these files: server logfile, awstats conf files, awstats directory for writing data.

Otherwise, if it executes properly, it will update the "Last Update" info in the statistics web UI.

And, it is better to schedule a cron job to regularly update the AWSats databse using newly created log entries.

Esa Jokinen
  • 43,252
  • 2
  • 75
  • 122
Parthyz
  • 1
  • 1
0

For me it was a problem with selinux.

grep awstats.pl /var/log/audit.log

showed denied statements for getattr, read, open and ioctl operations for command awstats.pl issued by the httpd_t context.

to allow these operations i put these lines through audit2allow like this:

audit2allow -m 'httpd_awstats' <<EOF
<paste the regarding lines from /var/log/audit/audit.log here>
EOF

creates a selinux policy

semodule -i httpd_awstats.pp

activates that policy

if you use centos 7 /var/log/audit/audit.log is replaced by journald. to get the logs from there use the following command

journalctl -xln 50 --no-pager | grep awstats.pl

the 50 is the number of last lines to fetch from the log

smoebody
  • 101
  • 2