Sie sind nicht angemeldet.

1

28.05.2012, 12:43

Owncloud 4.0.0 + MySQL = Chaos?

Hallo,

ich habe folgendes Problem:

Ich habe mir vor einiger Zeit Owncloud 3.0.0 auf meinen lokalen Webserver installiert. MySQL USE ist in der make.conf festgelegt, Apache wurde auch mit PHP-Unterstützung compiliert usw. und das ganze lief auch... Ich ging auf die Webseite von Owncloud und gab meine MySQL root Daten und den Datenbanknamen in die INstallationsmaske von Owncloud ein und dann war es auch schon installiert! :)

Soweit sogut... Nur dann ist durch eine etwas peinliche Aktion dann eben das htdocs Verzeichnis bzw. das untergeordnete Owncloud Verzeichnis gelöscht wurden und ich ließ die Versuche mit Owncloud... Nun sind in der Zwischenzeit Version 3.0.3 und Version 4.0.0 erschienen. Dann wollte ich das Ganze nochmal testen und löchte erstmal die alte Datenbank in MySQL und erstellte eine neue, gleichnamige... Dann installierte ich Owncloud wieder mit webapp-config in einen vHost wie vorher und ging auf die installationsseite... Als ich dann aber meine root Daten und den DB-Namen wieder eingab erschien eine Fehlermeldung die mit MDB2 anfing und besagte dass owncloud sich nicht mit der besagrten DB verbinden konnte... Aber ich hatte das ganze doch schon SO in Betrieb gehabt...

Nun habe ich geschaut was das Problem sein könnte... Und erstmal nach der Fehlermeldung geschaut... MDB2 ist Datenbankabstraktionssystem und muss eigendlich für owncloud installiert sein für die Nutzung mit MySQL... Aber ich bin sicher ich hatte dieses NIE installiert, da es auch keine Abhängigkeit ist von Owncloud... Dann habe ich weitergesucht und gesehen dass Owncloud erst testet ob in PHP der PDO-Treiber zur Verfügung steht und wenn nicht dann erst MDB2 nutzt. Also schaute ich nach und sah dass PHP kein PDO als USE hat und auch nie hatte... Wie kann das also sein dass ohne PDO und MDB2 Owncloud 3.0.0 lief??? Oder wurde das in den Versionen nach 3.0.0 geändert???

Auf jeden Fall habe ich dann eben das USE PDO und MySQL sowieso in der make.conf eingetragen und PHP wurde auch mit allem compiliert und sogar MySQL einfach so auch nochmal... Aber er kann sich immer noch nicht connecten und die Fehlermeldung fing immer noch mit MDB2 an... Also emergte ich das besagte MDB2 und auch MySQL nochmal und machte einen reboot... Nun funktioniert das ganze immer noch nicht und nichts hat sich verändert... Dazu kommt noch dass Owncloud sich bei der eingabe der DB-Daten sehr merkwürdig verhält:

Wenn ich z.b. als Admin "Benutzer" eingebe und als dbuser "root", dann wird in die config.php von Owncloud als dbuser "oc_Benutzer" eingetragen oO Ich glaube das kann ja nur ein Bug von owncloud selber sein... Dann habe ich eben mal einen superuser in MySQL aller "oc_Benutzer" erstellt und dann bekomme noch mehr merkwürdige Fehlermeldungen... Habe dazu auch Owncloud auf 3.0.3 runterinstalliert. Dann ändern die Meldungen sich. siehe unten. Hat niemand owncloud mal unter MySQL installiert?

Zitat

