Membership Management CGI SQL installation documentation

Help for setting up the Membership Management SQL script

top
Introduction

For the YourDatabaseName, you find this term in this documentation and all the forms.

The YourDatabaseName is the $sql_member_base in the main.cfg, a "_" and the name from the member database you created in the administrator script. If in the main.cfg the $sql_member_base is members and your member database is scripts, than is the YourDatabaseName members_scripts. You can find this name in the administrator script after the login, by Select your database.

You need to change this in all the forms. Look for follow the lines in the forms.
<!-- change the value to the members database YourDatabaseName -->
<input type="hidden" name="database" value="YourDatabaseName">
And change the YourDatabaseName in your member database name.

After you have installed the script, the only thing you need to do for to add a new member page is. Create a new member database in the administrator script. Copy the forms to a other place and change the YourDatabaseName in the forms. Upload the .htaccess file to the directory you want to password protect.


top
Version

Program Name : Members Admin CGI SQL
Version : 2.6 Build 2
Last Modified : 20 Mar 2008
Made : 100% Hand made


top
Features

  • Password protection from your web site.
  • MySQL database driven.
  • AuthType Basic password protection.
  • AuthType Digest password protection.
  • AuthType MySQL password protection.
  • Script can be used for commercial use and non-commercial use.
  • Multiple memberpages with their own AuthType.
  • Every memberpage have their own configuration.
  • Multiple Administrators (require .htaccess password protection for the admin.pl script).
  • Processing credit cards by Authorize.net, Itransact.com and Pincode System.
  • Automatically approve paid members.
  • Once membership time expires the script will remove the membership.
  • Addition from members by the administrator.
  • Unlimited custom form fields.
  • Removed members are saved in different database (table).
  • Fast form fields checking.
  • Option for auto approve members.
  • Mass mail to members, awaiting members and removed members.
  • Use off the membername, password, email, name... in all the email's.
  • Automatic addition and deletion to .htpasswd or .nsconfig files.
  • Form fields checking.
  • Find automatic members account for lost user name and passwords.
  • Full search for members, awaiting members and removed members.
  • Logs info about the good and the bad logins.
  • Tracks sharing passwords and log them out.
  • Custom password and member name size.
  • Include a install script


top
System Requirements

A Unix (linux) web server.
Perl Version 5 or higher.
A web server that is compatible with Apache version 1.3 or higher (most are).
A web page that allows custom CGI.
The ability to write custom .htaccess files.
A program on the web server like sendmail.
For tracking good logins and sharing passwords SSI.

An MySQL database.
Module DBI and DBD::mysql
For MySQL database authentication mod_auth_mysql v2.20.


top
Main Config

The first thing you need to do is edit the configuration of the /config/main.cfg.

Open the main.cfg in your favorite text editor.
And follow the instructions in the file.

The rest off the configuration can be done in the Administrator Config Menu in the administrator script. Where you can edit the separated configuration for every member database. You need first make the member databases in the administrator script after the installation.


top
Installation and File uploading

Open the /admin/admin.pl, form.pl, guard.pl, find.pl, update.pl, online.pl, approve_authorize.pl and the approve_itransact.pl files with your favorite text editor.
And look for the first line.
#!/usr/local/bin/perl
If needed change the path to Perl.

Make a directory in your cgi-bin directory something like members. Upload everything in the same context to your /cgi-bin/members directory. Upload everything in ASCII mode except the images upload the images in BIN mode (be sure of that other why the script is not working).

Note : For the Windows users. Auto detect is many times not good working.

top
Files and Permissions

For the /members directory chmod 755

For the files in the /members directory
guard.pl chmod 755
form.pl chmod 755
find.pl chmod 755
update.pl chmod 755
approve_authorize.pl chmod 755
approve_itransact.pl chmod 755
crontab.pl chmod 755


For the /lib directory chmod 755

For the files in the /lib directory
add_member.pl chmod 755
admin_html.pl chmod 755
config.pl chmod 755
log.pl chmod 755
mail.pl chmod 755
proc_await.pl chmod 755
proc_member.pl chmod 755
proc_remove.pl chmod 755
search.pl chmod 755
special.pl chmod 755
make_sql_tables.pl chmod 755


