# AWStats configure file
#------------------------------------------------------------------------
# Copy this file into awstats.www.myserver.mydomain.conf or awstats.conf
# and edit this new file to setup AWStats (This config file must be in
# same directory than awstats.pl).
# If you don't understand what is a parameter, keep default value.
#------------------------------------------------------------------------


# Main setup section (Required to make AWStats working)
#------------------------------------------------------------------------

# Web server logfile to analyze, with full path
# Example: "/var/logs/httpd/myserver_access.log"
# or relative path from awstats.pl directory.
# Example: "../logs/mycombinedlog.log"
# You can also use %YY %MM %DD or %HH in filename, AWStats will
# replace those tags with current year month day or hour.
# Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY%MM%DD.log"
LogFile="/var/log/httpd/access_log"

# Put here your log format (it depends on your web server).
# Possible values:
# 1 - Apache combined log format
# 2 - IIS extended W3C log format
#
# for e-smith 1 must be used, awstats-run converts the e-mith combined_virtual to combined
LogFormat=1

# Set this to a directory where you want AWStats to save its working files.
# Need write permissions by web server user (user "nobody" with Unix OS).
# Example: "/tmp"
# Example: "../data"
# Example: "C:/awstats_working_dir"
# Default: "."          (means same directory as awstats.pl)
DirData="/home/e-smith/files/users/admin/home/awstats"

# Relative or absolute web URL of your awstats.pl directory.
# Used only when AWStats is used from command line.
# Default: "/cgi-bin"   (means awstats.pl is in "/mywwwroot/cgi-bin")
#
DirCgi="/cgi-bin"

# Relative or absolute web URL of all icons subdirectories.
# Default: "/icon" (means you must copy icon directories in "/mywwwroot/icon")
#
DirIcons="../../awstats"

# "SiteDomain" must contain the main domain name or the main intranet web
# server name used to reach the web site.
# If you share the same log file for several virtual web servers, this
# parameter is used to tell AWStats to filter record that contains records for
# this virtual host name only (So check that this virtual hostname can be
# found in your log file and use a personalized log format that include the
# %virtualname tag).
# But for multi hosting a better solution is to have one log file for each
# virtual web server. In this case, this parameter is only used to generate
# full URL's links when ShowLinksOnUrl option is set to 1.
# Example: "www.mydomain.com"
# Example: "user.mydomain.com"
# Example: "myintranetserver"
#
{

    use warnings;
    use esmith::ConfigDB;
    my $configDB = esmith::ConfigDB->open or die("can't open Config DB");
    
    my $domain = $configDB->get( 'DomainName' )->value;
    $OUT = "SiteDomain=\"www." . $domain . "\"";
}

# If you want to have hosts reported by name instead of ip address, AWStats
# need to make reverse DNS lookups (if not already done in your log file).
# With DNSLookup to 0, all hosts will be reported by their IP addresses and
# not by the full hostname of visitors.
# If you want to set DNSLookup to 1, don't forget that this will reduce
# dramatically AWStats update process speed. Do not use on large web sites.
# Note: Reverse DNS lookup is done on IPv4 only.
# Note: Country detection can works without reverse DNS lookup if plugin
# 'geoip' is enabled (faster and more accurate than reverse DNS lookup).
# Possible values:
# 0 - No DNS Lookup
# 1 - DNS Lookup is fully enabled
# 2 - DNS Lookup is made only from DNS cache files (if exist)
# Default: 2
#
DNSLookup=1

# AWStats can purge log after processing it. By this way, the next time you
# launch AWStats, log file will be smaller and processing time will be better.
# IMPORTANT !!!
# AWStats is able to detect new lines in log files, to process only new lines,
# so you can launch it as soon as you want, even with this parameter set to 0.
# This parameter doesn't work with IIS (This web server doesn't let its log
# file to be purged).
# The purge of the log file is made only when awstats is runned so you must
# keep your standard scheduler/crontab to purge your log file frequently.
# Possible values: 1 or 0
# Default: 0  (but if you can, set this to 1 to increase speed)
#
# must set to 0 for AWStats on e-smith. DO NO PLAY WITH THIS OPTION
PurgeLogFile=0

