Apache Konfiguration für Python Scripte

Vielleicht wird der ein oder andere einmal in die Verlegenheit kommen, genau dies zu tun: PHP Variablen an ein Python Script übergeben. Im ersten Teil des Tutorials möchte ich zunächst die Konfiguration des Apachen beschreiben, im Zweiten das Implementieren eines Testscripts.
Auf meinem Windows PC ist Xampp installiert. Sicherlich nicht die beste Idee, es unter Windows versuchen zu wollen, aber warum nicht? Zunächst installiert man also Python. (Python Download-Link) Während des Installationsvorgangs ist das Hinzufügen von Python in die Windows Path-Variable standardmäßig deaktiviert. Ich habe es aktiviert und es dem Installer überlassen. Python ist jetzt in Version 3.4 fertig installiert.

Apache Konfiguration

Standardmäßig interpretiert der Apache keine Python Scripte. Damit es funktioniert, müssen wir in der Konfiguration ein paar Kleinigkeiten anpassen. Im Xampp Verzeichnis liegt der Ordner “apache” in dem sich wiederum der Ordner “conf” befindet. Dort liegt die httpd.conf, die angepasst werden muss. Je nachdem wo auf der Festplatte Xampp liegt, findet man dort folgende Zeilen:

Entscheidend ist, dass unter “Options” auch “ExecCGI” steht. Normalerweise liegen CGI Scripte im cgi-bin Ordner des Apachen. Will man das Ausführen jedoch auch außerhalb dieses Ordners, in meinem Fall, im htdocs-Verzeichnis erlauben, ist diese Einstellung nötig.
Andernfalls kann man sich im Abschnitt “alias_module” der Apache Config anschauen, dass dort bereits ein ScriptAlias gesetzt wurde.

Soll heißen:
Nehmen wir an, die URL zum PHP Script ist www.example.com/index.php. Unser Python Script liegt jedoch außerhalb des htdocs-Verzeichnis im cgi-bin. Dennoch leitet der Apache den Aufruf www.example.com/cgi-bin/test.py in das cgi-bin-Verzeichnis um.

Darüber hinaus, muss dem Apachen per Konfiguration mitgeteilt werden, bei welchen Scripten es sich überhaupt um CGI Scripte handelt. Standardmäßig gehören dazu Dateien, die auf .cgi, .pl und .asp enden. Die entsprechende Einstellung findet sich hier:

Die AddHandler-Direktive erweitern wir um .py, damit Python auch funktioniert.

Zu guter letzt muss noch überprüft werden, ob das cgi Modul überhaupt geladen wird. Im LoadModule Abschnitt der httpd.config, kommentiert man diese Zeile gegebenenfalls ein.

 

Zum zweiten Teil

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*