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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On [...] |

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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On [...] |

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.