Apache Python · 2 min read · Nov 13, 2025

Einbetten von Python in Apache2 mit mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Seite 3

5 OpenSUSE 11

5.1 Installation von mod_python

Um mod_python zu installieren, führen wir einfach aus:

yast -i apache2-mod_python

Um mod_python zu aktivieren, öffnen Sie /etc/sysconfig/apache2 und fügen Sie python zur Zeile APACHE_MODULES hinzu, z.B. so:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite python" [...] |

Danach führen Sie aus

SuSEconfig

und starten Sie Apache neu:

/etc/init.d/apache2 restart

5.2 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 standardmäßige) Möglichkeit ist die Verwendung des Publisher Handlers. Damit können Sie reine Python-Skripte mit der Erweiterung .py schreiben, die von Apache interpretiert werden. Die zweite Möglichkeit ist der PSP Handler. PSP steht für Python Server Pages. Damit können Sie Python-Code direkt in HTML-Code einbetten, ähnlich wie PHP. PSP-Dateien haben die Erweiterung .psp.

5.2.1 Der Publisher Handler

Um den Publisher Handler zu aktivieren, erstellen wir eine mod_python-Konfiguration in /etc/apache2/conf.d/python.conf (diese Datei existiert nicht, also erstellen wir sie). Ich verwende hier das Standard-Dokumentenverzeichnis von OpenSUSE /srv/www/htdocs in der -Direktive - passen Sie dies an Ihre Bedürfnisse an. Die wichtigen Zeilen sind AddHandler mod_python .py und PythonHandler mod_python.publisher:

vi /etc/apache2/conf.d/python.conf

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

Bitte beachten Sie: Wenn Sie ISPConfig (ab Version 2.2.24) auf dem Server verwenden, erstellen Sie bitte diese Datei nicht, da dies mod_python global für das betreffende Verzeichnis aktivieren würde. In ISPConfig können Sie mod_python stattdessen pro Website aktivieren, was Ihnen mehr Kontrolle darüber gibt, ob eine Website mod_python verwenden kann oder nicht.

Starten Sie danach Apache neu:

/etc/init.d/apache2 restart

Jetzt erstellen wir ein kleines Python-Testskript (z.B. /srv/www/htdocs/test.py) mit reinem Python-Code…

vi /srv/www/htdocs/test.py

| def index(req): return "Test erfolgreich"; |

… und rufen Sie es in einem Browser auf (z.B. http://192.168.0.100/test.py). Wenn alles gut geht, sollte “Test erfolgreich” in Ihrem Browser angezeigt werden.

5.2.2 Der PSP Handler

Um den PSP Handler zu aktivieren, erstellen wir eine mod_python-Konfiguration in /etc/apache2/conf.d/python.conf (diese Datei existiert nicht, also erstellen wir sie). Ich verwende hier das Standard-Dokumentenverzeichnis von OpenSUSE /srv/www/htdocs in der -Direktive - passen Sie dies an Ihre Bedürfnisse an. Die wichtigen Zeilen sind AddHandler mod_python .psp und PythonHandler mod_python.psp:

vi /etc/apache2/conf.d/python.conf

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

Bitte beachten Sie: Wenn Sie ISPConfig (ab Version 2.2.24) auf dem Server verwenden, erstellen Sie bitte diese Datei nicht, da dies mod_python global für das betreffende Verzeichnis aktivieren würde. In ISPConfig können Sie mod_python stattdessen pro Website aktivieren, was Ihnen mehr Kontrolle darüber gibt, ob eine Website mod_python verwenden kann oder nicht. Beachten Sie auch, dass ISPConfig den PSP Handler nicht unterstützt - es verwendet den Publisher Handler.

Starten Sie danach Apache neu:

/etc/init.d/apache2 restart

Jetzt erstellen wir ein kleines PSP-Testskript (z.B. /srv/www/htdocs/test.psp) mit HTML- und Python-Code…

vi /srv/www/htdocs/test.psp

|

<% req.write("Hallo!") %>

|

… und rufen Sie es in einem Browser auf (z.B. http://192.168.0.100/test.psp). Wenn alles gut geht, sollte “Hallo!” in Ihrem Browser angezeigt werden.

6 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.