# When PurgeLogFile is setup to 1, AWStats will clean your log file after
# processing it. You can however keep an archive file (saved in "DirData") of
# all processed log records by setting this to 1 (For example if you want to
# use another log analyzer).
# This parameter is not used if PurgeLogFile=0
# Possible values: 1 or 0
# Default: 0
#
ArchiveLogRecords=0

#extra config for 6.3
AllowFullYearView=3


# Optionnal setup section (Not required but increase AWStats features)
#------------------------------------------------------------------------

# Set your primary language.
# Possible value:
# 0=English, 1=French, 2=Dutch, 3=Spanish, 4=Italian, 5=German
# 6=Polish, 7=Greek, 8=Czech, 9=Portuguese
# Default: 0
#
Lang=0

# Index page name for your web server.
# Example: "default.htm"
# Default: "index.html"
#
DefaultFile="index.html"

### SkipHosts=
# Do not include access from clients that match following IP address.
# You can also put partial host names but this requires that reverse DNS
# lookup is already done in your server log file.
# Use space between each value and put a backslash before each dot.
# Example: "55\.55\.55\.55 222\.222\.222\.222 abcxyz"
# Default: ""
#
### HostAliases=
# Put here all possible domain names, addresses or virtual host aliases
# someone can use to access your site. Try to keep only the minimum number of
# possible names/adresses to have the best performances.
# Use space between each value and put a backslash before each dot.
# This parameter is used to analyze referer field in log file and to help
# AWStats to know if a referer URL is a local URL of same site or an URL of
# another site.
# Example: "www\.myserver\.com x\.y\.z\.w localhost 127\.0\.0\.1"
#

{
###############################################################
# SkipHosts
# This section could probably be cleaned up/made faster   

    sub mip ($$);
    use warnings;
    use esmith::ConfigDB;

    my $configDB = esmith::ConfigDB->open or die("can't open Config DB");

    my $networkDB = esmith::ConfigDB->open('networks') or die("can't open Networks DB");
    my $skipHosts = $configDB->get_prop( "AWStats", "SkipHosts" ) || '';

    $OUT = "SkipHosts=\"";


    # local IP
    #

    my $localip      = $configDB->get_prop( 'InternalInterface', 'IPAddress' );
    my $localnetmask = $configDB->get_prop( 'InternalInterface', 'Netmask' );

    my $ipskipLocalIP = $configDB->get_prop( "AWStats", "SkipLocalIP" );

    if ( defined $ipskipLocalIP && $ipskipLocalIP ne "no" ) {    # in Beta1 SkipLocalIP="mask" was possible
        my $return = mip( $localip, $localnetmask );
        $allIPs .= "REGEX[^$return] ";

    }

    # local networks
    #
    my $ipskipLocalNet = $configDB->get_prop( "AWStats", "SkipLocalNetworks" );

    if ( defined $ipskipLocalNet && $ipskipLocalNet eq "yes" ) {

        my @networks = $networkDB->keys;

        foreach my $network (@networks) {

            my $type = $networkDB->get_prop( $network, 'type' );
            my $system = $networkDB->get_prop( $network, 'SystemLocalNetwork' ) || '';

            if ( $type eq 'network' && $system ne 'yes') {
                my $properties = $networkDB->get_prop( $network, 'Mask' );
                my $return = mip( $network, $properties );

                $allIPs .= "REGEX[^$return] ";
            }

        }
    }

    # external IP
    #
    my $externalstatus  = $configDB->get_prop( 'ExternalInterface', 'Configuration' ) || 'disabled';
    my $externalip      = $configDB->get_prop( 'ExternalInterface', 'IPAddress' )     || '';
    my $externalnetmask = $configDB->get_prop( 'ExternalInterface', 'Netmask' )       || '';
    if ( $externalstatus ne 'disabled' ) {
        my $ipskipExtIP = $configDB->get_prop( "AWStats", "SkipExternalIP" );
        # If Skip ExternalIP is set to mask
        if ( defined $ipskipExtIP && $ipskipExtIP eq "mask" ) {
            my $return = mip( $externalip, $externalnetmask );
            $allIPs .= "REGEX[^$return] ";

        }

        # If Skip ExternalIP is set to yes then just specific IP
        elsif ( defined $ipskipExtIP && $ipskipExtIP eq "yes" ) {
            $allIPs .= "$externalip ";
        }

    }
    # Always add
    #$allIPs = "127.0.0.1 $allIPs";

    # Escape full stops e.g. \.co\.uk
    $allIPs =~ s/\./\\./g;

    $OUT .= "127.0.0.1 $skipHosts $allIPs";

    $OUT .= '"' . "\n";


###############################################################
# HostAliases

    my $domainsDB = esmith::ConfigDB->open('domains') or die("can't open Domains DB");

    $OUT .= 'HostAliases="localhost 127\.0\.0\.1';

    # push( @aliases, $DynDnsHostname ) if defined $DynDnsHostname;
    # Need to find DynDnsHostname if it exists

    my @domains = $domainsDB->keys;

    foreach (@domains) {

        # Escape full stops e.g. \.co\.uk
        s/\./\\./g;
        $OUT .= " REGEX[$_\$]";
    }

    # needed for IE6 beta
     if ( defined $ipskipExtIP && $ipskipExtIP eq "mask" ) {
         $externalip = mip( $externalip, $externalnetmask );
         $externalip =~ s/\./\\./g;
         $OUT .= " " . $externalip;
     }
     elsif ( defined $ipskipExtIP && $ipskipExtIP eq "yes" ) {
         $externalip =~ s/\./\\./g;
         $OUT .= " " . $externalip;
     }

    # Close the HostAliases line
    $OUT .= '"' . "\n";

###############################################################

    sub mip ($$) {
        my ( $ip, $msk ) = @_;
        ( my @mask ) = split( "[\.]", $msk );
        my $i;

        # AWStats connot handle non-standard netmasks!
        for ( $i = 0; $i < 4; $i++ ) {
            if ( $mask[$i] ne "255" ) {
                if ( $i == 1 ) {
                    $ip =~ s/[0-9]*\.[0-9]*\.[0-9]*$//;
                }
                elsif ( $i == 2 ) {
                    $ip =~ s/[0-9]*\.[0-9]*$//;
                }
                elsif ( $i == 3 ) {
                    $ip =~ s/[0-9]*$//;
                }
                last;
            }
        }
        return $ip;
    }

}