For the /admin directory chmod 755

For the file in the /admin directory
admin.pl chmod 755


For the /config directory chmod 777
For the /config/administrator directory chmod 777
For the /config/standard directory chmod 777

For the files in the /config directory
main.cfg chmod 666
standard.db chmod 666

For the files in the /config/standard directory
admin.cfg chmod 666
authorize_net.cfg chmod 666
commerce.cfg chmod 666
emails.txt chmod 666
pincode.cfg chmod 666
itransact_com.cfg chmod 666
security.cfg chmod 666
style.cfg chmod 666

For the /data directory chmod 777
For the /data/info directory chmod 777
For the /data/log directory chmod 777
For the /data/pass directory chmod 777
For the /data/templates directory chmod 777
For the /data/temp directory chmod 777


top
Creating the member databases

If the main database (the '$sql_db' database in the main.cfg) not exist you need to create it by your self. The member databases (tabels) can be created in the administrator script, after you have login. Push the "create database" button and fill in a database name. All the tables and configuration files are created automatically. Every member database have there own configuration files and email messages.


top
Administrator Config

Every member database have there own configuration and you can configuring that in the administrator script. This script have a lot of options and the most of them can you configured in the script.

Open the administrator script
http://www.yourdomain.com/cgi-bin/members/admin/admin.pl
with your browser and login.

Go to the Admin Tools :: Config Menu.

Change at least:
In the Security Config the URL where to ban the Members to when they have been logged out.
In the Admin Config the administrator and support response email.


top
Setup the forms.

The forms for to sign-up, update membership information and recover the password are located in the /forms directory. Only the sign-up form for Pincode System is in the /forms/pincode directory.

form.html
The form.html is for the sign-up the members. Open the form.html file with your favorite text editor and look for the lines.
<!-- change the value to the form.pl script -->
<form action="/cgi-bin/members/form.pl" enctype="application/x-www-form-urlencoded" method="post">
If needed change the URL: /cgi-bin/members/form.pl
To the URL where the form.pl script is located.
<!-- change the value to the members database YourDatabaseName -->
<input type="hidden" name="database" value="YourDatabaseName">
Change the YourDatabaseName to your member database name.


update.html
The update.html is for to update the membership information by the members. Open the update.html file with your favorite text editor and look for the lines.
<!-- change the value to the update.pl script -->
<form action="/cgi-bin/members/update.pl" enctype="application/x-www-form-urlencoded" method="post">
If needed change the URL: /cgi-bin/members/update.pl
To the URL where the update.pl script is located.
<!-- change the value to the members database YourDatabaseName -->
<input type="hidden" name="database" value="YourDatabaseName">
Change the YourDatabaseName to your member database name.


find.html
The find.html is for to recover the password from the member. Open the find.html file with your favorite text editor and look for the lines.
<!-- change the value to the find.pl script -->
<form action="/cgi-bin/members/find.pl" enctype="application/x-www-form-urlencoded" method="post">
If needed change the URL: /cgi-bin/members/find.pl
To the URL where the find.pl script is located.
<!-- change the value to the members database YourDatabaseName -->
<input type="hidden" name="database" value="YourDatabaseName">
Change the YourDatabaseName to your member database name.


top
Password Protecting from your Web page

The .htaccess files are for to password protect your members page or directory and to protect your data files. In the .htpasswd files are the login names and passwords.

Examples for to set up .htaccess protection

For to make a member page. Create the following text file named .htaccess and place it in the directory you want to password protect. Change the YourDatabaseName in the name of your member database.

AuthUserFile /full/path/to/your/members/data/pass/.htpasswdYourDatabaseName
AuthType Basic
AuthName "Member page"
require valid-user
For to protect the admin.pl with a password.
Create the following text file named .htaccess. And place it in the /admin directory.

<files "admin.pl">
AuthUserFile /full/path/to/your/admin/.htpasswd
AuthType Basic
AuthName "Admin"
require valid-user
</files>

top
Send almost expired email and auto remove members

Their are two ways for to send the almost expired email and auto remove members. One is with the crontab.pl script, running a CronTab job on the webserver. Two is done automaticly in the administrator script when you select a database.

