Testshop erstellen / Shop Klonen mit Estugo als Hoster

Thema wurde von markus_wick, 8. September 2020 erstellt.

  1. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    966
    Danke erhalten:
    214
    Danke vergeben:
    153
    #1 markus_wick, 8. September 2020
    Zuletzt bearbeitet: 10. April 2022
    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
    [​IMG]
    3) Zu klonende Datenbank mit der Kopieren-Funktion in eine neue (oder bestehende) Datenbank kopieren, vollständige Kopie (Haken setzen)
    [​IMG]
    [​IMG]

    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.
    [​IMG]
    [​IMG]
    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.
    [​IMG]
    [​IMG]
    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.

    [​IMG]

    [​IMG]

    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
     
  2. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.948
    Danke erhalten:
    6.089
    Danke vergeben:
    1.078
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    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.
     
  3. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    #3 marit, 16. November 2020
    Zuletzt bearbeitet: 16. November 2020
    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.
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. April 2019
    Beiträge:
    82
    Danke erhalten:
    15
    Danke vergeben:
    14
    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!
     
  5. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    966
    Danke erhalten:
    214
    Danke vergeben:
    153
    #5 markus_wick, 16. November 2020
    Zuletzt bearbeitet: 16. November 2020
    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.
     
  6. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    #6 marit, 16. November 2020
    Zuletzt bearbeitet: 16. November 2020
    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.
     
  7. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    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?
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. April 2019
    Beiträge:
    82
    Danke erhalten:
    15
    Danke vergeben:
    14
    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
     
  9. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    Rate mal, was ich gestern gemacht habe? Händisch gesucht natürlich. Die Tabelle versteckt sich aber gründlich.
    Guckstu hier:
    Screenshot 1.png
    Nirgends gibt es einen Ordner, auf dem einfach nur modules draufsteht.

    Screenshot_2.png

    Aber ich weiß gar nicht, warum ich das eigentlich tue. Der Testshop scheint auch so zu funzen.
    Schöne Grüße
    Marieluise
     
  10. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    966
    Danke erhalten:
    214
    Danke vergeben:
    153
    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.
    [​IMG]
    6) Anzahl der Datensätze auf 500 stellen, Filtern nach "GAMBIO"
    [​IMG]
    7) Den Shopkey aus dem Wert für "GAMBIO_SHOP_KEY" herauslöschen, Den Wert des "MODULE_PAYMENT_GAMBIO_HUB_STATUS" auf "False" stellen.
    [​IMG]
    [​IMG]
     
  11. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    #11 marit, 17. November 2020
    Zuletzt bearbeitet: 17. November 2020
    Hmpf. Ich bin ein Depp. Man soll nicht von unten nach oben lesen. :rolleyes:

    @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
     
  12. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    @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:
    phpMyAdmin 4 9 0 1.png
    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
     
  13. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    966
    Danke erhalten:
    214
    Danke vergeben:
    153
    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.
     
  14. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    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.
     
  15. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.
     
  16. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    Ahhhhh! Das klingt logisch. Ist es wahrscheinlich auch. :D
     
  17. bemark

    bemark Erfahrener Benutzer

    Registriert seit:
    27. Januar 2020
    Beiträge:
    59
    Danke erhalten:
    1
    Danke vergeben:
    29
    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
     
  18. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.377
    Danke erhalten:
    122
    Danke vergeben:
    175
    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
     
  19. bemark

    bemark Erfahrener Benutzer

    Registriert seit:
    27. Januar 2020
    Beiträge:
    59
    Danke erhalten:
    1
    Danke vergeben:
    29
    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
     
  20. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Und wo liegt Deine Shop-Kopie?
    Dann ist da nur http und kein https - hast Du in den configute-Dateien denn das SSL deaktiviert?