Testumgebung aufsetzen CE 4.8.9

Hallo liebes Forum, wir sind gerade dabei eine Testumgebung unseres Shops aufzusetzen. Oxid CE 4.8.9. Wir haben den Shop über SSH in einen neuen Ordner dupliziert und die Config Daten der Datenbankzuordnung rausgenommen. Danach haben wir eine neue Datenbank (mysql5) angelegt und einen Export der Shopdatenbank Livesystem per SSH mit dem Befehl mysqldump -uBenutzer -pPasswort Datenbankalt > datenfile.sql gemacht. Jetzt möchten wir das datenfile.sql mit dem Befehl mysql5 -uBenutzer -pPasswort Datenbankneu < datenfile.sql in die neue Datenbank einlesen.

Jetzt haben wir im Beitrag “Tutorials/Einen Oxid-Shop umziehen lassen” unter http://wiki.oxidforge.org/Tutorials/Einen_Oxid-Shop_umziehen_lassen eine andere Vorgehensweise gelesen. Nach diesem Beitrag soll zuerst eine Basisinstallation der Version 4.8.9 und danach ein Datenbank-Dump ohne Tabellen mit Präfix “oxv_” gemacht werden. Danach soll der Datenbank-Dump eingelesen und danach alle Dateien der alten Shopinstallation auf die neue Installation übertragen und dabei existierende Dateien überschrieben werden - ausser den Inhalt des /tmp - Verzeichnisses, der config.inc.php und der .htaccess.

Führt das nicht zum gleichen Ergebnis wie unsere Vorgehensweise? Oder ist unser Plan so nicht machbar?

Wie kann man einen Datenbank Dump ohne Tabellen mit Präfix “oxv_” machen?

Bei uns hat der vollständige Datenbank-Dump über 5,0 GB. Kann man nicht nach dem Einlesen in die neue Datenbank mit dem Befehl mysql5 -uBenutzer -pPasswort Datenbankneu < datenfile.sql mit phpmyadmin die Tabellen der neuen Datenbank mit Präfix “oxv_” rausnehmen?

Kann mir da jemand weiterhelfen ?

Ich habe es so gemacht, mit dem msyldumper ein Datenbank Backup und manuell nur die Einträge ohne oxv_ in die die neue Datenbank einspielen.

Vorteile bei der Methode aus dem Wiki:

  1. Man sieht schon bei der Installation ob die Systemvoraussetzungen erfüllt sind
  2. Man muss config.inc.php und htaccess nicht händisch anpassen

Ansonsten braucht man die Installation natürlich nicht.

Dump ohne Views geht mit PHPmyadmin.

Man kann die Views auch nach dem Import löschen, Problem beim Export/Import über PHPmyadmin ist dabei dass beim Import mit oxv-Tabellen Fehler auftreten und deshalb die anderen Tabellen auch nicht alle importiert werden, kann sein dass das per Kommandozeile problemlos funktioniert.

[QUOTE=leofonic;175698]Vorteile bei der Methode aus dem Wiki:

  1. Man sieht schon bei der Installation ob die Systemvoraussetzungen erfüllt sind
  2. Man muss config.inc.php und htaccess nicht händisch anpassen

Ansonsten braucht man die Installation natürlich nicht.

Dump ohne Views geht mit PHPmyadmin.

Man kann die Views auch nach dem Import löschen, Problem beim Export/Import über PHPmyadmin ist dabei dass beim Import mit oxv-Tabellen Fehler auftreten und deshalb die anderen Tabellen auch nicht alle importiert werden, kann sein dass das per Kommandozeile problemlos funktioniert.[/QUOTE]

Danke für die Antwort an Frank.

Da wir den Shop schon laufen haben, können wir den Punkt 1. vergessen. Die Systemvoraussetzungen sind erfüllt. Der Punkt 2 lässt sich schnell ändern.

Bzgl. des Dump ohne Views über PHPmyadmin, so haben wir versucht die Datei (hier noch mit allen Tabellen) über PHPmyadmin zu erzeugen. Die erzeugte Datei war aber fehlerhaft. Das lag sicher an der Grösse v. 5,1 GB.

falls nicht bekannt … oxid in 30 sec installieren :wink:

Jetzt haben wir ohne vorhergehende Installation des Oxid Shop den Datenbank Dump unseres Liveshop ohne Tabellen mit Präfix “oxv_” per SSH in die neue (leere) Datenbank importiert und die Datei config.inc.php aus dem zuvor duplizierten Liveshop mit den Daten der neuen Datenbank ergänzt. Das tmp Verzeichnis wurde geleert. Nach Aufruf des Testshop im Frontent oder auch Backend liefert der Shop aktuell sofort die Seite www.domain.de/offline.html aus. Die Datei EXCEPTION_LOG.txt hat folgenden Inhalt. Den Namen der Datenbank haben wir durch datenbankneu ergänzt. Den User haben wir mit userneu ersetzt.

