Nachdem sich Nextcloud von Owncloud abgesplittet hat und die Entwicklung dort Fahrt aufgenommen hat, wollte ich heute eine Owncloud 9 Version nach Nextcloud 11 migrieren.
Der Direkte Pfad wird nicht empfohlen – hier die Empfehlung von Nextcloud:
In meinem Fall habe ich erst Owncloud auf die Version 9.1.4 hoch gezogen und dann migriert.
Die Migration hat allerdings nicht auf Anhieb geklappt – nach dem Einspielen der Dateien und dem Anpassen der Konfiguration bekam ich folgende Fehlermeldung:
Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /var/www/nextcloud/lib/private/DB/Connection.php:59
Stack trace:
#0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /var/www/nextcloud/lib/private/DB/Connection.php(142): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /var/www/nextcloud/lib/private/DB/ConnectionFactory.php(121): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /var/www/nextcloud/lib/private/Server.php(415): OC\DB\ConnectionFactory->getConnection(‚mysql‘, Array)
#8 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#9 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‚DatabaseConnect…‘)
#10 /var/www/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‚DatabaseConnect…‘)
#11 /var/www/nextcloud/lib/private/Server.php(1029): OC\ServerContainer->query(‚DatabaseConnect…‘)
#12 /var/www/nextcloud/lib/private/legacy/db.php(57): OC\Server->getDatabaseConnection()
#13 /var/www/nextcloud/lib/private/User/Database.php(232): OC_DB::prepare(‚SELECT `uid`, `…‘)
#14 /var/www/nextcloud/lib/private/User/Database.php(280): OC\User\Database->loadUser(“)
#15 /var/www/nextcloud/lib/private/User/Manager.php(140): OC\User\Database->userExists(“)
#16 /var/www/nextcloud/lib/private/User/Session.php(197): OC\User\Manager->get(“)
#17 /var/www/nextcloud/lib/private/Log.php(282): OC\User\Session->getUser()
#18 /var/www/nextcloud/lib/public/Util.php(159): OC\Log->log(3, ‚User backend OC…‘, Array)
#19 /var/www/nextcloud/lib/private/legacy/user.php(146): OCP\Util::writeLog(‚core‘, ‚User backend OC…‘, 3)
#20 /var/www/nextcloud/lib/base.php(742): OC_User::setupBackends()
#21 /var/www/nextcloud/lib/base.php(1074): OC::init()
#22 /var/www/nextcloud/console.php(56): require_once(‚/var/www/nextcl…‘)
#23 /var/www/nextcloud/occ(11): require_once(‚/var/www/nextcl…‘)
#24 {main}PHP Warning: call_user_func() expects parameter 1 to be a valid callback, class ‚OC\Log\File‘ not found in /var/www/nextcloud/lib/private/Log.php on line 299
Irgend ein Problem mit der Verbindung zur Datenbank – nachdem Owncloud zuvor mit der gleichen Config funktioniert hat und ich die Zugangsdaten mehrfach geprüft habe, kam ich zu dem Entschluß dass ich es mal mit einer frischen Datenbank versuchen könnte.
Also einfach die config/config.php verschmissen und neue Daten eingetragen. Wenige Sekunden später lief dann eine leere Instanz von Owncloud (keine User) mit den vorhandenen Files.
Als nächstes habe ich einen Dump der alten Datenbank erstellt und diesen über die neue Datenbank gespielt. Eigentlich würde ich erwarten dass jetzt gleich wie vorher nicht mehr funktioniert. Falsch geraten – das Upgrade auf Nextcloud 10 ließ sich ohne Schwierigkeiten installieren.
Anschließend noch die Kür mit dem Upgrade auf Nextcloud 11 und beendet ist die kleine Upgrade-Orgie.
Warum das Ganze? Weil ich Kalender und Kontakte synchronisieren will… 🙂
PS: Im Zuge der Umstellung habe ich dann auch gleich von mysql zu mariadb gewechselt.
Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…
Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…
Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…
Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…
Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…
Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…