[Error message: Could not execute statement] [Last executed query: PREPARE mdb2_statement_mysql_311821e6891bc91bac35f848b58047a34c12e16ad FROM 'INSERT INTO oc_principals (uri,displayname) VALUES(?,?)'] [Native code: 1146] [Native message: Table 'owncloud.oc_principals' doesn't exist]
Strict Standards: Only variables should be assigned by reference in /var/www/localhost/htdocs/owncloud/3rdparty/MDB2/Driver/mysql.php on line 798
DB Error: "MDB2 Error: no such table"
Offending command was: INSERT INTO oc_principals (uri,displayname) VALUES(?,?)


Wäre lieb wenn mir wer helfen würde. Der Host ist auch richtig angegeben... Aber alleine schon dass er MDB2 hier verwenden will obwohl ja PDO verwendet werden sollte weil es ja auch damit emergt wurde und php -m es als Modul auch listet ist merkwürdig... Und ich hatte vor dieser Installation wie gesagt weder PDO NOCH MDB2. Jemand Ideen?? Sehr strange! :evil:

Aber soo ein krasser Bug in einem Hauptrelease kann ja garnicht sein... Also kann höchstens ein Problem mit dem ebuild vorliegen, was aber eigendlich kaum möglich sein kann. Kann mich unter den Daten problemlos connecten zum MySQL-Server. Also daran liegt es auch nicht. Verwende PHP 5.3-x wie empfohlen und MySQL 5.1.x.

Liebe Grüße
Chris

2

28.05.2012, 13:18

Wenn ich wie oben beschrieben den User der fälschlicherweise durch Ownclouds scheinbar fehlerhafte Eingabemaske erzeugt wird erstelle, also oc_Benutzer, bekomme ich das hier:

Zitat

[Error message: Access denied for user 'oc_Benutzer'@'localhost' (using password: YES)] [Native code: 1045] [Native message: Access denied for user 'oc_Benutzer'@'localhost' (using password: YES)]
Fatal error: Call to undefined method MDB2_Error::numRows() in /var/www/localhost/htdocs/owncloud/lib/user/database.php on line 143


Wie kommt man darauf dass ein DBuser und nicht ein User von Owncloud das Prefix haben sollte?!?

Außerdem sieht das so aus als wenn er MDB2 nicht findet oder? Aber ich habe es emerged... wie kann das sein? Wohlgemerkt dass ich bei Version 3.0.0 von OC nichtmal eins der beiden PDO und MDB2 installiert hatte und es trotzdem klappte...

oc_Benutzer sollte eigendlich der Adminuser für owncloud sein... Würde fast sagen das ist ein ganz, ganz dummer Bug seitens Owncloud, oder wie sehr ihr das? :wacko:

PS: Und anscheinend scheint sich dieser extrem peinliche Bug zu bestätigen: http://forum.owncloud.org/viewtopic.php?f=3&t=2278 Nur leider kann ich kein French...

Und dann noch: http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-547
Sprich anscheiend muss der User für MySQL auch owncloud heissen? Dann würde ja der dbuser den man angeben soll + pw keinen Sinn machen?!? Und die DB sollte man nicht vorher erstellen weil owncloud das selbst machen will? Das werde ich nun mal testen... Also aktuell würde ich EXTREMST von der Nutzung von OC abraten!!

PSS:

Sooo, nachdem ich jetzt weiss dass owncloud immer selber per MySQL seine DBs anlegt und man KEINE DB ANLEGEN DARF IN MYSQL, dachte ich mir ich schaue mal die User Table von MySQL an!! Und was sehe ich da? Über 30 verschiedene User oc_xxx, oc_root, oc_Benutzer und alle solche accounts die ich testweise mal eingegeben habe in die Owncloud installationsmaske -> Fazit: Owncloud will auch den User selber erstellen!! Und die eingabe von dbuser und dbpasswd in der Eingabemaske ist völlig nutzlos! Wenn man bei adminname z.b. Peter eingibt, so erzeugt owncloud erstmal eine DB mit namen "owncloud" und erzeugt gleichzeitig einen mysql user mit namen "oc_Peter" und das pw was man in der Installationsmaske eingeben sollte wird dessen neues PW!

Ich denke es klappte in 3.0.0 weil dort ein User oc_root oder oc_benutzer erstellt wurde und oc die ganze zeit dadrunter lief... und jetzt lässt es sich nich mehr installieren, weil dieser User bzw. die DB schon existiert! Aber sowas überprüft man ja nicht! Wenn man "root" und das pw unten eingibt in der Maske und es lässt sich problemlos installieren, dann denkt man doch "das hat alles geklappt!". Also wirklich schlimm was das für ein Chaos ist!!! Wie gesagt, ich schaue nun noch ein wenig und eventuell werde ich den Bug auch bei OC selber melden... wobei es nun schon einige bugreports dazu gibt und einige auch man glaube es nicht "fixed" sind in dem die user dann einfach sich damit abfanden alles unter oc_adminname in MySQL laufen zu lassen. Für mich ist sowas vollkommen daneben und eindeutig ein Bug oO oder wie sieht das einer von euch??? Echt traurig wenn sowas seit Anfang an oder mindestens Version 3.0.0 besteht und nun in 4.0.0 immer noch besteht.

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Blackstar« (28.05.2012, 13:59)


3

06.06.2012, 09:44

Hm, sieht nicht ganz so ausgereift aus die Software, was?

Kannst du nicht die komplette MySQL mal rausnehmen und frisch anfangen? Kann ja sein, dass durch deine Experimente du die Owncloud komplett verunsichert hast ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>