# Do not include access to URLs that match following entries.
# If you don't want to include users homepage in your stats, add "/~".
# You can also, if you want, add list of not important frame pages (like
# menus, etc...) to exclude them from statistics.
# Use space between each value and put a backslash before each dot.
# Do not remove default values.
# Example: "\.css \.js \.class robots\.txt dir/badpage\.html /~"
# Default: "\.css \.js \.class robots\.txt"
#
SkipFiles="\.css \.js \.class"

# Include in stats, only accesses from hosts that match one of following
# entries. For example, if you want AWStats to filter access to keep only
# stats for visits from particular hosts, you can add thoose hosts names
# in this parameter.
# If DNS lookup is already done in your log file, you must enter here hostname
# criteria, else enter ip address criteria.
# The opposite parameter of "OnlyHosts" is "SkipHosts".
# Note: This parameter is not case sensitive.
# Note: Use space between each value.
# Note: ^xxx means hosts starting with xxx.
# Note: xxx$ means hosts ending with xxx.
# Example: "^123.123.123.123$ ^10.0."
# Default: ""
#
OnlyHosts=""


# Include in stats, only accesses to URLs that match one of following entries.
# For example, if you want AWStats to filter access to keep only stats that
# match a particular string, like a particular directory, you can add this
# directory name in this parameter.
# The opposite parameter of "OnlyFiles" is "SkipFiles".
# Note: This parameter is not case sensitive.
# Note: Use space between each value and do not remove default values
# Note: ^xxx means url starting with xxx.
# Note: xxx$ means url ending with xxx.
# Example: "marketing_directory"
# Default: ""
#
OnlyFiles=""


# Add here a list of kind of url (file extension) that must be counted as
# "Hit only" and not as a "Hit" and "Page/Download". You can set here all
# images extensions as they are hit downloaded that must be counted but they
# are not viewed pages. URLs with such extensions are not included in the TOP
# Pages/URL report.
# Note: If you want to exclude your own URLs from stats (No Pages and no Hits
# reported), you should use SkipFiles parameter instead.
# Example: ""
# Example: "css js class gif jpg jpeg png bmp zip arj gz z wav mp3 wma mpg"
# Default: "css js class gif jpg jpeg png bmp"
#
NotPageList="css js class gif jpg jpeg png bmp"


