Seite 1 von 1

SSI mit dem Python-html-Server

Verfasst: Samstag 15. März 2008, 19:06
von Nikolas
Hallo

Aus Mangel an Alternativen arbeite ich mit dem html-Server, der schon direkt mit Python mitgeliefert wird:

Code: Alles auswählen

from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler

serveradresse =("", 8080)
server = HTTPServer(serveradresse, CGIHTTPRequestHandler)
server.serve_forever()
Normale Seite sowie CGI-skripts, die ich über Formulare aufrufe, werden wie erwartet dargestellt.
Jetzt würde ich aber gerne mit Server Side Includes wie

Code: Alles auswählen

<!--#exec cgi="/cgi-bin/printComments.py" -->
oder

Code: Alles auswählen

<!--#echo var="DATE_LOCAL" -->
arbeiten, um dynamisch eine Tabelle innerhalb einer normalten (s)html-Seite anzeigen zu lassen.
Nur leider werden diese Zeilen komplett ignoriert.

Benutzt sonst noch jemand diesen Server und hat mit SSI gearbeitet?

Nikolas

Verfasst: Sonntag 16. März 2008, 10:14
von sma
Nikolas, was lässt dich denken, dass der `CGIHTTPRequestHandler` Server Side Includes beherrscht? Er tut es nicht. Vielleicht hilft dir ja diese Erweiterung.

Ansonsten müsstest du dir selbst eine Implementierung bauen (oder irgendwo her bekommen). Du könntest dir dazu den `SimpleHTTPRequestHandler` aus `SimpleHTTPServer.py` anschauen. Statt einfach in `copyfile` die Datei zu kopieren, müsstest du da bei text/html-Dateien nach den speziellen Kommentaren suchen und diese verarbeiten.

Stefan

Verfasst: Sonntag 16. März 2008, 10:34
von Nikolas
Warum sollte er es denn nicht können? Ich habe bis vor ein paar Wochen nicht mit Servern gearbeitet und habe keine Ahnung, ob SSI etwas besonderes oder eine Grundfunktion von Servern ist.
Den anderen Server habe ich gestern auch gefunden. (mit einem Suchbegriff, bei dem dieser Thread auf Platz1 war, und der Server auf Position 2 :) )
Leider kann dieser Server nur ein paar SSI Befehle verstehen (include und echo), das für mich interessante exec wird leider nicht unterstützt.
Aber Danke für den Link, den hab ich gestern erst nach vielen Fehlversuchen gefunden.

Mir was eigenes zu bauen, ist mir zur Zeit zu groß, da ich eigentlich in der Klausurvorbereitung bin und mir die CGI-Programmierung als kleine Entspannung für nebenbei beibringe. Deswegen kann ich zurzeit auch keinen lokalen ApacheServer installieren und konfigurieren.

Verfasst: Sonntag 16. März 2008, 10:43
von gerold
Nikolas hat geschrieben:Deswegen kann ich zurzeit auch keinen lokalen ApacheServer installieren und konfigurieren.
Hallo Nikolas!

Ich verstehe deine Aussage nicht. Gerade dann, wenn ich keine Zeit habe, dann nehme ich fertige Produkte. http://halvar.at/python/xampp_python_cgi/

mfg
Gerold
:-)

Verfasst: Sonntag 16. März 2008, 11:17
von Nikolas
Das sieht ziemlich stark aus :lol:

Also einfach nur runterladen, 5mal Okay klicken und das Teil läuft?
Gestern habe ich sicher eine Stunde nach passenden Servern gegoogelt, nur leider bin ich nicht über diese Seite gestolpert.
Ich müsste mich an die MacOs Beta Version wagen, mal schauen, ob das funktioniert.

Danke für den Hinweis

Verfasst: Donnerstag 20. März 2008, 09:45
von sma
Nikolas hat geschrieben:Ich müsste mich an die MacOs Beta Version wagen
OS/X Leopard hat Apache httpd vorinstalliert. In den Systemeinstellungen unter "Sharing" aktivieren, dann unter `/Users/Nikolas/Sites` deine Dateien ablegen. Ich vermute, du musst dann noch eine passende `.htaccess`-Datei anlegen, ich musste mir unter `/etc/apache2/users/sma.conf` erstmal das Recht dazu geben.

Stefan

Verfasst: Freitag 21. März 2008, 21:20
von Nikolas
Den Server habe ich letztens gefunden. Mein Problem besteht darin, dass ich eine Seite an der angegebenen Stelle gespeichert habe, aber einen Zugrifssfehler bekommen, wenn ich die Seite unter http://platon.local/~nikolas/index.html (Platon habe ich meinen Mac genannt). Wenn ich stattdessen auf ~nikolasAdmin zugreife (mein zweitAccount), bekomme ich die dort abgelegte Seite ohne Probleme.
Meine eigene index.html habe ich als 777 deklariert, wahrscheinlich müsste ich auch so eine Zugriffsdatei schreiben.

Wie hast du das genau gemacht?

Verfasst: Samstag 22. März 2008, 10:47
von sma
Hast du von Tiger auf Leopard aktualisiert? Dann kopiere `/etc/httpd/users/*.conf` nach `/etc/apache2/`users. Das vergisst der Updater irgendwie. Danach funktioniert ~user. Irgendwelche Zugriffsrechte auf 777 setzen brauchst du nicht. In der conf-Datei musst du dir noch selbst CGI erlauben, ich habe mir "AllowOverride" auf "All" gesetzt, um dann in einer `.htaccess`-Datei Options +ExecCGI zu setzen. Da gibt es aber vielleicht bessere Lösungen. Apache httpd ist nicht so mein Ding.

Stefan

Verfasst: Samstag 22. März 2008, 11:40
von Darii
Nikolas hat geschrieben:Ich müsste mich an die MacOs Beta Version wagen, mal schauen, ob das funktioniert.
Unter OSX kannst du auch einfach MAMP nehmen. Ich habs nicht getestet, aber die Konfiguration für Python sollte wie beim xampp laufen.