Making Your Web Page Interactive with CGI TLN Technology Committee February 16, 1999 What is CGI? “A method used by www pages to communicate with programs run on the web server.” Glossary of Internet Terms Finding Scripts Matt’s Script Archive worldwidemart.com/scripts CGI Resource Index www.cgi-resources.com Web Scripts awsd.com/scripts/ Downloading Once you’ve found the script you want, download it and all the associated readme and html files. Be sure to download in ascii text mode. If available, save individual files instead of .zip file. This is the easiest way to ensure that the files are saved in ascii format. If you must use the .zip file, open files in word after unzipping them to save them in ascii format. Recognizing Ascii Format Customizing Scripts Customizing Scripts The first line of the .pl script must read: • #!/usr/bin/perl • NOT #!/usr/local/bin/perl Change script name to “name.cgi” • The .pl tag is not recognized on the server. • Only scripts with the .cgi tag will run properly. Customizing Scripts The absolute path should be structured as follows: • /mnt/web/guide/worldwidemart/scripts/ • /home/lvcc/lvcc/www/cgi-bin/ The url path to the designated file is the full path: • http://tln.lib.mi.us/~lvcc/cgi-bin/scriptname.cgi • http://tln.lib.mi.us/~lvcc/relatedwebpage.htm Uploading Files Creating the CGI Directory and Uploading Files The CGI-BIN Directory Working in your FTP software: • Open your www directory • Create a new folder at the host within the www directory. • Name the folder cgi-bin Uploading Files Working in your FTP software: • Upload .cgi files to cgi-bin directory • Upload .htm files to the regular www directory Setting Permissions CHMOD Changing Read/Write/Execute Access for CGI Files Permission settings for each associated file depends upon the action of the script. The readme file will usually tell you which permissions to assign to each file. Chmod in Linux/Unix Www Long List of Directory drwxr-xr-x 2 lvcc users -rw-r--r-- 1 lvcc users -rw-r--r-- 1 lvcc users -rw-rw-rw- 1 lvcc users -rw-r--r-- 1 lvcc users 1024 Jan 15 10:02 cgi-bin 1213 Jul 17 1996 momdad.htm 6520 Jul 2 1998 money.jpg 2968 Jan 7 19:15 mypet.htm 1942 Jun 22 1998 mypetadd.htm Cgi-bin Long List of Directory -rw-r--r-- 1 lvcc users -rwxr-xr-x 1 lvcc users -rwxr-xr-x 1 lvcc users -rwxr-xr-x 1 lvcc users 394 Aug 5 09:54 folks02.gif 24292 May 11 1998 formmail.cgi 11340 Jun 22 1998 mypet.cgi 11380 Jan 14 1998 pineknob.cgi Changing Read/Write/Execute Access for CGI Files Who u user Opcode + add g group o other remove = assign Permission r read w write x execute a all chmod u=rwx,g=rx,o=rx form.cgi CHMOD by Numbers Readme files will often use numbers to designate chmod settings. • First digit = u • Second digit = g • Third digit = o • 4 (r) + 2 (w) + 1 (x) = 7 • 4 (r) + 1 (x) = 5 chmod u=rwx,g=rx,o=rx form.cgi and chmod 755 form.cgi result in the same action. Running The Script Testing and Troubleshooting Scripts must be uploaded and permissions changed before they can be tested. Usually, a minor adjustment will correct script error messages. Incorrect directory information or a misplaced slash will prevent a script from running. Common Error Messages The Form Mail Script In Action