# By default, AWStats considers that records found in web log file are
# successful hits if HTTP code returned by server is a valid HTTP code (200
# and 304). Any other code are reported in HTTP error chart.
# However in some specific environment, with web server HTTP redirection,
# you can choose to also accept other codes.
# Example: "200 304 302 305"
# Default: "200 304"
#
ValidHTTPCodes="200 304"


# By default, AWStats considers that records found in mail log file are
# successful mail transfers if code saved in log file is a valid code (1 for
# sendmail, 0 for postfix).
# Example: "1"
# Example: "0"
# Default: "1"
#
ValidSMTPCodes="1"


# Some web servers on some Operating systems (IIS-Windows) considers that two
# URLs with same value but different case are the same URL. To tell AWStats to
# also considers them as one, set this parameter to 1.
# Possible values: 0 or 1
# Default: 0
#
URLNotCaseSensitive=0


# In URL links, "?" char is used to add parameter's list in URLs. Syntax is:
# /mypage.html?param1=value1
# However, some servers/sites have also others chars to isolate dynamic part of
# their URLs. You can complete this list with all such characters.
# Example: "?;,"
# Default: "?;"
#
URLQuerySeparators="?;"


# Keep or remove the query string to the URL in the statistics for individual
# pages. This is primarily used to differentiate between the URLs of dynamic
# pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as two
# different pages.
# Warning, when set to 1, memory required to run AWStats is dramatically
# increased if you have a lot of changing URLs (for example URLs with a random
# id inside). Such web sites should not set this option to 1 or use seriously
# the next parameter URLWithQueryWithoutFollowingParameters.
# Possible values:
# 0 - URLs are cleaned from the query string (ie: "/mypage.html")
# 1 - Full URL with query string is used     (ie: "/mypage.html?p=x&q=y")
# Default: 0
#
URLWithQuery=1


# When URLWithQuery is on, you will get the full URL with all parameters in
# URL reports. But among thoose parameters, sometimes you don't need a
# particular parameter because it does not identify the page or because it's
# a random ID changing for each access even if URL points to same page. In
# such cases, it is higly recommanded to ask AWStats to remove such parameters
# from the URL before counting, manipulating and storing it. Enter here list
# of all non wanted parameters. For example if you enter "id", one hit on
# /mypage.cgi?p=abc&id=Yo4UomP9d and /mypage.cgi?p=abc&id=Mu8fdxl3r
# will be reported as 2 hits on /mypage.cgi?p=abc
# This parameter is not used when URLWithQuery is 0.
# Example: "PHPSESSID jsessionid"
# Default: ""
#
URLWithQueryWithoutFollowingParameters=""


# Keep or remove the query string to the referrer URL in the statistics for
# external referrer pages. This is used to differentiate between the URLs of
# dynamic referrer pages. If set to 1, mypage.html?id=x and mypage.html?id=y
# are counted as two different referrer pages.
# Possible values:
# 0 - Referrer URLs are cleaned from the query string (ie: "/mypage.html")
# 1 - Full URL with query string is used      (ie: "/mypage.html?p=x&q=y")
# Default: 0
#
URLReferrerWithQuery=0


# AWStats can detect setup problems or show you important informations to have
# a better use. Keep this to 1, except if AWStats says you can change it.
# Possible values: 0 or 1
# Default: 1
#
WarningMessages=1


# When an error occurs, AWStats output a message related to errors. If you
# want (in most cases for security reasons) to have no error messages, you
# can set this parameter to your personalized generic message.
# Example: "An error occured. Contact your Administrator"
# Default: ""
#
ErrorMessages=""


# AWStat can be run with debug=x parameter to ouput various informations
# to help in debugging or solving troubles. If you wand (in most cases for
# security reasons) to disable debugging, set this parameter to 0.
# Possible values: 0 or 1
# Default: 1
#
DebugMessages=1


