small python cgi webserver
Fabian Braennstroem
f.braennstroem at gmx.de
Sat Nov 4 05:41:35 EST 2006
Hi,
* ArdPy <ardsrk at gmail.com> wrote:
>
> 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>
Maybe, I understood something wrong, but I thought that the
above 'webserver' script would replace apache in my case; at
least I hoped!?
Greetings!
Fabian
More information about the Python-list
mailing list