internal server error (500) in simple cgi script

flybywire picture flybywire · Sep 23, 2009 · Viewed 32.1k times · Source

I am trying to run a simple cgi script after configuring my server.

My script looks like this:

print "Content-type: text/html"
print
print "<html><head><title>CGI</title></head>"
print "<body>"
print "hello cgi"
print "</body>"
print "</html>"

When I go to my scripts url http://127.0.0.1/~flybywire/cgi-bin/main.py I get:

Internal Server Error

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

And in error.log I get the following:

[error] (8)Exec format error: exec of '/home/flybywire/www/cgi-bin/main.py' failed [error] [client 127.0.0.1] Premature end of script headers: main.py

Other info: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 Server at 127.0.0.1 Port 80

Answer

Paul Stephenson picture Paul Stephenson · Sep 23, 2009

You might need a #!/usr/bin/python at the top of your script to tell Apache to use Python to execute it. At least, I did that and it worked for me :-) .