Link to home
Start Free TrialLog in
Avatar of KirkGray
KirkGray

asked on

Can Server side executables by Unix/Linux Scritps?

I'm new to programming for the web, but not to unix.  My question is:  Can I delploy a server side executable that is just a list of unix commands (like a batch file) that users can hit from their browser?

I want a Web address that points to a server side executable  that sends some mail, then outputs some html in finishing.  What I've currently got in this script is:

mail -s "a subject" anaddress@anywhere.com < MailMessage.txt
cat testpage.html

When I run this from the telnet prompt it sends the mail and outputs the correct html.  When I hit it from my browser it gives my an internal server error.  Bummer ;-(

What am I doing wrong?  Can U use a Unix script for server side processing?  How do I get the browser to tell the server to execute my script rather than display it?

PS:  I've already chmod'ed it to 755, so it is executable.

Thanx in advance,
 
ASKER CERTIFIED SOLUTION
Avatar of faster
faster

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of faster
faster

A server side executable is just a CGI.  It can be anything, including shell  script.  The standout will be redirected to the browser.  However, there is onething you need to take care of:  The output can not be a simple html file, it has to conform to the HTTP standard.  In short, you need to output some "response header" before the response body (html, for example).  The header takes the form: name1: value1\nname2: value2\n...\n.  An empty line is to indicate the end of the header.  Content-type is the most common header you will need.

Please also note that besides writing the CGI script, you may also need to do some config on the web server so that it know it is a CGI, bot a normal html file.  The exact config depends on the server.  In most cases, you need to set a directory to be "CGI directory" or set the file extension to be recognized as CGI.  Check this with your web master.
Avatar of KirkGray

ASKER

Thanx man, the points are all yours!