small python cgi webserver

ArdPy ardsrk at gmail.com
Sat Nov 4 11:17:59 CET 2006


Fabian Braennstroem wrote:
> Hi,
>
> I am looking for a small python script, which starts a small
> web server with python cgi support on a linux machine.
>
> I tried:
>
>
>   #!/usr/bin/env python
>   import sys
>   from CGIHTTPServer import CGIHTTPRequestHandler
>   import BaseHTTPServer
>
>   class MyRequestHandler(CGIHTTPRequestHandler):
>       # In diesem Verzeichnis sollten die CGI-Programme stehen:
>       cgi_directories=["/home/fab/Desktop/cgi-bin"]
>
>
>   def run():
>       # 8000=Port-Nummer
>       #   --> http://localhost:8000/
>       # Fuer http://localhost/
>       #   Port-Nummer auf 80 setzen
>       httpd=BaseHTTPServer.HTTPServer(('', 8000), MyRequestHandler)
>       httpd.serve_forever()
>
>   if __name__=="__main__":
>       print "Starting Server"
>       run()
>
> but when I want to test a small python cgi test file:
>
>
>   #!/usr/bin/python
>   # -*- coding: UTF-8 -*-
>
>   # Debugging für CGI-Skripte 'einschalten'
>   import cgitb; cgitb.enable()
>
>   print "Content-Type: text/html;charset=utf-8\n"
>   print "Hello World!"
>
> I just get the text and not the html output. The file's mode
> is 755.
>
> Is there anything wrong with the webserver script or do I do
> something completely wrong? Maybe, you have a different
> webserver script?
>
> Greetings!
>  Fabian

Probably the server is not executing your CGI script. If it is the
Apache web server that you are using then just ensure the following
settings in your /etc/httpd/conf/httpd.conf file is exactly like
following:

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>




More information about the Python-list mailing list