For to run the CronTab.

Open the crontab.pl in your favorite text editor.
And follow the instructions in the file.

Add the follow line to your crontab job file:

For to check ones a hour:
*/60 * * * * username /opt/guide/www.widexl.com/cgi-bin/members/crontab.pl
For to check ones a day at 2:15 hour:
15 2 * * * username /opt/guide/www.widexl.com/cgi-bin/members/crontab.pl
Where 'username' is the USER that run the job script.
Where '/opt/guide/www.widexl.com/cgi-bin/members/crontab.pl' is the full path to the crontab.pl script.

For to run the CronTab automaticly in the administrator script

Edit the follow line in the /admin/admin.pl script.
$auto_remove = '0';

Change the '0' in a '1'. This variable is standard set to '1', because on the most website's you are not allowed to run a crontab job. You can set it to '0' for to disable it, if you are using the crontab.pl script.


top
Track sharing passwords and log members

If you want to track for sharing passwords and log members. You need to have SSI enabled on your web page. Put on the web page were they login to the follow line.

<!--#include virtual="/cgi-bin/members/guard.pl?login=1&database=YourDatabaseName"-->
Where '/cgi-bin/members/guard.pl is the URL to your guard.pl' script
Where the YourDatabaseName is the name of your member database.


top
Tracking all the web errors

Make a text file named .htaccess, put the lines below in it and upload it in the Member directory. For the windows users a make a file like member.htaccess, upload it to the server and rename it in .htaccess

ErrorDocument 401 /cgi-bin/members/guard.pl?error=401&database=YourDatabaseName
ErrorDocument 402 /cgi-bin/members/guard.pl?error=402&database=YourDatabaseName
ErrorDocument 403 /cgi-bin/members/guard.pl?error=403&database=YourDatabaseName
ErrorDocument 404 /cgi-bin/members/guard.pl?error=404&database=YourDatabaseName
ErrorDocument 500 /cgi-bin/members/guard.pl?error=500&database=YourDatabaseName
ErrorDocument 501 /cgi-bin/members/guard.pl?error=501&database=YourDatabaseName

Were /cgi-bin/members/guard.pl the URI to your guard.pl is (not the full URL) and where YourDatabaseName the name of your member database is. This script can use all the error codes what displays in the browser.

All the possible error codes I know are.

	100 => 'Continue',
	101 => 'Switching Protocols',
	200 => 'OK',
	201 => 'Created',
	202 => 'Accepted',
	203 => 'Non-Authoritative Information',
	204 => 'No Content',
	205 => 'Reset Content',
	206 => 'Partial Content',
	300 => 'Multiple Choices',
	301 => 'Moved Permanently',
	302 => 'Moved Temporarily',
	303 => 'See Other',
	304 => 'Not Modified',
	305 => 'Use Proxy',
	400 => 'Bad Request',
	401 => 'Unauthorized',
	402 => 'Payment Required',
	403 => 'Forbidden',
	404 => 'Not Found',
	405 => 'Method Not Allowed',
	406 => 'Not Acceptable',
	407 => 'Proxy Authentication Required',
	408 => 'Request Timeout',
	409 => 'Conflict',
	410 => 'Gone',
	411 => 'Length Required',
	412 => 'Precondition Failed',
	413 => 'Request Entity Too Large',
	414 => 'Request-URI Too Large',
	415 => 'Unsupported Media Type',
	500 => 'Internal Server Error',
	501 => 'Not Implemented',
	502 => 'Bad Gateway',
	503 => 'Service Unavailable',
	504 => 'Gateway Timeout',
	505 => 'HTTP Version Not Supported',

top
Credit Card processing.

You can process credit cards with the Members Admin CGI SQL script by diverse credit card companies. Their is for every member database a own configuration file and you can setup that in the administrator script.


top
Credit Card processing Authorize.net.

Credit Card processing with Authorize.net is done in real time. After payment the membership is approved and the member is send to the member page. Use for the sign-up the sign-up form (form.html) in the /forms directory.

Go to the Admin Tools :: Config Menu :: Commerce Config in the administrator script.

