Anyone get a perl script to work?

apps

#1

I have a custon perl script that i just cant get to work. I have chaged the file attributes to 755 but still, it does not work. Anyone have any tips or suggestions for me on how to make perl scripts execute with dreamhost? Thanks.


#2

Wow, that’s kinda vague. CGI scripts can be place any where in your web-accessable area - there’s no need for a CGI bin, but they do have to have an appropiate extension.

Also, do you have the correct path for perl at the top of your script?

I’m not sure what else to say. Post more specificaly what your problem is, and maybe even include you cgi script, or the parts that you’re haivng troubles with.

-Matttail


#3

Sorry for the vagueless. As you can tell from the name, i do most things non computer related better. I’ll use a common example. I dowloaded a simple perl script. Its named “Counter.pl”. I load that file via ftp. I then go to “www.my domain.com/counter.pl”. I then get an error. That’s as far as i have gone. This first line of the script is this: “#!/usr/bin/perl”. Thanks.


#4

Exactly what error do you get?

-Matttail


#5

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@mydomain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


#6

Thanks for the link. I now have it working half way. The main problem was that i apparently was not loading it in “ASCII” mode. I get the script to come up and then i input some info into it and then click enter. The address bar then changes to “www.mydomain.com/cgi-bin/script.pl?j2=enteredinfo”. I then get another error saying the requested url cannot be found on the server. I guess this has to do with some coding in the script that tells it to go to cgi-bin?


#7

If you’re submitting info from your script, that must mean that it’s outputting an HTML form. That form would have a FORM tag with an ACTION attribute giving a URL that the data is submitted to. That’s probably where it’s got “cgi-bin” embedded; you should change the address to the actual URL of the script you’re using to process form submissions.

– Dan


#8

I once had such a problem. It was solved by renaming the .pl extension to .cgi.


#9

The problem is that the url in the action attribute returns a 500 internal server error even though the correct file is loaded at that URL. I have emailed dreamhost because i tested this on another server and it worked fine.


#10

Ok. i have come to the conclusion that i have to install the latest versions of several modules my self. Can someone tell me where to put these modules? Thanks.


#11

you’ll have to install them to your home directory. That’s the only place on the server you have write access to. You’ll have to figure out how to change the install directory to something like /home/user/perl-modules/ (I think you’ll use --prefix, but I’m not sure)

-Matttail


#12

I am getting so frustrated. Can someone please tell me how to install these modules in plain english? I have found many instructions online but all are too advanced for me. They talk about going to the root directory (what exactly is that??) and typing commands. Exactly where do i type these commands? Just create a directory/folder, open it up and start typing into blank space?? Someone please help with dummified instructions. Thanks.


#13

Anyone? I am getting desperate here.


#14

Ok, here we go:

you’re going to have to use telnet/ssh to do these things. Check out the K-base articles for telnet and what programs you can use to do that.

Next you’ll need to get the perl module onto your DH account. You’ll probably want to just put them in your home directory. Once you’ve gotten this far, I think you should being to have an idea of how to carry out these commands that the instructions are talking about.

If you have a direct download like for your perl module, you can just copy the url and type this at the shell prompt:
“wget http://www.domain.com/path/to/file.tar” just past in the link and it should download it. (without the quotes)
Next you’ll need to unpack the file (like un-zipping, but this is for tar or tar.gz, or even bz2 archives) The command you’ll run depends on the type of archive. If it’s a plain old tar then it would look like this:
“tar -xvzf perl-script.tar"
next you can move into the newly created directory like so:
“ls” will list all the directores and then use “cd directory” to move into that directory. There’s probably a README file in this directory that will help with install instructions. open it like this:
“pico README” (yes, things are cAseSensiTive here)
you can press ctrl and X to quit once you’re done.
Now just follow the instructions you’ve got to install this script. The only thing you’ll have to figure out how to do, is specify where the files are to be installed to. the default will be folders on the server that you don’t have access to. If the instructions tell you to use ./configure as the first step, then to specify the install directory you’d just type:
”./configure --prefix=/home/username/some/folder" and then follow the rest of the instructions as normal.

Take your time here, it takes a bit to figure out how this stuff works. Post back with specific problems. Tell us what all you’ve done so far, and what you’re doing that produces exactly what error (copy and paste if you can). Be as specific as possible, as that will help to bring understanding of your problem.

Good luck…

-Matttail


#15

Holy crap!! This thing aint no joke. I think i wiil tell dreamhost to go install this thing. I had no freaking clue what all the questions i was being asked meant. This thing is just too complicated for a dummy like me. I thought i had it installed but my script still does not work. Thanks for trying to help buddy but i think i need to leave this one alone.


#16

Perl Modules use perl Makefile.pl, not ./configure :P.