# To help you to detect if your log format is good, AWStats report an error
# if all the first NbOfLinesForCorruptedLog lines have a format that does not
# match the LogFormat parameter.
# However, some worm virus attack on your web server can result in a very high
# number of corrupted lines in your log. So if you experience awstats stop
# because of bad virus records at the beginning of your log file, you can
# increase this parameter (very rare).
# Default: 50
#
NbOfLinesForCorruptedLog=50


# For some particular integration needs, you may want to have CGI links to
# point to another script than awstats.pl.
# Use the name of this script in WrapperScript parameter.
# Example: "awstatslauncher.pl"
# Default: ""
#
WrapperScript=""


# DecodeUA must be set to 1 if you use Roxen web server. This server converts
# all spaces in user agent field into %20. This make the AWStats robots, os
# and browsers detection fail in some cases. Just change it to 1 if and only
# if your web server is Roxen.
# Possible values: 0 or 1
# Default: 0
#
DecodeUA=0



#-----------------------------------------------------------------------------
# OPTIONAL ACCURACY SETUP SECTION (Not required but increase AWStats features)
#-----------------------------------------------------------------------------

# Following values allows you to disable/enable some AWStats features.
# Possible values: 0, 1 (or 2 for LevelForRobotsDetection)
# Default: 1 (2 for LevelForRobotsDetection)
#
LevelForRobotsDetection=2     # 0 will increase AWStats speed by 1%.
LevelForBrowsersDetection=1     # 0 disables Browsers detection. No speed gain.
LevelForOSDetection=1       # 0 disables OS detection. No speed gain.
LevelForRefererAnalyze=1      # 0 will increase AWStats speed by 5%.



#-----------------------------------------------------------------------------
# OPTIONAL APPEARANCE SETUP SECTION (Not required but increase AWStats features)
#-----------------------------------------------------------------------------

# When you use AWStats as a CGI, you can have the reports shown in HTML frames.
# Frames are only available for report viewed dynamically. When you build
# pages from command line, this option is not used and no frames are built.
# Possible values: 0 or 1
# Default: 0
#
{
    $frames = $AWStats{UseFramesWhenCGI};
    $OUT = "UseFramesWhenCGI=" . ( $frames ne "yes" ? 0 : 1 ) . "\n";
}



# This parameter ask your browser to open detailed reports into a different
# window than the main page.
# Possible values:
# 0 - Open all in same browser window
# 1 - Open detailed reports in another window except if using frames
# 2 - Open always in a different window even if reports are framed
# Default: 1
#
DetailedReportsOnNewWindows=1


# You can add in the HTML report page a delay to force browsers to not use cache
# if page is loaded a second time after this delay (in seconds).
# This parameter is not used when report are built with -staticlinks option.
# Example: 3600
# Default: 0
#
Expires=0


# To avoid too large web pages, you can ask AWStats to limit number of rows of
# all reported charts to this number when no other limit apply.
# Default: 1000
#
MaxRowsInHTMLOutput=1000



# Each URL shown in stats page are links you can click.
# Possible values: 1 or 0
# Default: 1
#
# 0 is recommended for e-smith, since AWStats is invoked over port 980.
# clickable URL are rooted to http://yourdomain.tld:980/, which won't work
#
ShowLinksOnUrl=1

# Flags with link to other languages translation are visible.
# Possible values: 1 or 0
# Default: 1
#
# e-smith: lanuage option offered in the configuration panel
ShowFlagLinks=""

# Search engines keywords reported are full search string or separate keywords
# Possible values:
# 0 - Search keywords reported are full search string (ie: "town maps")
# r - Search keywords reported are separated words (ie: "town" and "maps")
# Default: 0
#
SplitSearchString=0

# You can put here HTML code that will be added at the end of AWStats reports.
# Great to add advert ban.
# Default: ""
#
HTMLEndSection="<table border=0 cellpadding=3 cellspacing=0><tr><td valign=center><font size=-1>contributed rpm by neddix.de dungog.net</font></td></tr></table>"

# Value of maximum bar width/heigth for horizontal/vertical graphics bar
# Default: 260/220
#
{
    $BarSize = $AWStats{BarSize};
    if ( $BarSize eq "small" ) {
        $OUT = "BarWidth = 160\nBarHeight = 120\n";
    }
    elsif ( $BarSize eq "large" ) {
        $OUT = "BarWidth = 360\nBarHeight = 320\n";
    }
    else {
        $OUT = "BarWidth = 260\nBarHeight = 220\n";
    }
}