Select 'Authorize.net' as your credit card processing service and follow the instructions in the script for to setup the Authorize.net configuration.


top
Credit Card processing Itransact.com.

Credit Card processing with Itransact.com is done in real time. After payment the membership is approved and the member is send to the member page. Use for the sign-up the sign-up form (form.html) in the /forms directory.

Go to the Admin Tools :: Config Menu :: Commerce Config in the administrator script.

Select 'Itransact.com' as your credit card processing service and follow the instructions in the script for to setup the Itransact.com configuration.


top
Credit Card processing with the Pincode System

Many credit card processing services are also working with a pincode system. Once you sign up with the credit card processing service they will give you pincodes. Create a text file named pincode.txt, enter your pincodes in that file and upload it to your web server. Use for the sign-up the sign-up form (form.html) in the /forms/pincode/ directory.

Go to the Admin Tools :: Config Menu :: Commerce Config in the administrator script.

Select 'Pincode system' as your credit card processing service and fill in the full path to the 'pincode.txt' pincode file that you have uploaded to the web server.


top
Set the Membership time and amount.

For to set the Membership time and amount you need to edit the form.html. Open the form.html in an text editor and look for the lines below.

<select name='membership_amount' size='1'>
<option value=''></option>
<option value='30:25'>30 day Membership for $25 USD</option>
<option value='90:60'>90 day Membership for $60 USD</option>
<option value='365:160'>365 day Membership for $160 USD</option>
<option value='36500:300'>Livetime Membership for $300 USD</option>
</select>

The value tells the script how long the membership time is and how much they need to pay for it.
example: for the value='30:25' the membership time is 30 days and they have to pay $25 for it.

If you want you can replace this with a hidden form field like:
<input type="hidden" name="membership_amount" value="30:25">

top
Who is online

We have include the Vistor Online script for to display the 'Who is online'. Look in the v-online_1.05.zip zip file for the script and installation documentation. You need to have SSI (Server Side Include) enabled on your web page.


top
Trouble Shooting

One of the most common errors is 'Internal Server Error' errorcode 500,
and can mean many things.

1. Have you upload the scripts in BIN mode?
You need to upload all the scripts in ASCII mode.

2. Is the configuration in the main.cfg good?
Use by the email a (\) sign before the (@) sign, like you\@email.com.

3. Is the path to perl good?
Is the path /usr/local/bin/perl the path to your Perl program.

4. Are the permissions of the files good?
All the scripts must have file permission (755) or (775).

5. Has the code been changed when you edit the script?
Some editors change to code when you edit the script. If you use Windows, Wordpad is a good editor for CGI scripts.


I can not see the images in the admin script.

In some cases the you are not allowed to see files in the cgi-bin directory. In some other cases, all the files in the cgi-bin directory are be execute if they are a cgi script. Put in that case all the images outside the cgi-bin directory.

I have put the .htaccess file in the members directory but there is no login screen.

Do you have the right to use custom .htaccess files on your server? For this kind of password protecting you need have the right to use custom .htaccess file.


top
Copyright Information

Copyright © 2000. Henk Boonstra. All Rights Reserved.

This script Members Admin CGI SQL is the SQL release of Members Admin CGI Enterprise.

Selling the code for this program, or a program derived from Members Admin CGI SQL, without prior written consent is expressly forbidden. Similarly, redistributing this program, or a program derived from Members Admin CGI SQL, over the Internet, CD-ROM or any other medium is expressly forbidden without prior written consent. By using this program you agree to conditions above.


top
Warranty Disclaimer

THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY. WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Search

Tools Online SEO Tools

» Keyword Ranking
» Link Popularity Check
» Search Engine Saturation
» Meta Tag Analyzer

New Programs

» Membership Management
» Membership Management SQL
» Link Directory
» Link Directory SQL

New SEO Programs

» Meta Tag Analyzer
» Link Popularity
» Search Engine Saturation

New Free Programs

» Download Tracker
» Page Guard Pro
» Server Info

Tutorials Tutorials

» Link Popularity tutorial
» Module Rewrite guide
» Htaccess guide
» Install a CGI script

Related Links Related Links

» Business Blogs
» Hosting Resources
» SEO News
» SEO Tools