suse 8.0 und mod_auth_mysql (per apache-contrib.rpm)
scheuri
- webserver
hallo allerseits
entschuldigt, dass ich wieder mit der frage komme...aber im archiv wurde sie leider nicht beantwortet...
vorgehen:
habe apache und apache-contrib mit rpm's installiert und dann im /sysconfig/apache die variable HTTPD_SEC_MOD_AUTH_MYSQL von "no" auf "yes" gesetzt und ein SuSEconfig durchgeführt.
die beiden files suse_loadmodule und suse_addmodule wurden um jeweils mod_auth_mysql erweitert und apache liess sich ohne probleme restarten.
ABER...
ich kann per .htaccess nicht drauf zugreifen...auch kann ich nicht im httpd.conf die datanbank, etc angeben.
alle beispiele und dokumentationen, welche ich im netz fand, trafen nicht auf meine installation zu...wer weiss wieso?...(rhetorische frage).
alle meine variablen in der .htacces-datei wie "Auth_MySQL_Username" oder "Auth_MySQL_Username_Table" oder "Auth_MySQL_Password_Table" etc. wurden mit folgender fehlermeldung gesegnet:
test/.htaccess: Invalid command 'variable xyz', perhaps mis-spelled or defined by a module not included in the server configuration
ich weiss echt nicht wie weiter...habe alle schreibweisen ausprobiert....mit und ohne leerschlag, klein/grossschreinung, mit und ohne _ (underscore)....in der httpd.conf und in der .htaccess...
hat jemand erfahrung damit?
kann mir jemand ein tip geben, was ich schreiben könnte (sowohl in httpd.conf wie auch .htaccess-files) und somit das module nicht nur laden sondern auch nutzen kann?
danke 1000mal...
scheuri
Hi scheuri,
habe apache und apache-contrib mit rpm's installiert und dann im
/sysconfig/apache die variable HTTPD_SEC_MOD_AUTH_MYSQL von "no"
auf "yes" gesetzt und ein SuSEconfig durchgeführt.
die beiden files suse_loadmodule und suse_addmodule wurden um
jeweils mod_auth_mysql erweitert und apache liess sich ohne
probleme restarten.
puh - also ich habe schon ein paar Dutzend Apaches installiert, aber
von diesen Begriffen habe ich bisher nicht einen einzigen auch nur
gehört.
alle beispiele und dokumentationen, welche ich im netz fand,
trafen nicht auf meine installation zu...wer weiss wieso?...
Weil Du nicht Apache verwendest, sondern das, was SuSE daraus gemacht
hat. So ist das eben, wenn Du Dich einer black box anvertraust, statt
den Apache selbst zu installieren und zu konfigurieren.
Und noch dazu willst Du ein Fremdprodukt einsetzen, das natürlich
wieder seine eigene Dokumentation hat und seine eigenen Voraussetzun-
gen mitbringt.
alle meine variablen in der .htacces-datei
Variablen? In einer .htaccess-Datei stehen Apache-Direktiven.
"Variablen" gibt es nicht - Apache ist keine Programmiersprache.
wie "Auth_MySQL_Username" oder "Auth_MySQL_Username_Table"
oder "Auth_MySQL_Password_Table" etc.
Hm, ich kenne dieses 3rdparty-Fremdmodul nicht, aber die Namen der
Direktiven sehen zumindest exotisch aus (siehe allerdings unten).
test/.htaccess: Invalid command 'variable xyz',
Äh, das paßt aber nicht zu Deinen Beispielen vorher.
perhaps mis-spelled or defined by a module not included in the
server configuration
Das ist klar: Jedes Modul, das im Apache erfolgreich (!) geladen ist,
bringt eigenen Code mit, um _seine_ Direktiven zu parsen.
Wenn die Direktiven nicht verstanden werden, dann ist das Modul nicht
da - in Deinem Falle also mod_auth_mysql nicht in den Apache geladen.
ich weiss echt nicht wie weiter...habe alle schreibweisen
ausprobiert....mit und ohne leerschlag, klein/grossschreinung, mit
und ohne _ (underscore)....in der httpd.conf und in der .htaccess...
Nichts davon macht irgend einen Sinn. Die Schreibweise steht in der
Anleitung zu Deinem Modul - Variationen davon bringen nichts.
(Wobei ich Underscores in Apache-Direktiven bisher nur in einem
einzigen Modul gesehen habe - der allerdings auch Authentifizierung
macht, vielleicht hat mod_auth_mysql das als Vorbild genommen.)
kann mir jemand ein tip geben, was ich schreiben könnte (sowohl in
httpd.conf wie auch .htaccess-files) und somit das module nicht nur
laden sondern auch nutzen kann?
Ich bezweifele, daß das Modul geladen ist.
Suche mal, wo SuSE Deinen Apache versteckt hat (das Programm "httpd"
meine ich damit) und gib dann das Kommando "httpd -L" ein. Das zeigt
Dir eine (laaaange ...) Liste sämtlicher verfügbaren Direktiven an.
(Tip: "httpd -L | grep -i "mysql")
Viele Grüße
Michael