# This value can be used to choose maximum number of lines shown for each
# particular reporting.
#
# Stats by domains
# NO checks made for these SME keys !!!
{
    $OUT = '';
    $OUT .= "MaxNbOfDomain= " . $AWStats{MaxNbOfDomain} . "\n";
    $OUT .= "MaxNbOfHostsShown= " . $AWStats{MaxNbOfHostsShown} . "\n";
    $OUT .= "MinHitHost= " . $AWStats{MinHitHost} . "\n";
    $OUT .= "MaxNbOfRobotShown= " . $AWStats{MaxNbOfRobotShown} . "\n";
    $OUT .= "MinHitRobot= " . $AWStats{MinHitRobot} . "\n";
    $OUT .= "MaxNbOfPageShown= " . $AWStats{MaxNbOfPageShown} . "\n";
    $OUT .= "MinHitFile= " . $AWStats{MinHitFile} . "\n";
    $OUT .= "MaxNbOfRefererShown= " . $AWStats{MaxNbOfRefererShown} . "\n";
    $OUT .= "MinHitRefer= " . $AWStats{MinHitRefer} . "\n";
    $OUT .= "MaxNbOfKeywordsShown= " . $AWStats{MaxNbOfKeywordsShown} . "\n";
    $OUT .= "MinHitKeyword= " . $AWStats{MinHitKeyword} . "\n";
}


# You choose here which reports you want to see in the main page and what you
# want to see in those reports.
# Possible values:
#  0  - Topic is not shown at all
#  1  - Report is shown with default informations
# XYZ - Report is shown with only informations defined by code X,Y,Z
#       X,Y,Z are code letters among the following:
#        U = Unique visitors
#        V = Visits
#        P = Number of pages
#        H = Number of hits
#        B = Bandwith
#        L = Last access date
#        E = Entry pages
#        X = Exit pages
#        C = Web compression (mod_gzip)
#        M = Average mail size (mail logs)
#
# Show AWStats head title and icon
# Default: 1, Possible codes: None
ShowHeader=0
# Show menu header with links on detailed reports
# Default: 1, Possible codes: None
ShowMenu=1
# Show monthly and daily chart
# Default: UVPHB, Possible codes: UVPHB
ShowMonthDayStats=UVPHB
# Show days of week chart
# Default: PHB, Possible codes: PHB
ShowDaysOfWeekStats=PHB
# Show hourly chart
# Default: PHB, Possible codes: PHB
ShowHoursStats=PHB
# Show domains/country chart
# Default: PHB, Possible codes: PHB
ShowDomainsStats=PHB
# Show hosts chart
# Default: PHBL, Possible codes: PHBL
ShowHostsStats=PHBL
# Show authenticated users chart
# Default: 0, Possible codes: PHBL
ShowAuthenticatedUsers=1
# Show robots chart
# Default: HBL, Possible codes: HBL
ShowRobotsStats=HBL
# Show EMail senders chart (For use when analyzing mail log files)
# Default: 0, Possible codes: HBML
ShowEMailSenders=0
# Show EMail receiver chart (For use when analyzing mail log files)
# Default: 0, Possible codes: HBML
ShowEMailReceivers=0
# Show session chart
# Default: 1, Possible codes: None
ShowSessionsStats=1
# Show pages-url chart.
# Default: PBEX, Possible codes: PBEX
ShowPagesStats=PBEX
# Show file types chart.
# Default: HB, Possible codes: HBC
ShowFileTypesStats=HBC
# Show file size chart (Not yet available)
# Default: 1, Possible codes: None
ShowFileSizesStats=0
# Show browsers chart
# Default: 1, Possible codes: None
ShowBrowsersStats=1
# Show Operating systems chart
# Default: 1, Possible codes: None
ShowOSStats=1
# Show Origin chart
# Default: PH, Possible codes: PH
ShowOriginStats=PH
# Show keyphrases chart
# Default: 1, Possible codes: None
ShowKeyphrasesStats=1
# Show keywords chart
# Default: 1, Possible codes: None
ShowKeywordsStats=1
# Show HTTP errors chart
# Default: 1, Possible codes: None
ShowHTTPErrorsStats=1