Wo liegt der Fehler ?

oxConnectionException-oxException (time: 2015-11-22 22:22:43): [1146]: mysql:EXECUTE error: [1146: Table ‘datenbankneu.oxv_oxcountry_en’ doesn’t exist] in EXECUTE with parameters select oxtitle from oxv_oxcountry_en where oxisoalpha2 = ‘de’, for user userneu

Stack Trace: #0 /ordner/www.domain.de/testshop/oxidshop/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc(369): adodb_throw(‘mysql’, ‘EXECUTE’, 1146, ‘Table ‘usrdb_so…’, ‘select oxtitle …’, false, Object(object_ADOConnection))
#1 /ordner/www.domain.de/testshop/oxidshop/core/adodblite/generic_modules/pear_module.inc(70): mysql_driver_ADOConnection->do_query(‘select oxtitle …’, -1, -1, false)
#2 /ordner/www.domain.de/testshop/oxidshop/core/adodblite/generic_modules/pear_module.inc(56): pear_ADOConnection->GetRow(‘select oxtitle …’, false, true)
#3 /ordner/www.domain.de/testshop/oxidshop/core/oxlegacydb.php(87): pear_ADOConnection->GetOne(‘select oxtitle …’, false)
#4 /ordner/www.domain.de/testshop/oxidshop/application/controllers/admin/oxadminview.php(518): oxLegacyDb->getOne(‘select oxtitle …’, false, false)
#5 /ordner/www.domain.de/testshop/oxidshop/application/controllers/admin/oxadminview.php(247): oxAdminView->_getCountryByCode(‘de’)
#6 /ordner/www.domain.de/testshop/oxidshop/application/controllers/admin/oxadminview.php(204): oxAdminView->getServiceUrl()
#7 /ordner/www.domain.de/testshop/oxidshop/core/oxview.php(187): oxAdminView->addGlobalParams()
#8 /ordner/www.domain.de/testshop/oxidshop/application/controllers/admin/oxadminview.php(173): oxView->init()
#9 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(404): oxAdminView->init()
#10 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(337): oxShopControl->_initializeViewObject(‘login’, NULL, NULL, NULL)
#11 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(123): oxShopControl->_process(‘login’, NULL, NULL, NULL)
#12 /ordner/www.domain.de/testshop/oxidshop/core/oxid.php(38): oxShopControl->start()
#13 /ordner/www.domain.de/testshop/oxidshop/index.php(27): Oxid::run()
#14 /ordner/www.domain.de/testshop/oxidshop/admin/index.php(27): require_once(’/datenbankalt/www.s…’)
#15 {main}

Connection Adress -->
Connection Error -->

oxConnectionException-oxException (time: 2015-11-22 22:23:29): [1146]: mysql:EXECUTE error: [1146: Table ‘datenbankneu.oxv_oxshops_de’ doesn’t exist] in EXECUTE with parameters select oxv_oxshops_de.oxid, oxv_oxshops_de.oxactive, oxv_oxshops_de.oxproductive, oxv_oxshops_de.oxdefcurrency, oxv_oxshops_de.oxdeflanguage, oxv_oxshops_de.oxname, oxv_oxshops_de.oxtitleprefix, oxv_oxshops_de.oxtitlesuffix, oxv_oxshops_de.oxstarttitle, oxv_oxshops_de.oxinfoemail, oxv_oxshops_de.oxorderemail, oxv_oxshops_de.oxowneremail, oxv_oxshops_de.oxordersubject, oxv_oxshops_de.oxregistersubject, oxv_oxshops_de.oxforgotpwdsubject, oxv_oxshops_de.oxsendednowsubject, oxv_oxshops_de.oxsmtp, oxv_oxshops_de.oxsmtpuser, oxv_oxshops_de.oxsmtppwd, oxv_oxshops_de.oxcompany, oxv_oxshops_de.oxstreet, oxv_oxshops_de.oxzip, oxv_oxshops_de.oxcity, oxv_oxshops_de.oxcountry, oxv_oxshops_de.oxbankname, oxv_oxshops_de.oxbanknumber, oxv_oxshops_de.oxbankcode, oxv_oxshops_de.oxvatnumber, oxv_oxshops_de.oxbiccode, oxv_oxshops_de.oxibannumber, oxv_oxshops_de.oxfname, oxv_oxshops_de.oxlname, oxv_oxshops_de.oxtelefon, oxv_oxshops_de.oxtelefax, oxv_oxshops_de.oxurl, oxv_oxshops_de.oxdefcat, oxv_oxshops_de.oxhrbnr, oxv_oxshops_de.oxcourt, oxv_oxshops_de.oxadbutlerid, oxv_oxshops_de.oxaffilinetid, oxv_oxshops_de.oxsuperclicksid, oxv_oxshops_de.oxaffiliweltid, oxv_oxshops_de.oxaffili24id, oxv_oxshops_de.oxedition, oxv_oxshops_de.oxversion, oxv_oxshops_de.oxseoactive, oxv_oxshops_de.oxtimestamp from oxv_oxshops_de where 1 and oxv_oxshops_de.oxid = ‘oxbaseshop’, for user userneu

