Python Apache · 2 min read · Nov 12, 2025
Einbetten von Python in Apache2 mit mod_python (Debian Etch)
Einbetten von Python in Apache2 mit mod_python (Debian Etch)
Version 1.0
Autor: Falko Timme
Dieses Tutorial zeigt, wie man mod_python auf einem Debian Etch-Server mit Apache2 installiert und verwendet. mod_python ist ein Apache-Modul, das den Python-Interpreter im Server einbettet. Es ermöglicht Ihnen, webbasierte Anwendungen in Python zu schreiben, die viele Male schneller laufen als traditionelle CGI und Zugriff auf erweiterte Funktionen wie die Möglichkeit, Datenbankverbindungen und andere Daten zwischen Aufrufen zu behalten, sowie Zugriff auf die internen Funktionen von Apache haben.
Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
Ich habe dies auf einem Debian Etch-Server mit der IP-Adresse 192.168.0.100 getestet, auf dem Apache2 bereits installiert ist.
Ich verwende in diesem Beispiel einen virtuellen Host mit dem Dokumentenstamm /var/www.
2 Installation von mod_python
Um mod_python zu installieren, führen wir einfach aus:
apt-get install libapache2-mod-python
3 Konfiguration von Apache
Jetzt müssen wir Apache so konfigurieren, dass es Python-Dateien verarbeiten kann. Es gibt zwei Möglichkeiten, dies zu tun. Die erste (und Standard-) Möglichkeit ist die Verwendung des Publisher Handlers. Er ermöglicht es Ihnen, reine Python-Skripte mit der Erweiterung .py zu schreiben, die von Apache interpretiert werden. Die zweite Möglichkeit ist der PSP Handler. PSP steht für Python Server Pages. Er ermöglicht es Ihnen, Python-Code direkt in HTML-Code einzubetten, ähnlich wie PHP. PSP-Dateien haben die Erweiterung .psp.
3.1 Der Publisher Handler
Um den Publisher Handler zu aktivieren, müssen wir unsere vhost-Konfiguration öffnen (ich verwende den Standard-vhost auf Debian mit dem Dokumentenstamm /var/www; die Konfiguration für diesen vhost befindet sich in /etc/apache2/sites-available/default) und die Zeilen AddHandler mod_python .py, PythonHandler mod_python.publisher und PythonDebug On hinzufügen:
vi /etc/apache2/sites-available/default
| [...] |
Starten Sie Apache danach neu:
/etc/init.d/apache2 restart
Jetzt erstellen wir ein kleines Python-Testskript (z.B. /var/www/test.py) mit reinem Python-Code…
vi /var/www/test.py
| def index(req): return "Test erfolgreich"; |
… und rufen es in einem Browser auf (z.B. http://192.168.0.100/test.py). Wenn alles gut geht, sollte es “Test erfolgreich” in Ihrem Browser anzeigen.
3.2 Der PSP Handler
Um den PSP Handler zu aktivieren, müssen wir unsere vhost-Konfiguration öffnen (ich verwende den Standard-vhost auf Debian mit dem Dokumentenstamm /var/www; die Konfiguration für diesen vhost befindet sich in /etc/apache2/sites-available/default) und die Zeilen AddHandler mod_python .psp, PythonHandler mod_python.psp und PythonDebug On hinzufügen:
vi /etc/apache2/sites-available/default
| [...] |
Starten Sie Apache danach neu:
/etc/init.d/apache2 restart
Jetzt erstellen wir ein kleines PSP-Testskript (z.B. /var/www/test.psp) mit HTML- und Python-Code…
vi /var/www/test.psp
| |<% req.write("Hallo!") %>
… und rufen es in einem Browser auf (z.B. http://192.168.0.100/test.psp). Wenn alles gut geht, sollte es “Hallo!” in Ihrem Browser anzeigen.
4 Python-Module
Wenn Sie weitere Python-Module benötigen, können Sie nach ihnen wie folgt suchen:
apt-cache search python
Wählen Sie die benötigten aus und installieren Sie sie wie folgt:
apt-get install python-mysqldb python-xml
Starten Sie Apache danach neu:
/etc/init.d/apache2 restart
5 Links
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.