# You can set this to use your own logo.
# Logo file must be in $DirIcons/other directory
# Default: "awstats_logo1.png"
#
Logo="awstats_logo1.png"

# Colors used on AWStats report page.
# Example: color_name="RRGGBB"  # RRGGBB is RedGreenBlue components in Hex
#
color_TableBGTitle="CCCCDD"     # Background color for table title (Default = "CCCCDD")
color_TableTitle="000000"       # Table title font color (Default = "000000")
color_TableBG="CCCCDD"          # Background color for table (Default = "CCCCDD")
color_TableRowTitle="FFFFFF"    # Table row title font color (Default = "FFFFFF")
color_TableBGRowTitle="ECECEC"  # Background color for row title (Default = "ECECEC")
color_TableBorder="ECECEC"      # Table border color (Default = "ECECEC")
color_text="000000"             # Color of main body text (Default = "000000")
color_titletext="000000"        # Color of text title within colored Title Rows (Default = "000000")
color_weekend="EAEAEA"          # Color for week-end days
color_link="0011BB"             # Color of HTML links (Default = "0011BB")
color_hover="605040"            # Color of HTML on-mouseover links (Default = "605040")
color_v="F3F300"                # Background color for number of visites (Default = "F3F300")
color_w="FF9933"                # Background color for number of unique visitors (Default = "FF9933")
color_p="4477DD"                # Background color for number of pages (Default = "4477DD")
color_h="66F0FF"                # Background color for number of hits (Default = "66F0FF")
color_k="339944"                # Background color for number of bytes (Default = "339944")
color_s="8888DD"                # Background color for number of search (Default = "8888DD")

# Set here the link used to point to Internet WhoIs database for hostnames.
# This parameter is not used if plugin hostinfo is not enabled.
# Default: "http://www.whois.net/search.cgi2?str="
# Example: "http://www.ripe.net/perl/whois?form_type=simple&searchtext="
# Example: "http://ws.arin.net/cgi-bin/whois.pl?queryinput="
#
LinksToWhoIs="http://www.whois.net/search.cgi2?query_type=right&str="


# Set here the link used to point to Internet WhoIs database for ip addresses.
# This parameter is not used if plugin hostinfo is not enabled.
# Default: "http://ws.arin.net/cgi-bin/whois.pl?queryinput="
# Example: "http://ws.arin.net/cgi-bin/whois.pl?queryinput="
#
LinksToIPWhoIs="http://ws.arin.net/cgi-bin/whois.pl?queryinput="

#-----------------------------------------------------------------------------
# PLUGINS
#-----------------------------------------------------------------------------

# Add here all plugins file you want to load.
# Plugin files must be .pm files stored in 'plugins' directory.
# Uncomment LoadPlugin lines to enable a plugin after checking that perl
# modules required by the plugin are installed.

# Plugin: Tooltips
# Perl modules required: None
# Add some tooltips help on HTML report pages.
# Note that enabled this kind of help will increased HTML report pages size,
# so server load and bandwidth.
#
#LoadPlugin="tooltips"

# Plugin: IPv6
# Perl modules required: Net::IP and Net::DNS
# This plugin gives AWStats capability to make reverse DNS lookup on IPv6
# addresses.
# Note: If you are interesting in having country report, you should use the
# geoipfree or geoip plugin instead of enabled reverse DNS lookup.
#
#LoadPlugin="ipv6"

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increase
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"

# Plugin: GeoIPfree
# Perl modules required: Geo::IPfree version 0.2+ (from Graciliano M.P.)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IPfree module)
# or the GeoIP plugin (need Perl Geo::IP module from Maxmind).
# This plugin reduces AWStats speed of 10% !
#
#LoadPlugin="geoipfree"

# Plugin: GeoIP
# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IP module
# from Maxmind) or the GeoIPfree plugin (need Perl Geo::IPfree module).
# This plugin reduces AWStats speed of 10% !
#
#LoadPlugin="geoip"

# Plugin: UserInfo
# Perl modules required: None
# Add a text (Firtname, Lastname, Office Department, ...) in authenticated user
# reports for each login value.
# A text file called userinfo.myconfig.txt, with two fields (first is login,
# second is text to show) separated by a tab char. must be created in plugins
# directory.
#
#LoadPlugin="userinfo"

