Python in Apache · 3 min read · Nov 12, 2025
Einbettung von Python in Apache2 mit mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Seite 2
4 Mandriva 2008 Spring (2008.1)
4.1 Installation von mod_python
Bevor wir mod_python installieren können, müssen wir die Haupt-, main_updates-, contrib- und contrib_updates-Repositorys aktivieren. Gehen Sie zu http://easyurpmi.zarb.org/ - es sollte Ihnen die Befehle geben, die Sie ausführen müssen, um diese Repositorys zu aktivieren. In meinem Fall habe ich ausgeführt
urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.czum sie zu aktivieren.
Um mod_python zu installieren, führen wir einfach aus:
urpmi apache-mod_python4.2 Konfiguration von Apache
Jetzt müssen wir Apache konfigurieren, damit 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.
4.2.1 Der Publisher Handler
Um den Publisher Handler zu aktivieren, müssen wir die mod_python-Konfiguration bearbeiten, die Sie in /etc/httpd/modules.d/16_mod_python.conf finden können. Diese Datei enthält viele Beispiele - wir machen eine Sicherungskopie davon und erstellen diese Datei erneut von Grund auf. Ich verwende hier das Standard-Dokumentenverzeichnis von Mandriva /var/www/html in der
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
Bitte beachten Sie: Wenn Sie ISPConfig (ab Version 2.2.24) auf dem Server verwenden, lassen Sie den
Starten Sie Apache anschließend neu:
/etc/init.d/httpd restartJetzt erstellen wir ein kleines Python-Testskript (z.B. /var/www/html/test.py) mit reinem Python-Code…
vi /var/www/html/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.
4.2.2 Der PSP Handler
Um den PSP Handler zu aktivieren, müssen wir die mod_python-Konfiguration bearbeiten, die Sie in /etc/httpd/modules.d/16_mod_python.conf finden können. Diese Datei enthält viele Beispiele - wir machen eine Sicherungskopie davon und erstellen diese Datei erneut von Grund auf. Ich verwende hier das Standard-Dokumentenverzeichnis von Mandriva /var/www/html in der
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
Bitte beachten Sie: Wenn Sie ISPConfig (ab Version 2.2.24) auf dem Server verwenden, lassen Sie den
Starten Sie Apache anschließend neu:
/etc/init.d/httpd restartJetzt erstellen wir ein kleines PSP-Testskript (z.B. /var/www/html/test.psp) mit HTML- und Python-Code…
vi /var/www/html/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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.