Hier mal der Versuch einer einfachen Anleitung, wie man einen Testshop aufsetzen kann / den Liveshop Klonen, wenn man Estugo als Hoster nutzt. Wer Anmerkungen hat / Fehler entdeckt etc. - einfach kommentieren, ich passe die Anleitung dann an. Bislang habe ich dies nur unter Gambio 3.14.3.0 (und darunter) damit durchgeführt, sollte aber für neuere Versionen auch so gehen. Bin in Kürze auf GX 4.5.x, dann probiere ich es mal wieder und schreibe, wenn was anders läuft! Bislang sieht es aber so aus als würde auch mit 4.5.xxx alles gleich bleiben! Wir beginnen erstmal völlig "nackt", also ohne dass der Webspace in den geklont werden soll Dateien enthält und mit einer neuen, leeren Datenbank. Eine Subdomain sollte eingerichtet sein. Diese muss nach dem Kopieren der Datenbank noch mit der Datenbank verbunden werden. Wenn schon ein Testshop existiert hat: Alles löschen, das Verzeichnis neu erstellen und eine frische leere Datenbank anlegen. Nachdem das nachträgliche Trennen der Shopkopie vom Gambio-HUB gerne mal Probleme bereitet und das Trennen über die Datenbank (Einträge löschen) wohl doch nicht so recht funktionieren mag, ergänze ich die Anleitung mal um einen Schritt (Januar 2022): Shop vom Gambio-HUB trennen 1) In den zu klonenden Shop als Admin einloggen. Unten ist das grüne "HUB verbunden" Symbol zu sehen. Dort draufklicken. 2) Rechts unten unscheinbar in Grau steht "Shop vom Gambio Hub trennen". Dies tun, damit der Live-Shop und der Testshop nicht im HUB kollidieren. Und jetzt gehts weiter wie gehabt. Datenbank klonen 1) Einloggen bei Estugo 2) Linke Spalte „Datenbanken“ auswählen 3) Zu klonende Datenbank mit der Kopieren-Funktion in eine neue (oder bestehende) Datenbank kopieren, vollständige Kopie (Haken setzen) Die Datenbank ist damit fertig vorbereitet. Shop wieder mit dem Gambio-Hub verbinden Jetzt kann der zu klonende Shop wieder mit dem Gambio HUB verbunden werden. Einfach dazu auf das nun rote " HUB nicht verbunden" klicken, und den Shop wieder anmelden. Daten klonen 1) Nun bei Estugo links "Dateien" auswählen und in der Spalte daneben ins Basisverzeichnis gehen. Mit dem "Neu"-Befehl ein neues Verzeichnis erstellen. 2) Nun links das klonende Verzeichnis auswählen und in der rechten Spalte alle Dateien / Verzeichnisse anhaken (Haken neben "Name" setzen um alle auszuwählen) und mit dem Befehl "Kopieren" in das neu erzeugte Verzeichnis kopieren. 3) Nun müssen zwei Dateien angepasst werden: includes/configure.php admin/includes/configure.php Um diese ändern zu können (geht mit jedem Texteditor oder mit geeigneten FTP-Programmen wie Transmit direkt auf dem Server) müssen erst die Zugriffsrechte auf 644 gestellt werden (Schreibrecht für den Eigentümer). Dazu in der Spalte "Berechtigungen" bei der configure.php-Datei auf das "r--r--r--" klicken und die Berechtigung ändern. Nun steht dort "rw-r--r--". Wenn man nun da drauf klickt kann man die Datei im Code-Editor anzeigen lassen und modifizieren. Mit "Anwenden" oder "OK" werden die Änderungen gespeichert. Ändern wie folgt: Anmerkung: Die Zeilennummern können bei euch anders sein! Je nachdem wann man die Datei beim Shopeinrichten das erste Mal erzeugt hat, kann das anders sein, ändert sich dann aber voraussichtlich nicht mehr! In der admin/includes/configure.php sind die Zeilen 31 sowie 63 bis 66 anzupassen, je nach SSL Situation wird hier der aufzurufende Shoppfad für den geklonten Shop eingetragen, in diesem Fall beginnend mit "test2". Zeile 31 Code: $t_document_root = '/var/www/vhosts/www.xxx.de/test2/'; // absolute server path required (domain root) Zeilen 63 - 66 Code: define('HTTP_SERVER', 'http://test2.shop.com'); // eg, http://localhost or - https://localhost should not be empty for productive servers define('HTTP_CATALOG_SERVER', 'http://testw.shop.com'); define('HTTPS_CATALOG_SERVER', 'https://test.shop.com'); define('ENABLE_SSL_CATALOG', 'false'); // SSL: 'true' = active, 'false' = inactive Ausserdem in Zeile 99 der Name der genutzen Datenbank: Code: define('DB_DATABASE', 'xxx_test2'); Evtl. auch den Benutzernamen und das Passwort in den beiden Zeilen darüber ändern wenn gewünscht - beim klonen der Datenbank werden diese von der Originaldatenbank übernommen, aber wer was anderes eingestellt hat muss das hier auch eintragen. Wenn man als Username "testedich", als Passort "testpasswort" und als Datenbankname "testdatenbank" genommen hat, müssen die Zeilen also wie folgt aussehen: Code: // define our database connection define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers define('DB_SERVER_USERNAME', 'testedich'); define('DB_SERVER_PASSWORD', 'testpasswort'); define('DB_DATABASE', 'testdatenbank'); define('USE_PCONNECT', 'false'); // use persistent connections? In der includes/configure.php sind folgende Zeilen anzupassen: Anmerkung: Musste schmerzlich feststellen, dass es in Zeile 61 tatsächlich "define('ENABLE_SSL', false); // SSL: true = active, false = inactive[/code]" heisst, das false kommt WIRKLICH ohne Gänsefüßchen dort hin! (oder das true). Bitte nicht aus Versehen Gänsefüsslis da hin machen, das kann ziemliche Probleme mit den SSL Zertifikaten machen! Zeile 31 Code: $t_document_root = '/var/www/vhosts/www.xxx.de/test2/'; // absolute server path required (domain root) Zeilen 59 bis 61 Code: define('HTTP_SERVER', 'http://test2.shop.com'); // eg, http://localhost - should not be empty for productive servers define('HTTPS_SERVER', 'https://test2.shop.com'); // eg, https://localhost - should not be empty for productive servers define('ENABLE_SSL', false); // SSL: true = active, false = inactive und Zeile 86 mit dem Datenbanknamen (siehe oben): Code: define('DB_DATABASE', 'xxx_test2'); Wenn die Änderung einer Datei erledigt ist, gleich die Berechtigungen wieder auf "444" setzen, also den Haken bei "Eigentümer" und "Schreiben" wieder weg! So, im Grunde ist der Shop jetzt fertig geklont. Wenn man ihn jetzt aufruft gibts aber erst mal Cache-Probleme. Die kann man vermeiden, wenn man nach Dennis´Anleitung unter 4.4 vorgeht: Oder sich an ein paar Fehlermeldungen vorbei durch die Links zu Cache leeren durchklickt (Domainnamen natürlich anpassen): http://(test.shop.com)/admin/clear_cache.php?manual_mail_templates_cache=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_text_cache=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_feature_index=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_products_properties_index=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_categories_index=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_data_cache=Ausführen http://(test.shop.com)/admin/clear_cache.php?manual_output=Ausführen Fertig. Denke ich. Dauert letztlich nur ein paar Minuten. Und ist fast vollkommen mit den Bordmitteln von Estugo machbar, wird dort alles direkt auf dem Server ausgeführt und geht damit superschnell. Ach ja, nicht vergessen! Den Testshop bitte offline stellen! Im Backend: -> Darstellungen -> Shop Online/Offline -> Aktueller Shopstatus AUS! Nicht wundern! Die geclonte Datenbank hat erst mal eine andere Größe, das gibt sich UPDATE 2022: Ich hatte grade selbst Probleme mich in den neuen Testshop einzuloggen (immer noch 3.14.3.1). Das konnte ich lösen durch Aufruf von (testshopdomain)/login_admin.php?repair=sess_write
Man könnte die Caches auch über die direktaufrufe der URL im Browser leeren lassen. Dazu einmal sich alle URLs speichern und zum beispiel in einer batch datei autom. aufrufen lassen. Oder manuell eine nach der anderen.
Super! Genau so was habe ich gerade gesucht! Man sollte aber vorausschicken, dass man vorher den alten Testshop, falls vorhanden, samt Datenbank löschen sollte. Alle Berechtigungen zuerst auf 777 setzen, damit die löschrestistenten Dateien auch verschwinden. Sonst gibt es totalen Kuddelmuddel. @markus_wick Wenn man auf Bearbeiten klickt, kriegt man eine ganze Tabelle von Werten angezeigt. Welches Feld muss man durch "false" ersetzen? Und muss man in der configure.php nicht auch Zeile 31 ändern? $t_document_root = '/var/www/mydomain/httpdocs/testshop/'; // absolute server path required (domain root) Was mich bei dieser Klonerei irritiert: dass die kopierte Datenbank rd. 40 GB hat, die originale aber 48. Wie kommt dieser Unterschied zustande? Die ANzahl der Tabellen ist gleich. Wie hast du das gemacht? Ich bekomme im Backend die Aufforderung "Eine Zahlungsweise aktivieren!" Aber ich wüsste nicht welche. Ich arbeite sowieso nicht mit dem Gambio Hub, und alle Gewünschten sind installiert.
Ja klar, muss man! Es sei denn Du willst die Dateien vom Originalshop nutzen. Dann passiert aber beim Testen nix! hm, gewisse Differenzen treten immer auf. Aber 8 GB ?!? Einfachster Check Anzahl der Datensätze von Tabelle "products" überprüfen! Gibt es Eigenschaften, Attribute, Zusatzfelder bei den Artikeln? Sind die alle da? PhpMyadmin -> Datenbank -> Tabelle[configuration] Spalte[configuration_key] - "MODULE_PAYMENT_GAMBIO_HUB_STATUS" Spalte[configuration_value] auf "false" stellen Also das Feld(die Spalte) "configuration_value" Vom Gambio HUB trennen: Im Admin unter: Shop Einstellungen->System Einstellungen > shop-key wenn noch vorhanden löschen und dann speichern. Viel Erfolg!
Yep, stimmt, ich bin davon ausgegangen ganz von vorne anzufangen, also ohne vorherigen Testshop. Wie geschrieben, wenn nach "Gambio" sucht, kommen die beiden Felder die zu ändern sind. unter anderem "MODULE_PAYMENT_GAMBIO_HUB_STATUS". Ich hab die Anleitung noch mal etwas angepasst. Danke für die Hinweise.
Alle Mann an Bord! Ich meine: Anzahl der Datensätze gleich. Zusatz: Äh - übrigens waren es nur 8 MB. (Schäm!) Mein Mann sagt, das käme davon, dass beim Kopieren die Fragmentierungs-Lücken wegfallen. Da bin ich beruhigt.
Verbibscht nochmal! In meinen beiden Datenbanken kann ich jetzt die 500 Zeilen-Eintragung nicht mehr machen und finde die MODULE_PAYMENT_GAMBIO_HUB_STATUS dadurch nicht. Das Feld fehlt einfach! Ich finde die Gesuchte Tabelle aber auch nicht, wenn ich den Namen direkt eingebe. Log-raus und rein nützt auch nicht. Was ist denn da passiert?
Moin, ausloggen, durchatmen, einloggen. Ruhig bleiben. Nochmal versuchen! Manchmal klappt das mit dem sortieren nicht! Es sollte aber u.U alphabetisch sortiert sein. Bei mir war das so in der Tabelle. Sonst halt auf alphabetische Sortierung einstellen! Ich konnte MODULE_PAYMENT_GAMBIO_HUB_STATUS auch nicht über die Suche finden. Dann halt richtung "M" bewegen und dann einzeln die Seiten durch bis Du da bist. Soviele Module gibt es ja nicht. (Ich glaube in der Tabelle sind etwas über 500 Einträge drinn, keine 50.000. Da kann man nochmal "händisch" suchen. Wie gesagt, bei mir woltte er es auch nicht finden. Und 8 MB Differenz ist kein Problem wenn alles da ist. Viel Erfolg
Rate mal, was ich gestern gemacht habe? Händisch gesucht natürlich. Die Tabelle versteckt sich aber gründlich. Guckstu hier: Nirgends gibt es einen Ordner, auf dem einfach nur modules draufsteht. Aber ich weiß gar nicht, warum ich das eigentlich tue. Der Testshop scheint auch so zu funzen. Schöne Grüße Marieluise
Das mit den Modules steckt auch in der Tabelle "configuration", wie in der Anleitung beschrieben: 5) Nun links oben die Tabellen nach "confi" filtern um die configuration-Tabelle zu finden. Diese öffnen. 6) Anzahl der Datensätze auf 500 stellen, Filtern nach "GAMBIO" 7) Den Shopkey aus dem Wert für "GAMBIO_SHOP_KEY" herauslöschen, Den Wert des "MODULE_PAYMENT_GAMBIO_HUB_STATUS" auf "False" stellen.
Hmpf. Ich bin ein Depp. Man soll nicht von unten nach oben lesen. @markus_wick Und übrigens wollte ich mal sagen, dass ich mit deiner Anleitung nach vielen vergeblichen Versuchen zum ersten Mal einen betriebsfähigen Testshop selber hingekriegt habe, obwohl ich das mit den configs längst wusste. Aber das war eben nicht alles. Und dann auch noch direkt im Estugo-Portal in a jiffy gegenüber dem stundenlangen Runter- und Raufladen in filezilla! Vielen Dank für deine nicht geringe Mühe. Liebe Grüße Marieluise
@markus_wick Hallo Markus, es geht doch mit dem Teufel zu. Heute wollte ich meinen Testshop nach deinem Rezept neu aufsetzen, weil ich ein Update vorhabe, das ich, wenn alles klappt, dann gleich in meinen Live-Shop übertragen kann. Heute taucht das blöde MODULE_PAYMENT_GAMBIO_HUB_STATUS überhaupt nicht auf. Weder in der Live- noch in der Test-DB. Guckst du hier: Liegt es vielleicht daran, dass ich den Hub überhaupt nicht installiert habe? Hatte ich aber beim letzten Mal auch nicht. Ich kapier das nicht. Alles andere bei diesem Vorgang ist ja dagegen ein Spaziergang. Bitte nochmal um Rat! Liebe Grüße Marieluise
Hast Du evtl. eine neuere Shop-Version? Vielleicht gibt es den Wert da gar nicht mehr. Ohnehin war es bei mir so, dass das Setzen des Wertes auf "False" nicht unbedingt dazu geführt hat, dass der Testshop dann vom HUB getrennt war, so dass das immer noch kontrolliert werden muss und gegebenenfalls im Backend manuell die Trennung vom HUB erfolgen muss.
Nee, ich hab immer noch dieselbe wie im November. Ich hab ja den Hub eh nicht installiert, wüsste also auch nicht wie ich ihn manuell trennen sollte. Übrigens lief der Testshop auch ohne das glatt. Nur die Updates sorgen jetzt für Chaos. In den Fehlermeldungen taucht aber auch nix von einem Hub auf. Also scheint es auch so zu gehen.
Man muss das HUB im Testshop nur trennen, wenn der Shop damit verbunden ist. Sonst wird die Verbindung auf den Testshop gelegt - was man nicht möchte.
Hallo zusammen Zuerst mal ein Dankeschön für die Super Anleitung von Markus. Ich habe versucht, eine Kopie nach dieser Anleitung zu erstellen, Beim Aufrufen der Subdomain test.meinshop.com erscheint dann nur eine leere Seite. ESTUGO hat meine Testshop Einstellungen z.T. geprüft und angepasst. Trotzdem die leere Seite. Ich habe jetzt zum testen einen "Virgin"Shop mit einer neuen Domain erstellt und diesen versucht zu kopieren mit demselben Resultat: leere Seite. Hat jemand von euch eine Lösung für mich? Gruss Roland
Hm. Da keiner von den Fachleuten antwortet, hier mal ein Vorschlag von einer Fachidiotin: Ich habe zwei Subdomains. Die eine nutze ich privat, die hat ein Verzeichnis parallel zum Hauptverzeichnis. Die andere zeigt direkt auf ein Unterverzeichnis. In beiden Fällen wird im Webverzeichnis des Hosters direkt unter dem Domainnamen eingetragen, wohin die Subdomain zeigen soll. Für Änderungen Pfadangabe hinter dem kleinen gelben Rechteck anklicken, Im ersten Fall änderst du das, was da steht, um auf subdomain.domain.de, im zweiten Fall auf ein Verzeichnis, das z.B. bei mir umleitung heißt. Du kannst es aber auch rdlbrmpft nennen. In diesem Verzeichnis steht nichts außer einer index.php, die nur eine Zeile enthält: Z.B. <?header('Location: https://www.domain.de/Zielverzeichnis'); ?> Für eine weitere Subdomain machst du es genauso und nennst das Zwischenziel halt umleitung2 oder so. usw. Das funktioniert prima. Wenn du nicht weißt, wie du das im Webverzeichnis machen sollst, bitte ESTUGO drum. Die machen das doch gerne. Liebe Grüße Marieluise
Hallo Marieluise Danke für deine Antwort. Scheinbar drehe ich mich im Kreis. Ich habe immer wieder die weisse Seite. Deshalb mal hier wie ich vorgegangen bin (sylao.com ist eine aktive Testdomain von mir): Erste Subdomain ist privat.sylao.com Dokumentenstamm /privat. Diese enthält die Standard-Startseite von Plesk und erscheint. Zweite Subdomain ist privat2.sylao.com Dokumentenstamm /umleitung. Dort ist die index.php mit dem Eintrag <?header('Location: http://www.sylao.com/privat'); Rufe ich ich jetzt http://privat2.sylao.com auf ist wieder nur eine leere Seite. Zur Info Gambio Shop Test Einstellung: $t_document_root = '/var/www/vhosts/meinstugoserver.de/test2/'; was gemäss ESTUGO richtig ist. Mit deiner Hilfe schaffe ich vielleicht doch noch eine Shopkopie zu erstellen. Beste Grüsse Roland
Und wo liegt Deine Shop-Kopie? Dann ist da nur http und kein https - hast Du in den configute-Dateien denn das SSL deaktiviert?