Documentation
DBAY AUCTION SOFTWARE

 


WARNING - THIS IS FARILY ADVANCED CGI CODE

Our support policy confines us to answering SPECIFIC questions about the installation.  We do not teach perl, systems configurations or unix as part of the membership.   If you require this level of support you will have to pay for installation.   Feel free to give it a shot - if you have the time and like to learn you are on the right page.  For more information regarding support policies read the FAQ.  If you prefer to have the system installed for you simply contact PSYBERCORE to have this arranged.

Preleminary Material for review

System Requirements

  • Perl 5
  • Mysql Database Software
  • Msql-Mysql Module
  • DBI Module
  • SSLEAY/Open SSL required for using port 443
  • Sendmail
  • Crontab Recommended to use bulk email feature
  • Supports Authorize.net Version 3.0 or Syntax Verification
  • Unix, Linux or NT Operating System
  • Secure Webspace with CGI Capability Recommended
  • Online merchant account required for real time validation

Preliminaries

  • Determine the path to PERL 5 on your web server host.  Note that some web hosting companies run both PERL 4 and PERL 5.  Make ABSOLUTELY sure you are not setting this up under PERL 4.  Ask your administrator if you are not sure.
  • If you need to review or learn the basics of CGI and Perl visit the tutorial
  • Download the tarfile for this program and save it to your desktop. 
  • Unpack the tar archive on your desktop using a program that unpacks UNIX TAR ARCHIVES. If you don't have such a program then download WINZIP FREE from SHAREWARE.COM
  • After you have unpacked the TAR archive you will have a collection of folders and files on your desktop.  Now you have to do some basic editing of each of these files (or at least some of them).  Use a text editor such as wordpad, notepad, BBEdit, simpletext, or teachtext to edit the files.  These are NOT WORD PROCESSOR DOCUMENTS they are just simple TEXT files so don't save them as word processor documents or save them with extentions such as .txt or they will NOT WORK.   Note that there may be a some files inside of folders which are "blank".   This is normal.

Preparing the CGI scripts

Define Path To PERL 5

The first step is to open up each and every file that has a .cgi extention and edit line number one of each script.  Each of the cgi scripts is written in perl 5. For your scripts to run they must know where perl 5 is installed on your web server. The path to perl 5 is defined to a cgi script in the first line of the file. In each of the cgi scripts the first line of code looks something like this:

#!/usr/bin/perl

If the path to perl 5 on your web server is different from /usr/bin/perl you must edit the first line of each cgi script to reflect the correct path. If the path to perl 5 is the same no changes are necessary. If you do not know the path to perl 5 ask the webmaster or system administrator at your server site.  

Configure the .cgi files

configure.cgi

This is the entire cgi.  There are several variables to edit, all of which should be pretty straightforward.  You will create a SINGLE configure.cgi file but you will upload 2 COPIES of it

  • $localurl = "http://www.yourdomain.com/";
  • $datadirectory = "/path/to/cgi-bin/dbay/data";
  • $cgiurl = "http://www.yourdomain.com/cgi-bin/dbay";
  • $mysqldatabase = "name of mysql database";Name of your mysql database. If you are using a seperate mysql server Set $mysqldatabase to databasenameServername
  • $mysqlusername = "mysql username";
  • $mysqlpassword = "mysql password";
  • $mailprogram='/path/to/sendmail';
  • $adminemail = "you\@yourdomain.com";
  • $nopic= "http://www.yourdomain.com/dbay/pix/nopic";
  • $icon ="http://www.yourdomain.com/dbay/pix/icon.gif";
  • $registrationurl = "http://www.yourdomain.com/dbay/index.html";
  • $increment = 2;   (this is the bid increment that is forced by the system) next bid must be $2 higher

Prepare your cgi-bin directories and upload files

Create the following directories inside of your cgi-bin and upload files as indicated below.  Note that the configure.cgi file is used TWICE - its the EXACT same file just upload 2 copies as shown below.

  • /cgi-bin/dbay/
    • bid.cgi
    • comment.cgi
    • configure.cgi
    • feedback.cgi
    • forgot.cgi
    • getcloseditem.cgi
    • getitem.cgi
    • modify.cgi
    • premodify.cgi
    • register.cgi
    • search.cgi
    • searchcategory.cgi
    • sell.cgi
  • /cgi-bin/dbay/data
    • header.html
    • footer.html
  • /cgi-bin/dbay/admin
    • admin.cgi
    • close.cgi
    • configure.cgi
    • deleteitem.cgi
    • modify.cgi

The rest of the files

Now create 2 more directories and upload files as follows

File Access Permissions

File access permissions must be set correctly for this program to run.  You must set the access permissions for each of these files.  Set all the .cgi files to 755.   Set all the rest to 777.

Misc Notes

Charging your clients for selling items   This system is setup to charge your users to sell items only at the time they PLACE the item up for bid.  Future modifications will also do additional processing on closed items but this version does NOT.  By default this is setup to only check the syntax of the credit card.  The authorize.net routines are in place if you change $validation to realtime they will be called.  You may require a programmer to complete this interface however depending on your system configuration.

Closing Auctions   A crontab file must be setup to automatically close items.  Setup an hourly crontab to execute close.cgi.  Make sure you change all required libraries by their full paths.

End of Auction    At the end of the auction the item will no longer be available by searching the database.   Email notices are sent to the winner and the seller so they can contact each other and complete the sale.  A closeditem url is created if either requires it.

Feedback   Users may leave positive/neutral/negative feedback about any other user.  If you click on the username you will be able to see that users feedback profile.

More on running the system

For more information interfacing to authorize.net See the authorize.net documentation for any confusion regarding the structure/syntax of the form fields and their required values.

To add or modify categories all you need to do is change the dropdown menus on the search form, the sell form and header.html.   If you are going to let people browse by category with the text links you need to make analogous changes there.