Apache 2.0.x: DSO mod_auth_pgsql
André Laugks
- webserver
Hallo!
Ich möchte mod_auth_pgsql und mod_auth_mysql in den Apache 2.0.55 einbinden.
Ich bekomme eine Meldung, dass das Modul erfolgreich ("Libraries have been installed in: /usr/local/apache2.2/modules") installiert wurde. Leider wird aber die so-Datei nicht erstellt. Im Verzeichnis "modules" wird die Datei mod_auth_pgsql.a und mod_auth_pgsql.la abgelegt. Unter http://www.pb82.de/_extern/mod_auth_pgsql.txt liegt der gesamte Kompilierungsvorgang. Die Pfade existieren.
Installationsanleitung:
http://www.giuseppetanzilli.it/mod_auth_pgsql2/#compile
In der /etc/ld.so.conf ist /usr/local/pgsql/lib eingetragen. Es sollte aber auch ohne gehen.
André Laugks
hallo André,
Ich möchte mod_auth_pgsql und mod_auth_mysql in den Apache 2.0.55 einbinden.
"Libraries have been installed in: /usr/local/apache2.2/modules"
Gibt es da nicht einen _kleinen_ Widerspruch in der Apache-Version? Mit Apache 2.2.x ändern sich einige Modulnamen (und auch ihre Funktionen zum Teil) drastisch.
Grüße aus Berlin
Christoph S.
Hallo!
Gibt es da nicht einen _kleinen_ Widerspruch in der Apache-Version? Mit Apache 2.2.x ändern sich einige Modulnamen (und auch ihre Funktionen zum Teil) drastisch.
Upps, sorry! Ich hatte es zuvor unter Apache 2.2.x versucht. Weil sich das mit den Modulnamen geändert hat, habe ich noch einmal auf die Projektseite geschaut.
----------------------------------------><8--------------------------------------------------
This page documents version 2.0.3 (2006 01 05) of mod_auth_pgsql require Apache >= 2.0.40 and PostreSQL >= 7.x
----------------------------------------><8--------------------------------------------------
Dann habe ich den Apache 2.0.55 verwendet. Auf der Webseite habe ich auch nichts vom Apache 2.2 gelesen.
-> Libraries have been installed in: /usr/local/apache2/modules
Mit mod_auth_mysql habe ich das selbe Problem. Im 1.3 hab eich es installiert bekommen. Ich benötige aber den Apache2.
André Laugks
hallo André,
Upps, sorry! Ich hatte es zuvor unter Apache 2.2.x versucht.
Es sieht fast so aus, als hättest du dir nur die Module dazugeladen (ich kann mich da irren). Wirf deinen Apache nochmal ganz und gar raus und kompiliere ihn dir danach vollständig neu - das müßte ausreichen.
Und: ja, mit mod_auth_mysql hatte ich solche Probleme sowohl bei Apache 2.0.x wie auch mit Apache 2.2.x auch schon. Neu kompilieren und aufsetzen hat geholfen.
Grüße aus Berlin
Christoph S.
Hallo Christoph!
Es sieht fast so aus, als hättest du dir nur die Module dazugeladen (ich kann mich da irren).
Ich habe den Apache mit DSO übersetzt. Aber das ist doch der Vorteil, dass man Module nachladen kann.
Und: ja, mit mod_auth_mysql hatte ich solche Probleme sowohl bei Apache 2.0.x wie auch mit Apache 2.2.x auch schon. Neu kompilieren und aufsetzen hat geholfen.
Ja, das hat geholfen. Ich habe jetzt so eine Halb(DSO)-und-Halb(Statische)-Lösung.
./configure --prefix=/usr/local/apache2
--sysconfdir=/etc/httpd2
--with-layout=SuSE
--enable-suexec
--with-suexec-caller=wwwrun
--with-suexec-uidmin=500
--with-suexec-gidmin=100
--with-suexec-docroot=/www
--enable-module=so
--enable-shared=max
--enable-dav
--enable-dav-fs
--enable-dav-lock
--with-module=auth_pgsql:/usr/src/mod_auth_pgsql-2.0.3/mod_auth_pgsql.c
web1:/etc/httpd2 # /usr/local/apache2/bin/httpd -l
Compiled in modules:
...
mod_auth_pgsql.c
...
Ich habe die Authentifizierung über mod_auth_pgsql noch nicht probiert. Testhalber habe ich mal eine Directive in die httpd.conf geschrieben und ein configtest gebacht. das habe ich mit OK bestätigt bekommen.
Dann werde ich das jetzt noch einmal mit mod_auth_mysql machen.
Vielen Dank für Deinen Tipp!
André Laugks
Hallo!
Und: ja, mit mod_auth_mysql hatte ich solche Probleme sowohl bei Apache 2.0.x wie auch mit Apache 2.2.x auch schon. Neu kompilieren und aufsetzen hat geholfen.
Ich bekomme beim compilieren die Fehlermeldung, das die mysql.h nicht gefunden werden kann. Die liegt unter /usr/include/mysql. Was ja eigentlich das Standard-Include-Verzeichnis ist.
Dann habe ich versucht, Flags zu setzen. Leider bringt der ./configure-Vorgang ab.
./configure CPPFLAGS=I/usr/include/mysql LDFLAGS=-L/usr/lib/mysql --prefix=/usr/local/apache2
--sysconfdir=/etc/httpd2
--with-layout=SuSE
--enable-suexec
--with-suexec-caller=wwwrun
--with-suexec-uidmin=500
--with-suexec-gidmin=100
--with-suexec-docroot=/www
--enable-module=so
--enable-shared=max --with-module=auth_mysql:/usr/src/mod_auth_mysql-3.0.0/mod_auth_mysql.c
=======================================================================================================
web1:/usr/src/httpd-2.0.55 # ./configure CPPFLAGS=I/usr/include/mysql LDFLAGS=-L/usr/lib/mysql --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2 --with-layout=SuSE --enable-suexec --with-suexec-caller=wwwrun --with-suexec-uidmin=500 --with-suexec-gidmin=100 --with-suexec-docroot=/www --enable-module=so --enable-shared=max --with-module=auth_mysql:/usr/src/mod_auth_mysql-3.0.0/mod_auth_mysql.c
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
Configuring Apache Portable Runtime library ...
Die config.log sagt leider auch nichts aus.
Hast Du vielleicht eine Idee?
André Laugks
hallo André,
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
configure failed for srclib/apr
Hast Du vielleicht eine Idee?
Ja. Da ist die falsche libapreq oder gar keine vorhanden.
Grüße aus Berlin
Christoph S.
Hallo!
Ja. Da ist die falsche libapreq oder gar keine vorhanden.
Was macht den die libapreg?
Ich habe da jetzt aber ein Verständnisproblem! Der eine kann ohne den anderen nicht. Der Apache braucht die installierte libapreg, und die libapreg möchte schon im Apache eingebunden sein.
web1:/usr/src/libapreq2-2.0 # ./configure
--with-apache2-apxs=/usr/local/apache2/bin --with-apache2-httpd=/usr/local/apache2/bin --with-apache2-src=/usr/src/httpd-2.0.55
configure: error: invalid apr-config location (/usr/src/httpd-2.0.55/srclib/apr/apr-config)- did you forget to configure apr?
web1:/usr/src/httpd-2.0.55 # ./configure --help | grep apr
--with-apr=DIR|FILE prefix for installed APR, path to APR build tree,
or the full path to apr-config
--with-apr-util=DIR prefix for installed APU, or path to APU build tree
André Laugks
hallo André,
Was macht den die libapreg?
Ich habe da jetzt aber ein Verständnisproblem! Der eine kann ohne den anderen nicht.
Vielleicht hilft dir hier die Doku weiter.
configure: error: invalid apr-config location
Es sieht so aus, als hättest du deine libapreq einfach nur am falschen Ort (Pfad) liegen.
Grüße aus Berlin
Christoph S.
Hallo!
Vielleicht hilft dir hier die Doku weiter.
Ja, aber das ist ja mein Verständnisproblem. Wenn ich den Apache installiere, steht mir apxs ja nocht nicht zur Verfügung. Der Apache benötigt aber APR, wenn ich ihn mit mod_auth_mysql übersetzen möchte. APR kann ich aber nur mit apxs installieren.
configure: error: invalid apr-config location
Es sieht so aus, als hättest du deine libapreq einfach nur am falschen Ort (Pfad) liegen.
Ich kann libapreq nicht installieren, weil ich dazu den Apache benötigt. Das ./configure-Script sucht nach eine Apache-Installation.
André Laugks
hallo André,
Ja, aber das ist ja mein Verständnisproblem. Wenn ich den Apache installiere, steht mir apxs ja nocht nicht zur Verfügung. Der Apache benötigt aber APR, wenn ich ihn mit mod_auth_mysql übersetzen möchte. APR kann ich aber nur mit apxs installieren.
Ich verstehe ja deine Frustration: das ist eine Katze, die sich selber in den Schwanz beißt ...
Ich kann libapreq nicht installieren
Mir war vorhin aufgefallen, daß es in deinem posting unterschiedliche Pfadangaben gibt. Kopiere dir den ganzen Kram doch einfach mal hin und her, bis du auf allen diesen Pfaden das liegen hast, was du wahrscheinlich benötigst. Das ist zwar eine Holzhacker-Methode, aber manchmal hilfts ja.
Andrerseits: wenn ich deine postings richtig verstanden habe, benutzt du eine SUSE. Und die hat nun einmal eine Menge Eigenarten und Macken. Noch ein Kompromißvorschlag: hole dir deinen Apache einfach mal über YaST. Mit YOU (YaST Online Update) solltest du, wenn ich das richtig gesehen habe, jetzt auch einen Apache 2.0.55 bekommen, und da wird dann als Abhängigkeit die richtige libapr0 mitinstalliert. Und wenn du das hast, kompilierst du ihn dir halt nochmal in einem temporären Verzeichnis neu und schiebst dann alle Dateien, die du damit verändert hast, dorthin, wo sie hingehören. Das ist eine reine Verzweiflungstat, das weiß ich auch - aber wenn das eingesetzte Basissystem partout etwas andres will als du, mußt du eben nach Wegen suchen, auf denen du es überlisten kannst.
Ich habe im Moment nur eine SUSE 10.0 als virtuelle Maschine (VMware) hier laufen, udn da ist alles völlig glatt gegangen. Das wird dich kaum trösten, bis auf den Hinweis, daß das, was du gerne machen möchtest, durchaus auch mit einer SUSE funktionieren kann.
Grüße aus Berlin
Christoph S.
Hallo!
Das wird dich kaum trösten, bis auf den Hinweis, daß das, was du gerne machen möchtest, durchaus auch mit einer SUSE funktionieren kann.
Komisch ist, dass ich mod_auth_mysql unter Apache 1.3 installiert bekommen habe. Ich lasse das jetzt mal ein paar Tage ruhen und dann setze ich mich noch einmal dran.
mod_auth_pgsql läuft ja. PostgreSQL gefällt mit eh besser. Durch AdoDB muß ich das Benutzertool nicht neu programmieren.
Mein Schweinehund möchte aber auf dem Liveserver mod_auth_mysql noch ans laufen bekommen...
André Laugks