Grüß euch!
Ich habe nicht direkt eine Coding-Frage, sondern eher eine Installationsfrage, ich hoffe trotzdem, daß ich hier damit richtig bin.
Also, ich habe einen Apachen unter Windows 2000 laufen, Version ist 2.2.4. Erst gestern habe ich es mir angetan, mod_perl 2.0.3 mit ActivePerl 5.8.8 zum Laufen zu bewegen, und heute dachte ich mir, Zeit für Python Support!
Also installiert habe ich Python 2.5.1, und das Modul mod_python 3.3.1 für Python 2.5.x und Apache 2.2.x.
Was ich jetzt offenbar noch nicht richtig mache, ist die httpd.conf Konfiguration. Sieht bei mir momentan wie folgt aus (ich filtere nach Fileextension)...
Snippet:
LoadModule python_module modules/mod_python.so
[...]
AddHandler python-program .py
<Files ~ "\.py$">
SetHandler python-program
PythonHandler test
</Files>
Den "PythonHandler" muß man nach dem was ich auf Google finden konnte einsetzen, und auf den Namen des auszuführenden Scripts setzen, ohne die *.py Extension. Das alleine finde ich schon vollkommen unpraktisch, aber zum Testen hätte es gereicht. Leider bekomme ich damit einen hübschen 500er, Mr. "Internal Server Error". Das auszuführende Script hätte "test.py" geheißen, ein Hello World py Code.
Apaches error.log meint dazu:
[error] [client 0.0.0.0] mod_python (pid=4172, interpreter='<url-zensiert>', phase='PythonHandler', handler='test'): Application Error
[error] [client 0.0.0.0] ServerName='<url-zensiert>'
[error] [client 0.0.0.0] DocumentRoot: '<Filesystempfad-zensiert>'
[error] [client 0.0.0.0] URI: '/thrawn/test.py'
[error] [client 0.0.0.0] Location: None
[error] [client 0.0.0.0] Directory: None
[error] [client 0.0.0.0] Filename: '<Filesystempfad-zensiert>'
[error] [client 0.0.0.0] PathInfo: ''
[error] [client 0.0.0.0] Traceback (most recent call last):
[error] [client 0.0.0.0] File "C:\\Server\\Python25\\Lib\\site-packages\\mod_python\\importer.py", Line 1537, in HandlerDispatch\n default=default_handler, arg=req, silent=hlist.silent)
[error] [client 0.0.0.0] File "C:\\Server\\Python25\\Lib\\site-packages\\mod_python\\importer.py", Line 1202, in _process_target\n module = import_module(module_name, path=path)
[error] [client 0.0.0.0] File "C:\\Server\\Python25\\Lib\\site-packages\\mod_python\\importer.py", Line 304, in import_module\n return __import__(module_name, {}, {}, ['*'])
[error] [client 0.0.0.0] ImportError: No module named test
Der Inhalt des Testscriptes "test.py" lautet wie folgt:
from mod_python import apache
def handler(req):
req.content_type = 'text/plain'
req.write("Hallo %s!"%(req.args,))
return apache.OK
Also ich nehme Mal an, daß meine Konfiguration Müll ist. Was ich gern hätte, wäre, daß ich domänenweit Python Skripte im Apachen ausführen kann (limitieren kann ich später auch noch).
Leider finde ich kein einfaches Guide für die mod_python Installation unter Win32, welches auch die Apache Konfigurationsmöglichkeiten genau diskutiert.
Kann mir da vielleicht jemand weiterhelfen, meinen Apachen dazu zu überreden, *.py auszuführen? Danke!