WWWCOUNTER 2.3 (C) 1996 by Muhammad A. Muquit Ported for the Amiga by Bert Vortman. **** BINARY DISTRIBUTION **** Copyright: Copyright 1995-1996 by Muhammad A Muquit. Permission to use, copy, modify and sell this program for any purpose is hereby granted without fee, provided that this copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. If the program is included in a book, publication or in a software distribution media for sale, the author must be notified about it. No binary only distribution is allowed. All distributions must include the source and this copyright notice. THIS PROGRAM IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR Muhammad A. Muquit BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. For questions about the program, mail to: ma_muquit@fccc.edu For questions about the Amiga Port: albertv@spinnewiel.xs4all.nl REQUIREMENTS ------------ - Ixemul.library v46 from http://www.ninemoons.com if you run AWS If you run Apache, do nothing, you must have the correct version of ixemul already. - Fileutils-3.15.lha from http://www.ninemoons.com - Static IP address. It is impossible to use it with a dynamic connection. - Apache httpd from www.dsdelft.nl/~apache or AWS httpd from www.omnipresence.com/AWS STEPS TO INSTALL THE BINARY DISTRIBUTION ---------------------------------------- Installation is easy but you have to take care of some permissions even if you don't run multiuser. In my experience it is not always necessary to chance permissions. But sometimes files do need a change of ownership/permissions, sometimes not. So, I've decided to do it all the time, it gives less problems. But feel free to experiment and see if it is necessary or not. It's maybe handy to download the fileutils-3.15.lha from www.ninemoons.com. You can find a chown and chmod program to set the permissions for your files. STEP 1 ------ Running Apache: --------------- If you are running apache, do nothing. Just make sure that you run the wwwcounter as the user/group which runs the httpd. Make sure that all files after installing run under this user/group (especially in the data directory) Running AWS: ------------ Add a user & group to Miami or Amitcp, something like: user : httpuser group: daemon Make sure that you have installed the fileutils-3.15-bin.lha from www.ninemoons.com. You need especially the chmod and chown program. It is strange for Amiga users to use these chmod and chown programs but it is necessary, otherwise the wwwcounter won't run. Make also sure that all files (after compilation & installing) have the same owner & group ownership as the ones you just added to the users of your server. STEP 2 ------ * First of all you need an assign to the Apache directory. So add this to your user-startup: assign APACHE: (If you run AWS, you still have to assign APACHE: to your AWS directory) STEP 3 ------ * Unpack the wwwcounter2.3-bin.lha archive to the apache: directory: lha x -x -m -a wwwcounter2.3-bin.lha APACHE: STEP 4 ------ * Enter your cgi-bin directory, You should find a Count.cgi program there. * do a chown : Count.cgi * do a chmod 755 Count.cgi STEP 5 ------ * Enter the Counter/conf directory, you should find a file Count.cfg: So startup your texteditor and change it: (If you have sh installed, then you can use the Gen-Conf program. You can find the resulting count.cfg file in the same directory as the Gen-Conf program) ####### # configuratin file for Count 2.3 # Automatically generated from user input by the script Gen-conf # Created on: Fri May 16 13:17:41 GMT 1997 # Edit by hand, if you need to add something ############################################## #### # BLOCK 1 # Allow automatic datafile creation or not # it's a required block. 1 means allow, 0 means do not allow. #### { 0 } Allow automatic datafile creation means that everyone who wants to use your counter from your server can do that. A data file in the Counter/data directory is automatically created if it does not exist. It means also a great deal of hits to your site when it becomes known to the public that you have such a free counter :). Allowing users to create a datafile is very convenient, as you do not have to be asked all the time when someone decides to use the counter. So, it's wise not to allow it and keep this at zero. But the decision is yours. ### # BLOCK 2 # run the program in strict mode or not. # it's a required block. 1 means strict, 0 means not strict. ### { 0 } Now you need to decide if you want to use the program in strict mode. If you use the program in strict mode, the browsers which do not return the environment variable HTTP_REFERER, will not be served, that is no access hit will be recorded, no time or date will be displayed. Instead, a string 888888 will be displayed. The strict mode ensures that your counter data file can not be messed up by accessing the counter remotely from a browser which does not return that variable. Note, good browsers like netscape returns this variable. Other browsers e.g. Mosaic does not return this variable in IMG GET method at this time. This strict mode is experimental at this time! (so it's wise to leave it zero, but experiment). #### # BLOCK 3 # Allow to use RGB color database. 0 means allow, 1 means don't # allow.convenient to use because colorname e.g., red, gold etc # can be used instead of rgb components of the color, however it's # very inefficient to lookup. #### { 1 } Ok, do you want the users to use the file rgb.txt for color name lookup? It is very inefficient to search this file every time the web page is loaded. If you answer yes, the color name will be looked up and used. If you answer no, the color will be looked up but instead of the counter image, the RGB value will be displayed and the user will be asked to use the RGB value instead. This will prevent users to use this file. However, the convenience of allowing to use rgb.txt file is that color name e.g, red, gold etc. can be used instead of cryptic red, green and blue components of the color. #### # BLOCK 4 # Ignore count block, you might want to ignore the local sites. # If you do not want to ignore any hosts from # counting, just put { on one line and } on the next line but make sure # the braces exist! # It's a required block. ###### # netmasks can be used to ignore a entire network or a specific # range of hosts in the network. Read the counter documentation to # know about netmasks. { } Any number of hosts can be ignored from counting. A netmask can be used to filter out a specific range of host in a network or to filter out the entire network. READ the Count.html file BEFORE changing this variabele! #### # BLOCK 5 # Auth block # All possible names and IP addresses by which your host can be referred. # These hosts can access the counter remotely or locally. Host running # the http server must exist here. ## { myhost.xs4all.nl myhost 0.0.0.0 } Here you MUST enter your own domain name and IP address at the appropiate place. * do a chown : count.cfg * do a chmod 664 count.cfg STEP 6 ------ * do a chown : [filename] for all files in the remaining directories of the Counter directory. * do a chmod 644 for all files in the digit directory * do a chmod 664 [filename] for all files in the remaining directories of the Counter directory. You have to do this also when you add a datafile to the data directory. STEP 7 ------ Test the program from your browser. So, copy the countexample.html file in the public directory to a place where you want it, startup Apache or AWS, start your browser and type: http:///countexample.html (or where ever you put it) This is how it looks like: A counter example The string between ? and " is called the QUERY_STRING. Make sure there is no newlines in the img src= line and no space in the QUERY_STRING. Here in, df=sample.dat, df means datafile and sample.dat is the counter datafile. The counter stores the hits in this file. This datafile is supplied. If you configured the counter to allow automatic datafile creation (look at count.cfg file), you can specify a datafile with df like df=count.dat. The file count.dat will be created for you if the permission to the data directory is correct. If you configured not to allow automatic datafile creation (good thing), you have to create this file in the data directory. Start your texteditor, type: 0 and save it as: count.dat in the data directory. And chown to the user & group of the wwwcounter. ie: chown user:group count.dat chmod 664 count.dat The counter program has lots of options, you can make it work and look the way you desire. In the query string, you can use the options as described in the docs/Count.html file. If you have any questions about compiling the wwwcounter mail to: albertv@spinnewiel.xs4all.nl All options of the Unix version are available in the Amiga version. happy html'ing, Bert Vortman