# Plugin: HostInfo
# Perl modules required: None
# Add a column into host chart with a clickable link to a popup that show WhoIs
# info, on a popup window.
#
{
    my $hostinfo = $AWStats{Hostinfo};
    if ( defined $hostinfo && $hostinfo eq "yes" ) {
        $OUT = "LoadPlugin=\"hostinfo\"\n";
    }
}

# Plugin: UrlAliases
# Perl modules required: None
# Add a text (Page title, description...) in URL reports after URL value.
# A text file called urlalias.myconfig.txt, with two fields (first is URL,
# second is text to show) separated by a tab char. must be created in plugins
# directory.
#
#LoadPlugin="urlalias"

# Plugin: TimeHiRes
# Perl modules required: Time::HiRes
# Time reported by -showsteps option is in millisecond. For debug purpose.
#
#LoadPlugin="timehires"

# Plugin: TimeZone
# Perl modules required: Time::Local
# Allow AWStats to correct a bad timezone for user of some IIS that use
# GMT date in its log instead of local server time.
# This module is useless for Apache and most IIS version.
# This plugin reduces AWStats speed of 40% !!!!!!!
#
#LoadPlugin="timezone +2"

# Plugin: Rawlog
# Perl modules required: None
# This plugin adds a form in AWStats main page to allow users to see raw
# content of current log files. A filter is also available.
#
{
    my $rawlog = $AWStats{Rawlog};
    if ( defined $rawlog && $rawlog eq "yes" ) {
        $OUT = "LoadPlugin=\"rawlog\"\n";
    }
}

# Plugin: Graph3D
# Perl modules required: None
# Supported charts are built by a nice 3D graphic applet.
#
#LoadPlugin="graph3d"   # !!! NOT YET AVAILABLE !!!



#-----------------------------------------------------------------------------
# EXTRA SECTION
#-----------------------------------------------------------------------------

# WARNING: Extra sections are experimental feature not stable yet !!!

# You can define your own charts, you choose here what are rows and columns
# keys. This feature is particularly usefull for marketing purpose, tracking
# products orders for example.
# For this, edit all parameters of Extra section. Each set of parameter is a
# different chart. For several charts, duplicate section changing the number.
# Note that each Extra section reduces AWStats speed by 10%.
#
# WARNING: A wrong setup of Extra section can result in a too large arrays
# that will consume all your memory, making AWStats unusable after several
# updates, so be sure to setup it correctly.
# In most cases, you don't need this feature.
#
# ExtraSectionNameX is title of your personalized chart.
# ExtraSectionConditionalX are conditions on URL and/or QUERY_STRING and/or
#   REFERER you can use to count or not the hit. Use "|" for "OR".
# ExtraSectionFirstColumnTitleX is the first column title of the chart.
# ExtraSectionFirstColumnValuesX is a Regex string to tell AWStats how to
#   extract the value used for first column. Each different value found will
#   be a different row. Be sure that list of different values is "limited" to
#   avoid "not enough memory" problems !
# ExtraSectionStatTypesX are things you want to count. You can use standard
#   code letters (P for pages,H for hits,B for bandwidth,L for last access).
# MaxNbOfExtraX is maximum number of rows shown in chart.
# MinHitExtraX is minimum number of hits required to be shown in chart.
#

# Example to report the 20 products the most ordered by "order.cgi" script
#ExtraSectionName1="Product orders"
#ExtraSectionCondition1="URL,/cgi-bin/order.cgi"
#ExtraSectionFirstColumnTitle1="Product ID"
#ExtraSectionFirstColumnValues1="QUERY_STRING,productid=([^&]+)"
#ExtraSectionStatTypes1=PL
#MaxNbOfExtra1=20
#MinHitExtra1=1



#-----------------------------------------------------------------------------
# INCLUDES
#-----------------------------------------------------------------------------

# You can include other config files using the directive with the name of the
# config file (like Apache, so you must keep the '#' before 'include').
# This is particularly usefull for users who have a lot of virtual servers, so
# a lot of config files and want to maintain common values in only one file.
# Note that when a variable is defined both in a config file and in an
# included file, AWStats will use the last value read.
#

#include ""

