Problem: 3rd party Modul unter Apache2 ans laufen bringen

Alles, was den Apache betrifft, kann hier besprochen werden.

Problem: 3rd party Modul unter Apache2 ans laufen bringen

Postby Old Shatterhand » 09. September 2005 19:54

Hi,
ich versuche ein (leider sehr spärlich dokumentiertes) 3rd Party Modul auf meinem Apache2 ans Rennen zu kriegen. Irgendwo ist da aber der Wurm drin.

HIer mal kurz, was ich bisher gemacht habe. Vielleicht weiss ja einer von Euch Rat:
Zunächst habe ich das Modul aus den Sourcen mittels apxs2 kompiliert:

apxs2 -a -i -c -I/path/to/gsoap/installation mod_gsoap.c

Das lief ganz prima. Apxs hat das Modul für mich dann automatisch nach /usr/lib/apache2/modules verschoben und in der httpd.conf einen Eintarg hinterlassen:
LoadModule gsoap_module /usr/lib/apache2/modules/mod_gsoap.so

Eigentlich soll das beim Apache2 ja anders laufen, aber immerhin hat das der Hauseigene apxs2 so geamcht, zudem steht in der httpd.conf, dass diese Datei dass Installieren von 3rd Party Modulen via apxs2 ermöglichen soll. Fein.

Als nächstes galt es dann, eine Shared Library zu erstellen, aus der das Modul dann ein Paar von mir gebastelte WebServices (der Sinn der ganzen Veranstaltung) benutzen kann. Das lief auch, nur musste dem Apache ja nun auch mitgeteilt werden, wie er denn an diese Sahred lib gelangt. Praktsicherweise stand das (so einigermassen...) auch in der Doku zum 3rd Party Modul, nur leider für den 1.3er.

Daher habe ich versucht, das so gut es geht für Ver.2 umzubiegen.

In der "mods-available" habe ich eine Datei gsoap.conf hinzugefügt, da drin steht sinngemäss:
<IfModule mod_gsoap.c>
<Location /soap>
SetHandler gsoap-handler
SOAPLibrary /home/myusername/libapamod.so
</Location>
</IfModule>

in der mods-enabled habe ich dann per ln -s einen Link auf die o.g. Datei gesetzt. Dann wurde Apache neu gestartet und ich habe versucht via http://localhost/soap eine Verbindung zu dem Service herzustellen. Leider bekomme ich aber den 404.

In der "Doku" zu dem mod steht, dass man keinesfalls ein Verzeichnis Namens soap anlegen soll, da mittels der Location direktive dem Server mitgeteilt würde, dass unter /soap ein virtuelles directory angelegt wurde, was mit dem *.so verknüpft sei.

Wenn das *.so aber angesprochen werden würde, dürfte alles andere, aber kein 404 kommen. Ich bin jetzt ein bisschen Ratlos, hoffe aber, dass jemand sich hier etwas besser mit Apache2 Konfigurationen auskennt und mir sagen kann, was ich falsch gemacht haben könnte. Ich bin für alle Hinweise dankbar.

Falls es weiterhilft: Ich nutze Linux, Apache2 und der läuft auf meiner lokalen Maschine.
Old Shatterhand
 
Posts: 3
Joined: 09. September 2005 19:18
Location: Köln

Postby Wiedmann » 09. September 2005 20:06

Eigentlich soll das beim Apache2 ja anders laufen,

Wer oder was sollte da anders ablaufen beim Apache2? apxs hat ja genau das gemacht was es soll.

Also, von deinem eigentlichen Problem habe ich keine Ahnung, da ich schon das Modul nicht kenn.
SOAPLibrary /home/myusername/libapamod.so

Hat der Apache überhaupt Zugriff auf dieses Verzeichnis? Tu diese Lib doch ins normale LIBdir oder zu den anderen Apache Module.

Leider bekomme ich aber den 404.

Was steht im access_log und error_log?
Evtl. auch mal den "LogLevel" auf "Debug" stellen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Old Shatterhand » 09. September 2005 20:23

Danke für den Hinweis!

error log saget, dass es kein Verzeichnis www/soap gibt, acces eben, dass da ein Zugriffsversuch mit 404 beantwortet wurde. Nur mit der Rechtesache haste mich auf eine Idee gebracht-direkt mal testen.
Ansonsten:
Sollte ich also nicht in mods-available/enabled mein Modul registrieren, sondern eher in der httpd.conf oder der apache2.conf?
Old Shatterhand
 
Posts: 3
Joined: 09. September 2005 19:18
Location: Köln

Postby Wiedmann » 09. September 2005 20:37

Sollte ich also nicht in mods-available/enabled mein Modul registrieren, sondern eher in der httpd.conf oder der apache2.conf?

k.a.
"mods-available/enabled" oder "apache2.conf" sind Konfigdateien die es nur bei deiner Linuxdistribution gibt. Wie die dort, und für was, verwendet werden, müsstest du dem Handbuch deiner Distri entnehmen.

Der "orginale" Apache kennt erstmal nur "httpd.conf" (und "ssl.conf"). Demzufolge arbeitet halt auch apxs mit der "httpd.conf".
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests