MTVWebdesign Logness v1.0
For the latest version of the script, click here.
Thank you for your interest in the MTVWebdesign Logness. Please notice the copyright notice in the scripts.
You should be very careful handling CGI files. If you type something wrong, it might be that the script will fail. We take good care of our scripts and all the script we place on the internet are tested. They work for us. If they don't work for you you'll see an error in the browser, sometimes with a detailed message. Read more about such problems by clicking here.
If you are not an experienced perl programmer, we advice you not to edit the code. (Except the things you need to change as described in "Getting the script to work". If you want to become a perl programmer, we advice you to look over as much scripts as you possibly can. This script included! Make sure you keep a copy of the script before you start changing things. Get to know certain routines etc., and visit sites like the MTVWebdesign Perl section, CGI-Resources.com (A lot of scripts and tutorials), Scriptsearch.com and Developer Daily. Also, we advice you too read messages in cgi-newsgroups.
Good luck!
I will try to give as much information as possible about the use of this script. Hope you understand it all. If not, you can always email me at cgi@mtvwebdesign.hypermart.net.
Features
What's new?
Downloading the script
Requirements
Getting the script to work
Demo of the script
Known problems
FAQ
About MTVWebdesign open source
Disclaimer
Features
- Easy to setup.
- No sensetive information is stored in cookies.
- ViewStats script to view your statistics
- Filters: Page hits by day, by page, by month, vistitors by page, day and month, browsers, monitor color depths, monitor resolutions, javascript, cookies, languages, operating systems, IP addresses, referers, Search engines and Mail hosts.
You'll find more information about some of the features in the rest of this page.
Back to top
What's new?
Version 1.0:
- Everything is new!
- After testing some slight changes: better language filtering, better search engine filtering.
Downloading the script
Note: All scripts come in .ZIP format.
Go to http://mtvwebdesign.hypermart.net/scripts/ for the latest version
Back to top
Requirements
You need a server which allows you to execute Perl scripts. (CGI access).
You also need a server which allows you to use Server Side Includes (SSI).
You need a server which allows you to create directories. (Shouldn't be a problem).
Your server needs to have the CGI::Carp module installed. See FAQ's below on how to stop using the CGI::Carp module when you encounter problems.
You need a Cookie capable browser.
You need a JavaScript capable browser to view the statistics.
The script is tested with success on the following system(s):
Pentium 450Mhz (128 Mb RAM), Apache 1.3.9 and Sambar Perl 5 (ActiveState) build 509 (January 4th 1999), Microsoft Internet Explorer 5.0.
Unix, Apache 1.3.9, Perl 5, MSIE 5.0 and Netscape 6.0.
Back to top
Getting the script to work.
Changes in the CGI files
- Please check the first line of all the .CGI files and the dbUnder.lib file. (#!/usr/local/bin/perl). This should be the place where Perl is located on your server. Ask your webmaster for more information.
- In all the .CGI files, you can find the following lines (They might look different in the script):
use CGI::Carp qw(fatalsToBrowser);
require '/home/username/logness/logness.conf';
require $mtvwebdesignlib;
require $dbunderpath;
$dbdir = &dbdir_;
require $dbunder;
These lines are probably the most important. Please make sure that you change them in all the .CGI files!
Now, what you need to do is this: The require '/home/username/logness/logness.conf';
line should point to your config file. Please make sure you use an absolute path (as shown). Ask you webmaster for more information.
Changes in the dbUnderPath.lib file
When you open the dbUnderPath.lib file, you see the following line:
sub dbdir_ { return "/home/username/databases/"; }
You need to change this line to match your directory where you want to store the Logness database. Please note that if you already have a dbUnderPath.lib file on your system, you don't need a second lib. Just make sure that the scripts point to the lib you have on your system.
Changes in the logness.conf file
- $script_location
This should be the URL (http://www.yourdomain.com/scripts/logness.cgi) to the logness.cgi file.
- $config_file
This should be the path to the logness.conf file. For example: /home/username/logness/logness.conf.
- $hosts
This should be the path to the hosts.pl file. For example: /home/username/logness/hosts.pl. New versions of the HOSTS file are available here.
- $mtvwebdesignlib
This should be the path to the mtvwebdesign.lib file.
- $dbunderpath
This should be the path to the dbUnderPath.lib file.
- $dbunder
This should be the path to the dbUnder.lib file.
- $pixel_a
This should be the URL to pixel.gif.
- $pixel_b
This should be the URL to pixel2.gif.
- $border_pix
This should be the URL to border.gif.
- $up
This should be the URL to up.gif.
- $down
This should be the URL to down.gif.
- $servicename
This is the "name" of the server, which is not really important here.
- $servicelocation
This is the location of the service, which is also not really important....
- $hostname
This is the hostname of your server, e.g. www.yourdomain.com or www.host.com/username. This allows us to filter the referers so we know if a person came from a page outside your site, or a page inside your site.
- $logo
This is the URL to the logo.gif file. Please leave the logo.gif file in tact.
- $num_days_log
This is the number of days which the script remembers. For example, if you have this option set to 2, and today it's Sunday, you can still view the statistics for Friday, but no longer for Thursday. Please note that you need 1 visitor a day to delete the old files. Shouldn't be a problem right?
- $num_months_log
This works the same as the option above, only now for the months tables.
- $webmasterpass
This is your password to view the statistics. You can change this password when you view the statistics. Make sure to use the Encrypt Password option.
- 1;
Don't delete this line....
Uploading the files
First: Be sure to have the read-write-execute permissions on the directory where you want to place your CGI script. Make sure this directory is CHMOD 777. Than create a second directory where you want the databases to be placed. (Specified in the dbUnderPath.lib file). Make sure this directory is also CHMOD 777. See the FAQ for more information about CHMOD
UPLOAD IN ASCII FORMAT!
- logness.cgi
Upload this file to the place specified in $script_location. CHMOD the file 755.
- viewstats.cgi
Upload this file to any place where you can execute it. CHMOD the file 755.
- logness.conf
Upload this file to the place specified in each .cgi file under "require". CHMOD 777.
- mtvwebdesign.lib
Upload this file to the place specified in $mtvwebdesignlib. CHMOD the file 777.
- dbUnderPath.lib
Upload this file to the place specified in $dbunderpath. CHMOD the file 777.
- dbUnder.lib
Upload this file to the place specified in $dbunder. CHMOD the file 777.
TIP: Store your library files in a different directory, so you can use them with other scripts too!
- Image: Upload the images in BINARY format to the correct locations you specified in the logness.conf file.
How to use the LogNess script
The script makes use of Server Side Includes which you need to place in the source of you HTML pages. On some servers you are required to change the extentions of pages with SSI to .shtml instead of .html.
The Sytax looks like this:<!--#include virtual="/cgi-bin/logness/logness.cgi"-->
assuming that your script is in a directory like: http://www.yourdomain.com/cgi-bin/logness/logness.cgi. You can use the code above on every page since it'll look for the document root which is http://www.yourdomain.com/.
How to use the ViewStats script
This is really easy. Just type the URL to the viewstats script in your Location bar of the browser, and you'll get the login page for the script. Enter your password specified under $webmasterpass. Press the submit button. You'll get to the main page where you can choose several options.
Because it's not very safe to set a password as plain text in a text file, we created an option on the webmaster main page to change that. You'll see it when you get there. USE IT!
How to use the Hosts.pl file
The hosts.pl file has all kind of information of search engines and mail hosts. Updated versions of the hosts.pl file are available here: http://mtvwebdesign.hypermart.net/scripts/logness/.
When you see an URL in your referers section which you identified as a mail host or search engine by clicking on it, we ask you to send this URL to the following email address: logness@mtvwebdesign.hypermart.net.
Adding Search engines
As you see in the hosts.pl file there is a hash called %engines. This is the has of all the search engines. They have the following structure:
"www.hostname.com","Name of engine||query_string",
The hostname is the hostname of the search engine, e.g. www.altavista.com, or 201.134.5.123. Please note that some search engines also have homepages where people might link to you, so you can also add: www.members.com/search for example.
The Name of engine is simply the name of the search engine, e.g. AltaVista, MetaCrawler, etc. After the name are 2 pipes (||), after which the query word in the string of the URL comes. Most of the time there is such a word, sometimes not. If not, leave this option empty. If there is one, we advice you to add it, because that way we can supply you with a list of search engines and the words people used to find your site.
Adding Mail Hosts
This works exactly the same as the search engines, except that there is never a query string involved....
Back to top
Demo of the script
Although we do use the script on our own server, there isn't really a demo available to you, since the viewstats.cgi file is password protected.
Back to top
Known problems
No problems on my computer and server.
Back to top
FAQ
What is CHMOD?
CHMOD is changing the attributes of a file. (UNIX systems only.). You should do that when you have uploaded the file, or create a new directory. Most FTP clients (like WS_FTP and BulletProofFTP) have the feature, only they call it CHANGE ATTRIBUTES and won't really show number but instead they show READABLE, WRITEBLE and EXECUTABLE. You can find out what you need to do by using this:
BinaryDecimal
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7
r = readable
w = writeble
x = executable
So to set the permission above, "rw-r--r-x", on the file "test.txt," you would figure out the decimal first:
rw- r-- r-x =
110 100 101 =
6 4 5
I get a 501 Internal server error. What should I do?
Well, you have a problem there....
What you should do first is checking if you uploaded the CGI file in ASCII format and not in BINARY format.
If that doesn't work, check if all the permissions (CHMOD) are set right.
If that doesn't work, check the server error log. Ask your webmaster for more information
I cannot use CGI::Carp, how do I disable CGI::Carp?
The CGI::Carp modules may come in very handy when you are a beginner with Perl, since it outputs error messages to the browser instead of to the server error log. Anyway, to stop using the CGI::Carp module, open all the .cgi files, and find this line:
use CGI::Carp qw(fatalsToBrowser);
You need to comment this line, by placing a "#" in front of the line, so it'll look like this:
#use CGI::Carp qw(fatalsToBrowser);
or you can delete the line. The script won't use the module now.
What does "premature end of script headers mean"?
You probably uploaded the file in BINARY format. This should be ASCII format.
If that doesn't work, you should check the things you have changed in the script:
Is there a ";" at the end of lines? Are there any missing quotes (")? Etceteras.
How do I use a tokenfile?
First, take a look in the source of tokenfile.html. This is a page which has a tag in the source, which you cannot see when you view it in the browser. The tag is <!-- TOKEN --> (specified in setup.txt at $token). When you select that you want to use a template, Chat with me! will look for the $tokenfile (tokenfile.html) and that it 'll
search for the $token. If it finds the token (WHICH NEEDS TO BE PLACE ON A SEPARATE LINE IN THE SOURCE OF THE HTML DOCUMENT!), it'll print it's output at that spot in the html document. This way you get your own nice layout for the Chat with me! service!
TIP: Try to use STYLE tags in the $tokenfile!
Back to top
About MTVWebdesign open source.
MTVWebdesign open source means that if you make a change to the script which you think makes the script run even better, we would like you to sent the change to us. This way, we can keep providing better and better scripts. Your help is very important.
We particularly point out our use of the English language. Since English is not our first language, we cannot make sure that there a no misspellings in the code.
If your made a change which you think makes the script run better, please email the change (script) to opensource@mtvwebdesign.hypermart.net
Back to top
Disclaimer
By using this code you agree to indemnify Maarten Veerman and MTVWebdesign from any liability that might arise from its use.
MTVWebdesign is not responsible for improper use of this script.
Copyright © MTVWebdesign 2000. Selling the code is prohibited.
Back to top
Copyright © MTVWebdesign scripts 2000.