* First STAGE : IIS 7/8 requirement
- IIS 7.0 and beyond should first enable the IIS 6.0 metabase
compatibility (the install script require ADSI)
- CGI component should also be
installed.
More informations about adding IIS 6.0 Metabase Compatibility and CGI in IIS 7.0 :
- Step
by step install for ADSI on Windows Server
- How to install FastCGI (idem for CGI)
* 2nd STAGE : Installation
- Run w3perl-iis.exe
Installer will check :
- if Perl have been installed first.
- if IIS is running.
- if Metabase compatibility have been installed for IIS > 6.0
- if a previous version of W3Perl is found, it will update the package
* 3rd STAGE : Build configuration file
- Password protect the admin section (/w3perl/admin/), this is the place where you will manage your stats. If php is available, you can also edit the /admin/pass.txt file to add a list of allowed IP
- Now use your opened browser to http://127.0.0.1/w3perl/admin/ to manage configuration files.
- Default configuration file is provided for IIS :
config-iis.pl. You should be able to use it without any modification as the installer read the IIS
metabase to extract data (logfile format, domain name ...)
- If you want to make some modifications (for instance changing thresholds), select Modify a config and select the config-iis file.
- If you want to build your own configuration file from scratch, click on Make a new config and follow the procedures outlined. By filling in the details you will create a file called config.pl. You can also choose to 'clone' the config-iis file if you just need to change few fields.
* 4th STAGE : Ready
- You should now be able to analyse your logs.
- You can run the stats either from a web interface or the 'Start Menu'. Choose one and use always the same way.
If you choose the web admin, logfiles should be readable by the web server (add IUSR_[your server name] user in Security on your logfile directory) and
output directory should be writeable by the server.
1) Web interface : Nicer but you could receive a server timeout (W3Perl set the value to 10 hours).
a) In admin go through the Immediate Launch which allow to compute the stats.
b) Select the IIS configuration file
c) Then click on the 'Init all stats' icon.
2) Windows Menu : Faster but more difficult to catch errors/warnings
a) Select 'Start Menu -> Program -> W3Perl -> Init'
- In order to watch the ouput, go back to the administration interface and select the View stats
- You can use the command at to schedule the stats to update, add the command 'cron-w3perl.pl -e -c <configfile>' to run daily. If you have previously ran the stats from the web update, make sure 'at' command will be launch from the IIS user (IUSR_[hostname])
* IIS logfile
Default IIS logfile format is rather poor. It does not include any
data about agent, referer and traffic which are very useful. I suggest
you to alter your logfile format using the IIS administration tool to
add these extra data. Best would be to use the W3C format.
* Problem ?
If you have any trouble with w3perl, please check installation was successful. Edit the /w3perl/Config.txt files.
This is the configuration parameters which are used for w3perl installation.
Check the following points :
- Make sure Perl is enabled
: IIS6 on Windows 2003
/ IIS7
on Windows 2008
/ Perl and IIS
- Use ActivePerl rather than Strawberry Perl
- When trying to run cgi, you get "HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and
CGI Restriction list settings on the Web server" => In ISAPI and CGI
Restrictions, Right-click the restriction that restricts the
requested ISAPI resource or the requested CGI resource and then click
Allow.
- If you are using the web interface to build config files :
=> make sure /config/ and /resources/admin/ are writeable by the IIS user (IUSR_[hostname])
- If you are using the web interface to run the stats :
=> make sure cmd.exe could be run from the IIS user (IUSR_[hostname]) or don't use
the master script (which fork w3perl's scripts).
=> The logfile should be readable by IIS user or the script will not find any logfile
=> Your output directory should be writeable by IIS User or the script will not be able to modify
the files produced.