- Customisation
> I would like to replace the logo in the W3Perl homepage, how do I proceed ?
This image is located in $drawstat variable , the file is /resources/stats.gif, you'll need to put your image with this name in /resources/.
Take care about the width and height attributes, you may also need to
change them in cron-pages and cron-inc if your image have a different size
> I don't have any graphs in the HTML pages. What's wrong ?
Something is missing....make sure you have fly somewhere in your system. Check also the path for Fly in your config.pl file.
> I would like W3Perl to output reports in my own language
Everything is located in the /resources/lang/ directory. Copy the uk.pl to
another file to replace the second part of each line with your own words.
When everything have been done, contact me to include your work in the
next release.
> I would like to use my own background image
In the administration interface, you can choose to use a background image file. There are
three way to fill the field :
- Use an URL like http://www.foo.com/background.gif
- Use an absolute link to your website like /background.gif
- Put your background file in the W3Perl resources directory (default is paper_background.gif)
- Installation
> Can I use W3Perl with my virtual server ?
Of course you can. You just need one separate configuration file for
each of your server. W3Perl will load your configuration file and save data for
each server according to your configuration choices. W3Perl need to be
installed only once.
> Can I install all the package in my cgi-bin ?
No, part of the package need to be located in your webserver tree. This
include HTML files for documentation or graphics files.
> I would like to install W3Perl on my provider. What do I need ?
You'll need to use the 'provider' installation. First ask your
provider if you have a cgi-bin directory (are you allowed to launch
scripts ?), where are located the logfiles (access to data), where is Perl (is
Perl installed ?) and your server path (where your server have been installed).
> Your configuration file seems to be too complex for a beginner like me.
Use the administration interface. If you find something unclear, ask me and
I'll add a javascript help.
> Could you install the package for me ?
I'm sorry but I can't do that for free. The package is provided free so
I'm asking for a small fee if you really want I spend my spare time
for you.
> Can I install W3Perl on a standalone PC without any server running ?
Yes, no problem but not easy.. First, you'll need to download the Unix package instead of
the Windows package. The later need to find a webserver to install. Then forget about the
administration interface which is build around cgi (and which need a server to run).
Uncompress and untar the package where you want. Edit the fixperlpath.pl
script to modify the $pathe3perl path (forget other path) and run it. Of course you
need to have install ActivePerl !
Second, find the config-iis.pl configuration file inside the config directory and modify it
with your own windows paths. Then run cron-pages.pl -c config-iis.pl to init the stats
followed by the others scripts.
(if you use Reverse DNS, your computer should be connected to Internet to
make request to a DNS server)
> When using the RPM package, I have the following server error : "Forbidden - You don't have permission to access /cgi-bin/w3perl/confstat.pl on this server". What's wrong ?
It means you can't use cgi on your server. In order to be able to use them, edit your httpd.conf and add these two
lines 'Order allow,deny' followed by 'allow from all' in the <Directory /var/www/cgi-bin> directive.
> Why can't I use the latest Fly 2.0.0 ?
The latest Fly is based on the latest gd1.8 which don't have anymore support for GIF output. Fly 1.6.5 is the
latest package which support GIF output.
- Logfile
> I've changed my webserver logformat from CLF to ECLF
Good idea ;) You'll need to modify your configuration file. Just specify ECLF instead of
CLF !
> I was using ECLF format but now I'm using Squid which can only output CLF logfiles.
Squid store referer and agent logfile in separate files. So you'll need to modify your
configuration file in order to give W3Perl the location of these files. That's all you
need to modify. The main stats will still parse your logfile as ECLF but will ignore
the missing data.
> Any support for Webstar or FTP logfile format
Well, I need documentation for those logfiles. If you want I add support for Webstar or
any other FTP server, please, send me logfile format and few examples.
- Setup
> W3Perl is unable to open the log file...
The httpd log file should be readable by users (but not writeable
of course !). Ask nicely your admistrator system to rectify this.
A 'chmod 644' on the log file is enough to run W3Perl.
> I can't run the stats from the web interface
The output directory should be writeable by the server, and usually
the user which run the server have the fewer privilege. Create the
output directory manually and change the permission owner to able your
server to write in.
Another problem could arise if you run a scripts at the command line
with your account and try then to launch the script from the web
interface. People have more privilege than the web user so from the
web interface, the script won't be able to read/write your own file.
> There are several text holes in the countries list. Why ?
There are missing country codes in the file "pays-conv" (found in the resources directory). Run the
cron-inc.pl manually or delete the redirection output "> /dev/null 2>&1"
in the crontab, it will inform you about the missing codes. Mail me
about this and I'll fix this ASAP.
> I don't find my hosts server in the file produced. Why ?
* You should first scan your local domain ($locallog = 1).
* Maybe have you put your host in the nolog option ? Remove it so.
* Or maybe your host don't have a right reverse DNS table. In this case,
you should find your host in the unknow country list.
* The package assume name site are no longer than 9 fields.
> I've choosen to log the domain activity but the package show no activity from my domain accesses.
Well, two possibilities : nobody use your server from your
local domain or maybe you have made a mistake in the $localserver
variable. Check this.
> Cron-pages.pl stop telling me nothing will be output
* Check your $tri variable. It should be "/" if you want to scan all
your log file or a subdirectory to scan only a part of your log file. Perhaps
you try to scan the logfile with a directory you don't have in your server.
* Maybe you are excluding all your server from being scanned ! Check @excluderepert in
config.pl
* Log file should be more than one day long to run cron-pages.pl.
Wait the next day to have a bigger logfile.
* If you are using a one day long logfile.
You should use W3Perl in this way :
First day : at midnight, move your logfile to logfile.old and then use
cron-pages.pl on logfile.old
Day + 1 : at midnight delete logfile.old, move the current logfile to logfile.old and run
cron-inc.pl
Day + 2 : same as day + 1....
> No files are produced.
Are your directories writeable ? Have you selected one language ouput in @lang ?
> The initialisation is very slow (cron-pages.pl)
Check your configuration file. Avoid to use the reverse dns option as each
lines of your logfile could take seconds to proceed ! If you have large
logfile, use a precision level lower (from 4 to 3). You can also
compress your logfile to speed up computation.
> I just need to run stats between two date or I want stats about a specific day
Use cron-page.pl -s <date1> -r <date2> where date1 and date2 have the following syntax : <day>-<month>-<year>
(day, month and year are two digits number).
Use cron-inc.pl -j <date> where date have the following syntax : dd/Mmm/yyyy
dd is the day in two digits format, Mmm is the month with first letter upper and yyyy the year in
a 4 digits format.
> The daily graph show me only few days ago but I would like to view stats deeply in the past.
Use cron-day.pl with the -d flag. Specify the number of days you want to get
back in past.
> I would like to exclude stats from some countries.
In your configuration file, your should add in the @nolog variable, the name
of the countries you want to exclude. (@nolog = ('.fr') to exclude french accesses)