Monday, April 28, 2008

nixCraft Linux Sys Admin Blog

nixCraft Linux Sys Admin Blog

Link to nixCraft Linux Sys Admin Blog

Lighttpd Install and Configure AwStats Software Log Analyzer

Posted: 29 Apr 2008 12:08 AM CDT

AWStats is a free powerful tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages. It uses a partial information file to be able to process large log files, often and quickly. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C log format) and a lot of other web, proxy, wap, streaming servers, mail servers and some ftp servers.

You can easily configure awstats under Lighttpd web server.

Step # 1: Install awstats

Visit project web site to grab latest stable version.
# cd /tmp
# wget http://jaist.dl.sourceforge.net/sourceforge/awstats/awstats-6.7-1.noarch.rpm
# rpm -ivh awstats-6.7-1.noarch.rpm

Important Configuration Files

  • /usr/local/awstats/wwwroot/ - Default installtion directory
  • /etc/awstats/ - Configuration file for all your domains
  • /usr/local/awstats/wwwroot/cgi-bin/ : Main program directory
  • /var/log/lighttpd/domain.com/access.log : Web server access log file
  • /home/lighttpd/domain.com/http/ : Web root for your domain
  • /home/lighttpd/domain.com/stats/awstats/ : Directory to store awstats data files. You need to create this directory.

Step # 2: Configure lighttpd

Open lighttpd.conf file and configure perl cgi access (see tutorial for more info):
# vi lighttpd.conf
Append following configuration directive:

alias.url = (                 "/awstatsclasses" => "/usr/local/awstats/wwwroot/classes/",                 "/awstatscss" => "/usr/local/awstats/wwwroot/css/",                 "/awstatsicons" => "/usr/local/awstats/wwwroot/icon/",                 "/awstats/" => "/usr/local/awstats/wwwroot/cgi-bin/",                 "/icon/" => "/usr/local/awstats/wwwroot/icon/"               ) # provide awstats cgi-bin access $HTTP["url"] =~ "/awstats/" {       cgi.assign = ( ".pl" => "/usr/bin/perl" ) }

Save and close the file. Restart lighttpd:
# /etc/init.d/lighttpd restart

Step # 3: Configure domain

Make a copy of default configuration file awstats.model.conf as awstats.domain.com.conf:
# cd /etc/awstats
# cp awstats.model.conf awstats.theos.in.conf

Open config file:
# vi awstats.theos.in.conf
Make sure you set values as follows:
LogFile="/var/log/lighttpd/theos.in/access.log"
LogFormat=1
SiteDomain="theos.in"
DirData="/home/lighttpd/theos.in/stats/awstats"

Where,

  • LogFile : Defines the web, ftp or mail server log file to analyze. A full path to your log file /var/log/lighttpd/theos.in/access.log
  • LogFormat : Use Apache / Lighttpd combined log format
  • DirData : When AWStats updates its statistics, it stores results of its analysis in files (AWStats database). All those files are written in the directory defined by the "DirData" parameter. Set this value to the directory where you want AWStats to save its database and working files into.

Save and close the file. Create dataDir:
# mkdir -p /home/lighttpd/theos.in/stats/awstats
# chown lighttpd:lighttpd /home/lighttpd/theos.in/stats/awstats

Step 4: Generate stats

Type the following command at a shell prompt:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=domain.com
If your domain name is theos.in, enter:
# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=theos.in
Sample output:

Create/Update database for config "/etc/awstats/awstats.theos.in.conf" by AWStats version 6.7 (build 1.892) From data in log file "/var/log/lighttpd/theos.in/access.log"... Phase 1 : First bypass old records, searching new record... Direct access after last parsed record (after line 50894) Jumped lines in file: 50894  Found 50894 already parsed records. Parsed lines in file: 47047  Found 0 dropped records,  Found 0 corrupted records,  Found 0 old records,  Found 47047 new qualified records. 

Step 5: View stats

Fire a web browser and type url:
http://server-ip/awstats/awstats.pl?config=domain.com
http://server-ip/awstats/awstats.pl?config=theos.in
http://theos.in/awstats/awstats.pl?config=theos.in


(Fig.01: Awstats for theos.in domain - click to enlarge)

Password protect your stats

Use mod_auth to setup a secure password protected area under Lighttpd.

Automatically update stats

Simply create a shell script to update all domains - /etc/cron.daily/01awstats via a cron job:
# vi /etc/cron.daily/01awstats
Append code as follows:

#!/bin/bash # path to cgi-bin AWS=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl    # append your domain DOMAINS="theos.in cyberciti.biz nixcraft.com cricketnow.in vivekgite.com"   # loop through all domains for d in ${DOMAINS} do    ${AWS} -update -config=${d} done

Save and close the file. Test your script:
# chmod +x /etc/cron.daily/01awstats
# /etc/cron.daily/01awstats

Recommended readings:

Related Posts:



© Lighttpd Install and Configure AwStats Software Log Analyzer - nixCraft - Support nixCraft when you shop at amazon. Thanks!

Ubuntu Linux Usability Testing with Girlfriend

Posted: 28 Apr 2008 11:16 PM CDT

Finally someone is doing Ubuntu Linux usability testing with a girlfriend. The new user was given a couple of common tasks over a default installation of Ubuntu. I hope, the Linux distributions can learn a lot from this article and improve Linux user experience on a desktop computer. From the post:

Erin's knowledge of computers is limited to word processors, spreadsheets, Photoshop and a reasonable amount of browsing on the Web. Fairly standard stuff for a university philosophy student. All I did to the system (before leaving Erin at the log-in screen) was to install it and create a user account for her. She had no problems logging in, and loved the stylised heron background. Then I gave her one by one the tasks I'd set her. I didn’t give her any help at all.

=> The Great Ubuntu-Girlfriend Experiment (via slashdot)

Related Posts:



© Ubuntu Linux Usability Testing with Girlfriend - nixCraft - Support nixCraft when you shop at amazon. Thanks!

Hans Reiser Guilty of First Degree Murder

Posted: 28 Apr 2008 10:52 PM CDT

Hans was deeply involved in Linux kernel development with his widespread ReiserFS journaling file system and its successor Reiser4. Reiser's estranged wife, Nina Reiser, disappeared on September 3, 2006; Reiser was convicted of her murder on April 28, 2008:

Jurors found Linux programmer Hans Reiser guilty of first degree murder on Monday, concluding he killed his estranged wife in 2006. The verdict followed a nearly six-month trial and nearly three days of deliberation

The 44-year-old developer of the ReiserFS filesystem, sat quietly as a clerk for Alameda County Superior Court Judge Larry Goodman read the verdict. Reiser faces a mandatory sentence of 25 years to life in prison. Wearing the same dark coat he's worn for months, the defendant was immediately removed from the courtroom by one of four bailiffs watching over the courtroom. He asked out loud if he could speak with his attorney.

In a murder case with no body, no crime scene, no reliable eyewitness and virtually no physical evidence, the prosecution began the trial last November with a daunting task ahead.

Related Posts:



© Hans Reiser Guilty of First Degree Murder - nixCraft - Support nixCraft when you shop at amazon. Thanks!

How To Extract a Single File / Directory from Tarball Archive

Posted: 28 Apr 2008 11:04 PM CDT

How do I extract a single file or directory form a tarball under UNIX / Linux shell prompt? How do I restore a single file from /dev/st0 tape device?

Answer to "How To Extract a Single File / Directory from Tarball Archive"


Copyright © nixCraft. All Rights Reserved. Support nixCraft when you shop at amazon. Thanks!

No comments: