Maybe the file name has a .cgi extension?  .cgi is not set for exeeute by
default.  Try renaming it .pl assuming you installed ActivePerl.  Or in
Internet Services Manager right click the scripts folder, and take a look at
the instructions in the attached mail of few days ago.  I'm figuring that'll
probably do it.

Note that last time I installed ActivePerl it set .pl to perl "%s" %s as I
recall, but the extra double quotes may not matter, or maybe would apply if
your path/to/script had a space in it.

/g

> -----Original Message-----
> From: maureen [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 16, 2002 1:19 PM
> To: Beginners CGI List; [EMAIL PROTECTED]
> Subject: Cgi on IIS
>
>
>
> I hope someone can help me out.
>
> I set up this cgi file and html form on a Unix server. The script
> changes a user's password in a text file.
>
> This works correctly on a Unix Server. However, I need to move these
> files to an IIS server.
> In testing on the IIS server,  I get an HTTP Error 405- Method not
> allowed when the form is submitted.
>
> I did some research, but was unable to determine how to correct the
> error.
>
> If anyone could help me out, I'd really appreciate it.
>
> Thanks, Maureen
>
> #!/usr/bin/perl
> require "cgi-lib.pl";
> #process incoming form data
> &ReadParse;
> #set content type
> print &PrintHeader;
> #initialize variables
> $pwfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwdata.txt";
> $tmpfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwdata.tmp";
> $lokfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwlock.fil";
> #Print initial tags for web page
> print "<HTML><BODY>\n";
> #check for existence of password file
> unless (-e $pwfile)
> {
> #password file doesn't exist!
> #print message & shut down
> print <<"PrintTag";
> <H1>Sorry!</H1>
> <P>$pwfile has't been uploaded to the
> proper directory. Please contact the webmaster.</P>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #check for blank form fields
> if ($in{'oldname'}eq"" || $in{'oldpw'}eq"")
> {
> #re-create form and shut down program
> print <<"PrintTag";
> <P><B>ERROR:</B> Please type your current username and
> password in the spaces provided.</P>
> <FORM
> ACTION="http://server37.hypermart.net/worldwidewebstrategies/cgi-bin/
> changepw.cgi"
> METHOD="post">
> <P>Your current username:<BR>
> <INPUT TYPE="text" NAME="oldname" VALUE="$in{'oldname'}"></P>
> <P>Your current password:<BR>
> <INPUT TYPE="text"NAME="oldpw" VALUE="$in{'oldpw'}"></P>
> <P>Your new password:<BR>
> <INPUT TYPE="text" NAME="newpw1" VALUE="$in{'newpw1'}"></P>
> <P>Type your new password again:<BR>
> <INPUT TYPE="text" NAME="newpw2" VALUE="$in{'newpw2'}"></P>
> <P>
> PrintTag
> if ($in{'delete'} eq "yes")
> {
> print "<INPUT TYPE=\"checkbox\"
> NAME=\"delete\" VALUE=\"yes\" CHECKED>\n";
> }
> else
> {
> print "\n";
> }
> print <<"PrintTag";
> </P>
> <INPUT TYPE="submit" VALUE="Change">
> </FORM>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #make sure new passwords match
> if ($in{'newpw1'} ne $in{'newpw2'})
> {
> #re-create form and shut down program
> print <<"PrintTag";
> <P><B>ERROR:</B> Your new passwords didn't match.
> You must type your new password exactly the same way twice.
> Please try again.</P>
> <FORM
> ACTION="http://server37.hypermart.net/worldwidewebstrategies/cgi-bin/
> changepw.cgi"
> METHOD="post">
> <P>Your current username:<BR>
> <INPUT TYPE="text" NAME="oldname" VALUE="$in{'oldname'}"></P>
> <P>Your current password:<BR>
> <INPUT TYPE="text" NAME="oldpw" VALUE="$in{'oldpw'}"></P>
> <P>Your new password:<BR>
> <INPUT TYPE="text" NAME="newpw1"></P>
> <P>Type your new password again:<BR>
> <INPUT TYPE="text" NAME="newpw2"></P>
> <INPUT TYPE="submit" VALUE="Change">
> </FORM>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #check for existence of lock file
> if (-e $lokfile)
> {
> #lock file exists! print message & shut down
> print <<"PrintTag";
> <H1>Try again!</H1>
> <P>The database is in use. Please try again later.</P>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #everything is okay. Create lock file.
> open(LOCK_FILE, ">$lokfile") ||
> die "Couldn't create $lokfile\n";
> #open password file in read-only mode
> open(FILE,"$pwfile") ||
> die "Can't find $pwfile.\n";
> #store database contents in an array and close file
> @indata = <FILE>;
> close(FILE);
> #open temp file in overwrite mode
> open(TEMP,">$tmpfile") ||
> die "Can't create $tmpfile.\n";
> #copy password file contents to temp file
> #use a foreach loop to process each record in the array
> foreach $i (@indata)
> {
> #remove hard return character from each record
> chomp($i);
> #split fields on pipe character
> #assign a variable name to each of the fields
> ($username,$password) = split(/\|/,$i);
> if ($username eq $in{'oldname'} &&
> $password eq $in{'oldpw'} &&
> $in{'delete'} ne "yes")
> {
> print TEMP "$in{'oldname'}|$in{'newpw1'}\n";
> print "<P><h1> Success!</h1>Your password has been changed.</P>\n";
> }
> elsif ($username eq $in{'oldname'} &&
> $in{'delete'} eq "yes")
> {
> print "<P>Your password has been deleted.</P>\n";
> }
> else
> {
> print TEMP "$i\n";
> }
> }
> #close temp file
> close(TEMP);
> #change file names
> rename($pwfile, $pwfile.".old");
> rename($tmpfile, $pwfile);
> #close and delete lock file
> close(LOCK_FILE);
> unlink($lokfile);
> #close web page
> print "<P>Thank you! </P>\n";
> print "</BODY></HTML>\n";
> #end of script
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
--- Begin Message ---
Hi Robert,

Right click on the servername and choose "Properties".
Choose "Home Directory" and choose "Configuration"
under "Application Settings".

You can edit your application mappings from the "App
Mappings" tab.

These should have been set up for you if you installed
perl after IIS, but you will need to add either "perlis.dll"
or "perl %s %s" as a mapping to the .pl extension ( and
or .cgi if you require).

Cheers,
Lorne



"Robert Hanson" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
>
> It's been a long time since I worked on IIS, but I believe the "Method not
> allowed" error refers to GET, POST, PUT, and HEAD.  In IIS you can
> allow/deny each of these, but I forget exactly where in the MMC that this
> was located, it was with the file types.
>
> So maybe ".cgi" doesn't have GET access (or whatever you are trying to
do).
> It could also be a permissions problem.  Make sure that the group
"Everyone"
> can write to the file (or at least the username that the web server uses
> would need to)
>
> Rob
>
> -----Original Message-----
> From: maureen [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 16, 2002 4:19 PM
> To: Beginners CGI List; [EMAIL PROTECTED]
> Subject: Cgi on IIS
>
>
>
> I hope someone can help me out.
>
> I set up this cgi file and html form on a Unix server. The script
> changes a user's password in a text file.
>
> This works correctly on a Unix Server. However, I need to move these
> files to an IIS server.
> In testing on the IIS server,  I get an HTTP Error 405- Method not
> allowed when the form is submitted.
>
> I did some research, but was unable to determine how to correct the
> error.
>
> If anyone could help me out, I'd really appreciate it.
>
> Thanks, Maureen
>
> #!/usr/bin/perl
> require "cgi-lib.pl";
> #process incoming form data
> &ReadParse;
> #set content type
> print &PrintHeader;
> #initialize variables
> $pwfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwdata.txt";
> $tmpfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwdata.tmp";
> $lokfile =
> "/data1/hypermart.net/worldwidewebstrategies/datafile/pwlock.fil";
> #Print initial tags for web page
> print "<HTML><BODY>\n";
> #check for existence of password file
> unless (-e $pwfile)
> {
> #password file doesn't exist!
> #print message & shut down
> print <<"PrintTag";
> <H1>Sorry!</H1>
> <P>$pwfile has't been uploaded to the
> proper directory. Please contact the webmaster.</P>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #check for blank form fields
> if ($in{'oldname'}eq"" || $in{'oldpw'}eq"")
> {
> #re-create form and shut down program
> print <<"PrintTag";
> <P><B>ERROR:</B> Please type your current username and
> password in the spaces provided.</P>
> <FORM
>
ACTION="http://server37.hypermart.net/worldwidewebstrategies/cgi-bin/changep
> w.cgi"
> METHOD="post">
> <P>Your current username:<BR>
> <INPUT TYPE="text" NAME="oldname" VALUE="$in{'oldname'}"></P>
> <P>Your current password:<BR>
> <INPUT TYPE="text"NAME="oldpw" VALUE="$in{'oldpw'}"></P>
> <P>Your new password:<BR>
> <INPUT TYPE="text" NAME="newpw1" VALUE="$in{'newpw1'}"></P>
> <P>Type your new password again:<BR>
> <INPUT TYPE="text" NAME="newpw2" VALUE="$in{'newpw2'}"></P>
> <P>
> PrintTag
> if ($in{'delete'} eq "yes")
> {
> print "<INPUT TYPE=\"checkbox\"
> NAME=\"delete\" VALUE=\"yes\" CHECKED>\n";
> }
> else
> {
> print "\n";
> }
> print <<"PrintTag";
> </P>
> <INPUT TYPE="submit" VALUE="Change">
> </FORM>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #make sure new passwords match
> if ($in{'newpw1'} ne $in{'newpw2'})
> {
> #re-create form and shut down program
> print <<"PrintTag";
> <P><B>ERROR:</B> Your new passwords didn't match.
> You must type your new password exactly the same way twice.
> Please try again.</P>
> <FORM
>
ACTION="http://server37.hypermart.net/worldwidewebstrategies/cgi-bin/changep
> w.cgi"
> METHOD="post">
> <P>Your current username:<BR>
> <INPUT TYPE="text" NAME="oldname" VALUE="$in{'oldname'}"></P>
> <P>Your current password:<BR>
> <INPUT TYPE="text" NAME="oldpw" VALUE="$in{'oldpw'}"></P>
> <P>Your new password:<BR>
> <INPUT TYPE="text" NAME="newpw1"></P>
> <P>Type your new password again:<BR>
> <INPUT TYPE="text" NAME="newpw2"></P>
> <INPUT TYPE="submit" VALUE="Change">
> </FORM>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #check for existence of lock file
> if (-e $lokfile)
> {
> #lock file exists! print message & shut down
> print <<"PrintTag";
> <H1>Try again!</H1>
> <P>The database is in use. Please try again later.</P>
> </BODY>
> </HTML>
> PrintTag
> exit(0);
> }
> #everything is okay. Create lock file.
> open(LOCK_FILE, ">$lokfile") ||
> die "Couldn't create $lokfile\n";
> #open password file in read-only mode
> open(FILE,"$pwfile") ||
> die "Can't find $pwfile.\n";
> #store database contents in an array and close file
> @indata = <FILE>;
> close(FILE);
> #open temp file in overwrite mode
> open(TEMP,">$tmpfile") ||
> die "Can't create $tmpfile.\n";
> #copy password file contents to temp file
> #use a foreach loop to process each record in the array
> foreach $i (@indata)
> {
> #remove hard return character from each record
> chomp($i);
> #split fields on pipe character
> #assign a variable name to each of the fields
> ($username,$password) = split(/\|/,$i);
> if ($username eq $in{'oldname'} &&
> $password eq $in{'oldpw'} &&
> $in{'delete'} ne "yes")
> {
> print TEMP "$in{'oldname'}|$in{'newpw1'}\n";
> print "<P><h1> Success!</h1>Your password has been changed.</P>\n";
> }
> elsif ($username eq $in{'oldname'} &&
> $in{'delete'} eq "yes")
> {
> print "<P>Your password has been deleted.</P>\n";
> }
> else
> {
> print TEMP "$i\n";
> }
> }
> #close temp file
> close(TEMP);
> #change file names
> rename($pwfile, $pwfile.".old");
> rename($tmpfile, $pwfile);
> #close and delete lock file
> close(LOCK_FILE);
> unlink($lokfile);
> #close web page
> print "<P>Thank you! </P>\n";
> print "</BODY></HTML>\n";
> #end of script
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--- End Message ---
-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to