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_pythonUm 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
SuSEconfigund starten Sie Apache neu:
/etc/init.d/apache2 restart5.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
vi /etc/apache2/conf.d/python.conf| |
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 restartJetzt 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
vi /etc/apache2/conf.d/python.conf| |
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 restartJetzt 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
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.