ubuntuusers.de

Apache mit Python

Status: Ungelöst | Ubuntu-Version: Ubuntu 8.10 (Intrepid Ibex)
Antworten |

Phylu

Avatar von Phylu

Anmeldungsdatum:
9. November 2008

Beiträge: 94

Wohnort: München

Ich hab einen Apache2 installiert, und möchte nun Python unter diesem zum laufen bringen.

libapache2-mod-python ist installiert. Wenn ich dieses mit

 sudo a2enmod mod_python 

aktivieren möchte kommt der Fehler ERROR: Module mod_python does not exist!

Der Apache spuckt allerdings folgendes aus: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 Server at localhost Port 80

Wenn ich eine test.py mit firefox aufrufe, versucht dieser nur diese herunterzuladen.

Mache ich irgendetwas falsch, oder wo liegt der Fehler?

Liebe Grüße Phylu

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Hi,

hast du mal unter /usr/lib/apache2/modules/ geschaut, ob das Modul mod_python.so in dem Ordner enthalten ist?

Was steht bei dir unter /etc/apache2/mods-available/python.load? Nur die eine Zeile

LoadModule python_module /usr/lib/apache2/modules/mod_python.so

Hast du bei deinen Handlern Python mit eingetragen?

 AddHandler cgi-script cgi pl py

Hast du eine eigene Config für dein Python Modul angelegt?

Ich habe eben mittels

 sudo aptitude install libapache2-mod-python
 cd /etc/apache2/mods-available
 sudo a2enmod python
 sudo apache2ctl restart

das Python Modul ohne Probleme installieren und ein Testscript aufrufen können, nachdem ich den o.a. Handler hinzugefügt habe.

Phylu

(Themenstarter)
Avatar von Phylu

Anmeldungsdatum:
9. November 2008

Beiträge: 94

Wohnort: München

Wenn ich den Handler wie von dir vorgeschlagen setze bekomme ich die Meldung: You don't have permission to access /test.py on this server. Wenigstens will er die Datei nicht mehr herunterladen 😉

python modul ist aktiviert, aber mod_python bringt immer noch die Meldung, es sei nicht da.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Nutze besser mod_fcgid oder mod_wsgi für Python-Anwendungen. mod_python ist mehr oder minder Schrott.

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

@Lunar

Könntest du dafür mal Gründe anbringen? Ich habe bis dato mit mod_python noch keine Probleme gehabt und würde aus Interesse mal gerne wissen, ob ich meine Apachen umstellen sollte.

@Phylu

Da stimmt wahrscheinlich was mit den Berechtigungen nicht, vielleicht darf der Apache-User nicht ins entsprechende Verzeichnis oder er darf die Datei nicht ausführen. Wenn das ganze in einem Vhost ablaufen soll braucht's noch die Options AllowCgi (oder so ähnlich, habe gerade keinen Apachen zu Hand)...

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

DragonLord schrieb:

@Lunar

Könntest du dafür mal Gründe anbringen?

Heute nutzt man Webframeworks, daher entwickelt niemand mehr direkt gegen die mod_python-API. mod_python dient also nur noch dazu, Webanwendungen an Webserver zu hängen. Das aber tut es im Vergleich zu mod_fcgid oder gar zu mod_wsgi eher schlecht:

  • es war zumindest in der Vergangenheit buggy

  • es verlangt einen zusätzlichen Handler (den aber meist das Framework mitliefert), da es nicht WSGI-kompatibel ist

  • im Vergleich zu FastCGI skaliert es schlecht auf unterschiedliche Python-Versionen. Während man bei FastCGI nur den Shebang des FastCGI-Skripts ändern muss, muss man mod_python im schlimmsten Fall neu kompilieren (das gilt allerdings auch für mod_wsgi)

  • im Vergleich zu mod_wsgi ist die Einrichtung und Konfiguration aufwendiger

  • es existiert einzig und allein für den Apachen, andere beliebte Webserver wie lighttpd bleiben außen vor

Weder als Sysadmin noch als Entwickler wird man wirklich unmittelbar mit dieser Problematik konfrontiert, das ist wohl richtig. Aber die Entwickler der verschiedenen Webframeworks werden über kurz oder lang mod_wsgi als Standard empfehlen, eine Frameworks empfehlen schon jetzt FastCGI. Der Grund ist einfach der, das mod_python im Vergleich zu mod_wsgi Entwicklungsaufwand erfordert, während man bei mod_wsgi nur ein bisschen Dokumentation schreiben muss, da das Framework eh schon WSGI-kompatibel ist.

Ich habe bis dato mit mod_python noch keine Probleme gehabt und würde aus Interesse mal gerne wissen, ob ich meine Apachen umstellen sollte.

Don't touch a running system, aber bei Neuinstallation ist mod_wsgi eigentlich die beste Wahl.

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Lunar schrieb:

Don't touch a running system, aber bei Neuinstallation ist mod_wsgi eigentlich die beste Wahl.

Das werde ich beherzigen, aber bei neuen Sachen werde ich mich da mal schlau machen. Vielen Dank für die Infos...

Senad

Anmeldungsdatum:
13. November 2007

Beiträge: Zähle...

ich habe das selbe problem wie der threadstarter und konnte es bisher leider noch nicht lösen, bitte um hilfe!

Ubuntu 8.10

apache, php5, mysql, mod_python frisch aufgesetzt!

gruß Senad

Antworten |