PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP-Nuke "admin loop"-Problem



Nil Filter
08-03-2002, 18:00
Guten Morgen!

ich bin wieder dabei, PHP-Nuke 5.5 (www.phpnuke.org) auf yalgs.net zu
installieren. Meine gehostete Datenbank (netxxxxx) ist bereits mit den
erforderlichen Tabellen via phpMyAdmin gefüllt. Der Zugriff auf die
Datenbank mit phpMyAdmin bereitet keine Probleme.

Ich habe den Eindruck, dass PHP-Nuke nicht auf die Datenbank zugreift.
Erschwert wird die Fehlersuche dadurch, dass ich überhaupt keine
Fehlermeldung bekomme.

Wenn ich den zur Administration benötigten superuser
(http://www.yalgs.net/admin.php) anlege und selbigen daraufhin einloggen
möchte, werde ich sofort wieder zum Anlegen eines superusers
aufgefordert.

Ich habe mich auch exzessiv in den einschlägigen PHPNuke-Foren (http://www.nukesupport.com/board/) umgeschaut; allgemeine "Guru"-Meinung zum sogenannten "admin loop"-Problem ist, dass es an einem Konfigurationsfehler liege, erklären kann es aber niemand.

Auszug aus der config.inc.php (phpMyAdmin, lokal):
-------------------------------------------
$cfgServers[2]['host'] = 'mysql1.kontent.de';
$cfgServers[2]['port'] = '';
$cfgServers[2]['socket'] = '';
$cfgServers[2]['connect_type'] = 'tcp';
$cfgServers[2]['stduser'] = 'netxxxxx';
$cfgServers[2]['stdpass'] = 'xxxxxxxx';
$cfgServers[2]['auth_type'] = 'config';
$cfgServers[2]['user'] = 'netxxxxx';
$cfgServers[2]['password'] = 'xxxxxxxx';
$cfgServers[2]['only_db'] = 'netxxxxx';
$cfgServers[2]['verbose'] = '';
$cfgServers[2]['bookmarkdb'] = '';
$cfgServers[2]['bookmarktable'] = '';
$cfgServers[2]['relation'] = '';
-------------------------------------------


Auszug aus der config.php (PHP-Nuke, im root von yalgs.net):
-------------------------------------------
$dbhost = "mysql1.kontent.de"; (SQL Database Hostname)
$dbuname = "netxxxxx"; (SQL Username)
$dbpass = "xxxxxxxx"; (SQL Password)
$dbname = "netxxxxx"; (SQL Database Name)
$prefix = "nuke"; (Your Database table's prefix)
$user_prefix = ""; (Your Users' Database table's prefix)
$dbtype = "mysql"; (Your Database Server type)
[Anm.: "mysql" *muss* kleingeschr. werden, sonst hagelt's PHP-Fehler]
-------------------------------------------

Rechte sehen w.f. aus:
Verzeichnisse: 775
Dateien: 664

Die jew. "x" sind natürlich gleich.
Irgendjemand eine Idee, vielleicht?

Ciao

Martin Ament
08-03-2002, 18:46
Hmm,

irren kann ich mich auch.

Wenn Du nachschaust, legt hat er dann in der DB den Superuser angelegt, oder scheitert das schon daran ?

Wenn er ihn anlegt, ist dann das passwort verschlüsselt, wird es auch verschlüsselt übergeben ?

Nil Filter
08-03-2002, 20:23
Hi Martin,
danke erst mal.

Hmmm, hier sitz ich nun mit meinen 3 Tagen PHP-Nuke/MySQL-Erfahrung...
Falls irgend möglich, könntest Du die Vorgehensweise/Überprüfung kurz anhand von phpMyAdmin beschreiben?

Ein, zwei Details noch:
Ich hatte erst alles lokal getestet, lief klasse, d.h. ich hab die DB selbst angelegt, die Tabellen dann via phpMyAdmin importiert, localhost/admin.php aufgerufen, Superuser angelegt und alles konfiguriert. Sogar Gallery (gallery.sourceforge.net) war fertig konfiguriert (mit allen Bildern, Links u. Beschreibungen).
Der Unterschied zum jetzigen Problem ist hauptsächlich der, dass ich die Tabellen in eine vorinstallierte MySQL-DB meines ISPs importieren musste, aber das lief auch gut. Als PW muss ich mein Domain-PW verwenden, aber das funktioniert mit phpMyAdmin ja auch.
Bevor ich hier zweideutig klinge:
Die auf yalgs.net liegende PHP-Nuke Version ist eine Neuinstallation; ich hab gar nicht erst versucht, konfigurierte Dateien hochzuladen.

Ciao & Danke im voraus

Martin Ament
09-03-2002, 08:37
Hallo ich kenne zwar phpnuke nicht, aber es könnte ein Berechtigungsproblem sein.

Es gibt ein Berechtigungssystem bei mysql das regelt welcher user was darf.

Es gibt hierfür eine Db mysql in der es tabellen namens user und hosts gibt. Diese Tabellen regeln welcher user was darf, und sollte in hosts kein "%" stehen, dann auch von welcher ip er das nur darf.

Dieses ist wichtig, ob du eine DB anlegen darfst, und welche rechte du sonst noch hast. Siehe auch die Doku, da eine erklärung der Rechte zuviel ist.

Wenn Du innerhalb von mysql die Rechte hast, dann musst du sehen, wie das phpnuke regelt. Ich weiß nicht ob man für jeden phpnuke user einen myqluser anlegen muss (wohl eher nicht) oder ob es innerhalb der phpnuke db eine tabelle mit den usern gibt.(wohl eher schon).

heissen meistens irgendwas mit grant, user, host, profile etc.
Innerhalb dieser Tabellen kommt es manchmal vor, daß Programme (oder menschen) in ein passwortfeld im klartext das passwort eintragen, und sich dann wundern warum es nicht geht. Is aber klar, denn es sollte ja verschlüsselt sein, sind ja schließlich nicht bei wind.... das geht über einen password() - Mechanismus. Auch hierzu siehe die Doku. Sollte das nicht helfen, so schicke mir einfach einen Abzug der DB.

#mysqldump -u myuser -p -h myhost mydb >> dumpfile.dmp

Gruss Martin

Nil Filter
09-03-2002, 14:30
Hallo Martin,
Danke!


Original geschrieben von Martin Ament
Dieses ist wichtig, ob du eine DB anlegen darfst, und welche rechte du sonst noch hast. Siehe auch die Doku, da eine erklärung der Rechte zuviel ist.
Anlegen kann ich keine DB; ich benutze die vorinstallierte DB meines Providers. Importieren, Editieren & Löschen mit phpMyAdmin machen keine Probleme, daher denke ich, dass die Berechtigungen stimmen und dass der Fehler irgendwo in der config.php sitzt.
So habe ich der lokalen config.php:
$dbtype = "MySQL";

und auf yalgs.net:
$dbtype = "mysql";
(das war ein Tipp, den ich im Nuke-Forum fand)


Wenn Du innerhalb von mysql die Rechte hast, dann musst du sehen, wie das phpnuke regelt. Ich weiß nicht ob man für jeden phpnuke user einen myqluser anlegen muss (wohl eher nicht) oder ob es innerhalb der phpnuke db eine tabelle mit den usern gibt.(wohl eher schon).
Richtig, ich muss nur einen Nuke-Superuser anlegen. Es ist nicht nötig, für jeden Nuke-User einen MySQL-User anzulegen. Ich hatte ja lokal alles am Laufen. So hatte ich z.B. einigen Freunden meine dyn. IP gegeben und sie gebeten, sich zu registrieren, die Foren auszuprobieren etc.


.... das geht über einen password() - Mechanismus. Auch hierzu siehe die Doku. Sollte das nicht helfen, so schicke mir einfach einen Abzug der DB.
Mach ich, aber erst versuch ich es selbst. Ich denke, ich schau mir mal nuke_access und nuke_users genauer an. Ein erster Blick drauf lässt mich zwar schaudern, aber was solls.
Ich hatte meinen Provider letzten Do'tag angeschrieben, habe aber noch keine Antwort erhalten.

Danke noch mal & Schönes WE,
Rüdiger

Nil Filter
12-03-2002, 02:26
Hi Martin,

einer der Tipps, die ich im Nuke-Forum las, hat endlich geholfen:
In der MySQL-Tabelle nuke_authors muss das SU-Passwort von 40 (ich
hab 60 genommen) Zeichen erhöht werden. Desweiteren habe ich in der
config.php

$dbtype = "mysql";
zu
$dbtype = "MySQL";
geändert.

Danke nochmal für Deine Hilfe!