Stack Trace: #0 /ordner/www.domain.de/testshop/oxidshop/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc(369): adodb_throw(‘mysql’, ‘EXECUTE’, 1146, 'Table ‘usrdb_so…’, ‘select oxv_oxs...', false, Object(object_ADOConnection)) #1 /ordner/www.domain.de/testshop/oxidshop/core/adodblite/adodb.inc.php(316): mysql_driver_ADOConnection->do_query('selectoxv_oxs…’, -1, -1, false)
#2 /ordner/www.domain.de/testshop/oxidshop/core/oxlegacydb.php(144): ADOConnection->Execute(‘select oxv_oxs...', false) #3 /ordner/www.domain.de/testshop/oxidshop/core/oxbase.php(723): oxLegacyDb->select('selectoxv_oxs…’)
#4 /ordner/www.domain.de/testshop/oxidshop/core/oxbase.php(670): oxBase->assignRecord(‘select `oxv_oxs…’)
#5 /ordner/www.domain.de/testshop/oxidshop/core/oxconfig.php(2009): oxBase->load(‘oxbaseshop’)
#6 /ordner/www.domain.de/testshop/oxidshop/core/oxutils.php(1030): oxConfig->getActiveShop()
#7 /ordner/www.domain.de/testshop/oxidshop/application/controllers/oxubase.php(555): oxUtils->seoIsActive()
#8 /ordner/www.domain.de/testshop/oxidshop/application/controllers/oxubase.php(586): oxUBase->_processRequest()
#9 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(404): oxUBase->init()
#10 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(337): oxShopControl->_initializeViewObject(‘start’, NULL, NULL, NULL)
#11 /ordner/www.domain.de/testshop/oxidshop/core/oxshopcontrol.php(123): oxShopControl->_process(‘start’, NULL, NULL, NULL)
#12 /ordner/www.domain.de/testshop/oxidshop/core/oxid.php(38): oxShopControl->start()
#13 /ordner/www.domain.de/testshop/oxidshop/index.php(27): Oxid::run()
#14 {main}

Connection Adress -->
Connection Error -->

$this->blSkipViewUsage = true; in config.inc.php schreiben, Backend aufrufen und Views aktualisieren (Service/Tools), dann die Zeile blSkipViewUsage wieder entfernen (oder auf false setzen).

Danke Frank für Deine Antwort,

jetzt erscheint beim Aufruf des Admin auch die Benutzer und Passwortabfrage. Nach Versuch einzuloggen kommt aber die Meldung: The requested URL /admin/null/index.php was not found on this server.

[QUOTE=leofonic;175880]$this->blSkipViewUsage = true; in config.inc.php schreiben, Backend aufrufen und Views aktualisieren (Service/Tools), dann die Zeile blSkipViewUsage wieder entfernen (oder auf false setzen).[/QUOTE]

Danke Frank für Deine Antwort,

jetzt erscheint beim Aufruf des Admin auch die Benutzer und Passwortabfrage. Nach Versuch einzuloggen kommt aber die Meldung: The requested URL /admin/null/index.php was not found on this server.

Hm steht das “null” schon im Formular oder kommt das erst beim redirect? Htaccess rewriteBase und config.inc sind sicher richtig?

Edit: hab deinen Beitrag wiederhergestellt, ist besser ohne Fullquote.

In der .htaccess steht :

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
usw.

Wir greifen mit einer Subdomain: subdomain.domain.de auf den oxidshopordner zu. Ich dachte das die .htaccess genau wie im Live System verwendet werden kann.

Das “null” kommt direkt nach Eingabe des Passwort.Einen redirect (ist doch ein neuer Aufbau der Seite) kann ich nicht erkennen.

In der datei config.inc.php sind die Datenbankdaten korrekt eingetragen, Weiter:

$this->sSSLShopURL = ‘null’; // eShop SSL url, optional
$this->sAdminSSLURL = ‘null’; // eShop Admin SSL url, optional
$this->sShopDir = ‘/home/ordner/www.domain.de/testshop/oxidshop’;
$this->sCompileDir = ‘/home/ordner/www.domain.de/testshop/oxidshop/tmp’;

Na bei ‘null’ müssen die Anführungszeichen weg, sonst ist es nicht NULL sondern ein String in dem “null” steht.

Danke für die Hilfe. Das hätte ich ja eigentlich wissen müssen. Jetzt läuft der Shop. Das hab ich einfach übersehen. Jetzt kann ich das gewünschte mobile template aufspielen und testen ohne den Liveshop zu gefährden.

Vielen Dank.