mod_python unter Linux installieren

Probleme bei der Installation?
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

mod_python unter Linux installieren

Beitragvon bicpi » Dienstag 31. Mai 2005, 00:25

Hi, ich möchte gerne das mod_python unter SuSE-Linux 9.2 installieren (Apache2), und habe zwei Fragen:

1. ist ist mit dem Modul dann möglich Python-Dateien überall im Dateisystem (also natürlich in den htdocs) direkt anzusprechen (also kein cgi). Habe ich das richtig verstanden?

2. Wenn ich das Modul kompilieren will, läuft configure läuft soweit ohne Fehler:

Code: Alles auswählen

./configure --with-apxs=/usr/local/apache2/bin/apxs


Wenn ich danach make aufrufe, kommt es zu einer Unzahl an Fehlern, hier ein kleiner Auszug:

Code: Alles auswählen

mod_python.c:1877: error: parse error before '*' token
mod_python.c: In function `PythonPostReadRequestHandler':
mod_python.c:1881: error: `req' undeclared (first use in this function)
mod_python.c: At top level:
mod_python.c:1888: error: parse error before '*' token
mod_python.c: In function `PythonTransHandler':
mod_python.c:1889: error: `req' undeclared (first use in this function)
mod_python.c: At top level:
mod_python.c:1891: error: parse error before '*' token
mod_python.c: In function `PythonTypeHandler':
mod_python.c:1892: error: `req' undeclared (first use in this function)
apxs:Error: Command failed with rc=65536
.
make[1]: *** [mod_python.so] Fehler 1
make[1]: Leaving directory `/home/bicpi/Documents/mod_python-3.1.4/src'
make: *** [do_dso] Fehler 2



Was läuft da schief, muss ich irgenwas zusätzlich installieren?? Oder habe ich was Grundsätzliches vergessen bzw. weiss es nicht?

Bin über jede Hilfe dankbar.

Viele Grüße
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: mod_python unter Linux installieren

Beitragvon Leonidas » Dienstag 31. Mai 2005, 13:47

bicpi hat geschrieben:1. ist ist mit dem Modul dann möglich Python-Dateien überall im Dateisystem (also natürlich in den htdocs) direkt anzusprechen (also kein cgi). Habe ich das richtig verstanden?

Nein. mod_python ist kein CGI und auch kein PHP. Mit mod_python kannst du eine Datei wählen, die vom Python Interpreter ausgeführt wird.

bicpi hat geschrieben:2. Wenn ich das Modul kompilieren will, läuft configure läuft soweit ohne Fehler:

Code: Alles auswählen

./configure --with-apxs=/usr/local/apache2/bin/apxs

Müsste es nicht APXS2 sein? Und mod_python 3.x nicht 2.x
My god, it's full of CARs! | Leonidasvoice vs Modvoice
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Dienstag 31. Mai 2005, 18:27

1. Meinen wir nicht doch das gleiche? Mit mod_python kann ich eine .py Datei im Documentroot aufrufen und sie wird ausgeführt? Und dazu muss sie nicht im cgi-bin liegen? Also http://localhost/test.py müsste dann funktionieren?

2. Ich dachte auch an apxs2, weil ich PHP schon kompiliert habe und da lautet die Option tatsächlich so. Ich habs jetzt mit Python ausprobiert, und es kommt:

Code: Alles auswählen

./configure --with-apxs2=/usr/local/apache2/bin/apxs
...
...
configure: checking whether apxs is available...
checking for --with-apxs... no
checking for apxs in /usr/local/apache/sbin... no
checking for apxs in your PATH... checking for apxs... no
configure: WARNING: **** apxs was not found, DSO compilation will not be available.
configure: WARNING: **** You can use --with-apxs to specify where your apxs is.
configure: error: Neither static nor DSO option available, there is no point in


Im bin vom Apache gibt es aber nur apxs, und mit --with-apxs=... gibt es keinen Fehler im configure...seltsam.

Noch einen Tip? Hat das schon mal jemand erfolgreich installiiert?

Danke vielmals
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 31. Mai 2005, 18:36

bicpi hat geschrieben:1. Meinen wir nicht doch das gleiche? Mit mod_python kann ich eine .py Datei im Documentroot aufrufen und sie wird ausgeführt? Und dazu muss sie nicht im cgi-bin liegen? Also http://localhost/test.py müsste dann funktionieren?

Nur wenn du genau diese Datei in der httpd.conf/apache.conf eingetragen hast, anders habe ich es noch nicht zum laufen bekommen, es ging immer nur diese eine Datei. Aber vielleicht habe ich auch die Konfiguration nicht verstanden. :?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 1. Juni 2005, 07:09

Meint nicht bicpi in ersterlinie das Ausführen von PY-Skripten ausßerhalb von /cgi-bin/ ??? Das geht nicht über mod_python, sondern in der apache2.conf mit AddHandler... (glaub ich :) )

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 10:36

jens hat geschrieben:Meint nicht bicpi in ersterlinie das Ausführen von PY-Skripten ausßerhalb von /cgi-bin/ ??? Das geht nicht über mod_python, sondern in der apache2.conf mit AddHandler... (glaub ich :) )


Aber dazu muss doch erstmal das mod_python installiert sein, ne?

Also mein Ziel wäre es, Python-Dateien direkt im Browser aufrufen zu können.

Und wie habt ihr die mod_python-Installation denn hinbekommen, gab es da keine Probleme beim kompilieren?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 1. Juni 2005, 10:45

bicpi hat geschrieben:Aber dazu muss doch erstmal das mod_python installiert sein, ne?

IMHO eben nicht :lol:

mod_python ist für was anderes, was genau es macht bzw. machen kann, weiß ich allerdings nicht wirklich...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 11:04

IMHO??

Also kann ich Python-Dateie ausführen überall, wenn ich die Apache-Conf richtig einstelle? Welche Zeiel muss ich einfügen? Irgenwas mit AddHandler, ne?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 1. Juni 2005, 11:08

http://de.wikipedia.org/wiki/IMHO
IMHO - In My Humble Opinion - meiner unmaßgeblichen/bescheidenen Meinung nach
:lol:

google erster Treffer: http://buecher.lingoworld.de/apache2/sh ... 429&o=date :

Beispielsweise könnten alle Dateien mit den Endungen .cgi und .pl wie folgt als CGI-Skripte behandelt werden:
AddHandler cgi-script .cgi .pl

Natürlich statt ".pl" ".py" eintragen ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 13:00

Das funktioniert !
Musste allerdings noch in den "Options" "ExecCGI" ergänzen...
Jetzt frag ich mich, ob das eine unsichere Konfiguration ist, CGI-Files bzw. Python-Files überall im Document-Root ausführbar zu haben? Ist das schlimm?

Und zum Zweiten frage ich mich, für was dann überhaupt das mod_python da ist, wenn nicht für das!?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 1. Juni 2005, 13:03

Ich glaube nicht das es unsicher ist. Es ist zumindest richtig Praktisch! Ich hab z.B. auf hosteurope nicht die möglichkeiten außerhalb vom /cgi-bin/ Python Skripte zum laufen zu bekommen :( Das Ärgert mich scon gewaltig, weil es unschöne URLs produziert :(

Es gibt allerdings ein kleinen Trick! Man benutzt einfach SSI:

index.shtml

Code: Alles auswählen

<!--#exec cgi="/cgi-bin/PyLucid/index.py" -->


Allerdings gilt es dabei zu beachten, das man keine POST Daten erhalten kann :(

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 13:22

Daraus folgt: -> Eigenen Server mieten :-)

Ich hab da auch noch einen Trick gefunden:

Code: Alles auswählen

<?php
require('cgi-bin/test.py');
?>


Bleibt nur noch das mysteriöse mod_python...
Benutzeravatar
jgollers
User
Beiträge: 42
Registriert: Freitag 29. November 2002, 12:23
Wohnort: Kirchlengern

Beitragvon jgollers » Mittwoch 1. Juni 2005, 17:31

bicpi hat geschrieben:Bleibt nur noch das mysteriöse mod_python...


Also ich setze auf mod_python weil es...

1.) Schnell ist (schneller als normale CGI-Skripte)
2.) Weil ich meine Seiten besser strukturieren kann.
2.) Weil ich dann auf Apache-interne Dinge zugreifen bzw. diese ansprechen kann. (Handler)
3.) Wegen des Session Managements


Jörg Gollers
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 18:37

Und wie installiere ich das mod_python dann? (siehe Fehlermeldungen im Eröffnungsbeitrag)

Ich habe nur die --with-apxs Option im configure-String angegeben. Muss ich noch was installieren zusätzlich? Wie hast Dus zum Laufen gebracht ich würde es auch sehr gerne benutzen. Danke :-)
bicpi
User
Beiträge: 23
Registriert: Samstag 28. Mai 2005, 12:35

Beitragvon bicpi » Mittwoch 1. Juni 2005, 18:48

Ein Gang zurück, ich habs geschafft mit dem Kompilieren ! Die python-devel Pakete haben gefehlt, doof dass das das configure nicht angezeigt hat.. ;-)

Wie genau benutze ich jetzt das Modul, muss ich noch Einträge in der httpd.conf machen? Im Moment werden meine .py-Dateien dank

Code: Alles auswählen

AddHandler cgi-script .py
Options ExecCGI

direkt ausgeführt, kann ich nun sozusagen auf das mod_python "umsteigen".
Ein

Code: Alles auswählen

LoadModule modules/mod_python
muss wohl her, sonst noch was? Sowas wie application... bei PHP?

Danke und froh bin ich schon mal , dass es endlich geklappt hat.

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]