On Sat, 2 Nov 2002 06:21:43 -0500, [EMAIL PROTECTED] (Dan Sabo) wrote: >Hi, > >Is there a way I can check my server to see if my perl setup and >configuration is running OK and ready to run cgi scripts? > >I've run pre written perl cgi scripts for a few years on a shared server but >recently set up my own server and for some reason I can't seem to get my >long used cgi script running. I think my path settings are correct in my >config files for the script - /usr/bin/perl, but how can I check to see if >perl is actually ready to go on my server and being accessed by the cgi >scripts OK? > >I use Linux 7.3, apache 1.3.23 and perl 5.6.1
If you are switching scripts from another server, a likely culprit is your directories have changed. Like they used to be in /var/www/httpd/cgi-bin and now they are in /usr/local/httpd/cgi-bin. ( Or something similar). Your best bet is to put in a simple cgi test script on the server and see if it runs. If it dos'nt, you probably need to work on your httpd.conf file to enable cgi execution in your cgi-bin. Here's a simple shell test script to see where your perl is: ############################################ #!/bin/sh # disable filename globbing set -f echo Content-type: text/plain echo echo CGI/1.0 test script report: echo echo argc is $#. argv is "$*". echo echo SERVER_SOFTWARE = $SERVER_SOFTWARE echo SERVER_NAME = $SERVER_NAME echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE echo SERVER_PROTOCOL = $SERVER_PROTOCOL echo SERVER_PORT = $SERVER_PORT echo REQUEST_METHOD = $REQUEST_METHOD echo HTTP_ACCEPT = "$HTTP_ACCEPT" echo PATH_INFO = "$PATH_INFO" echo PATH_TRANSLATED = "$PATH_TRANSLATED" echo SCRIPT_NAME = "$SCRIPT_NAME" echo QUERY_STRING = "$QUERY_STRING" echo REMOTE_HOST = $REMOTE_HOST echo REMOTE_ADDR = $REMOTE_ADDR echo REMOTE_USER = $REMOTE_USER echo AUTH_TYPE = $AUTH_TYPE echo CONTENT_TYPE = $CONTENT_TYPE echo CONTENT_LENGTH = $CONTENT_LENGTH echo "Perl="`which perl` #################################################### If that runs, try this perl script: ############################################## #!/usr/bin/perl # Don't buffer output $| = 1; # Ask for server name and information chomp($hostname = `hostname`); chomp($uname = `uname -a`); # Ask system for user name chomp($user = `/usr/bin/whoami`); # Ask system for user id and group id for this user ($uid, $gid) = (getpwnam($user))[2, 3]; # Get path for sendmail program chomp($sendmail = `which sendmail`); # # Generate the complete form # print "Content-type: text/html\n\n"; print qq( <html> <head> <title>CGI Environment</title> </head> <body bgcolor="white"> <b> Host name is $hostname.<br> CGI programs execute as user $user ($uid, $gid).<br> System description is $uname.<br> </b> <hr> <h2 align="center">CGI Environment</h2> <p> <br> SERVER_SOFTWARE = $ENV{'SERVER_SOFTWARE'}<br> SERVER_NAME = $ENV{'SERVER_NAME'}<br> GATEWAY_INTERFACE = $ENV{'GATEWAY_INTERFACE'}<br> SERVER_PROTOCOL = $ENV{'SERVER_PROTOCOL'}<br> SERVER_PORT = $ENV{'SERVER_PORT'}<br> REQUEST_METHOD = $ENV{'REQUEST_METHOD'}<br> HTTP_FROM = $ENV{'HTTP_FROM'}<br> HTTP_ACCEPT = $ENV{'HTTP_ACCEPT'}<br> HTTP_USER_AGENT = $ENV{'HTTP_USER_AGENT'}<br> HTTP_REFERER = $ENV{'HTTP_REFERER'}<br> PATH_INFO = $ENV{'PATH_INFO'}<br> PATH_TRANSLATED = $ENV{'PATH_TRANSLATED'}<br> SCRIPT_NAME = $ENV{'SCRIPT_NAME'}<br> QUERY_STRING = $ENV{'QUERY_STRING'}<br> REMOTE_HOST = $ENV{'REMOTE_HOST'}<br> REMOTE_ADDR = $ENV{'REMOTE_ADDR'}<br> REMOTE_USER = $ENV{'REMOTE_USER'}<br> REMOTE_IDENT = $ENV{'REMOTE_IDENT'}<br> AUTH_TYPE = $ENV{'AUTH_TYPE'}<br> CONTENT_TYPE = $ENV{'CONTENT_TYPE'}<br> CONTENT_LENGTH = $ENV{'CONTENT_LENGTH'}<br> <p> <hr> <p> <h2 align="center">Complete Environment</h2> ); foreach $key (sort keys %ENV) { print "$key = $ENV{$key}<br>\n"; } print qq( <h2 align="center">System Programs</h2> Sendmail program path : $sendmail </body> </html> ); #################################################### -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]