Erstellung Testshop

Thema wurde von ballistik_danny, 29. Oktober 2021 erstellt.

  1. ballistik_danny

    ballistik_danny Erfahrener Benutzer

    Registriert seit:
    1. Februar 2021
    Beiträge:
    82
    Danke erhalten:
    1
    Danke vergeben:
    22
    Hallo zusammen,

    ich wollte gerade meinen Testshop neu machen.
    Ich habe die Datenbank meines Hauptshops kopiert, einen neuen Benutzer angelegt, entsprechend Berechtigungen vergeben.
    Habe die Verzeichnisstruktur (Hauptshop in /httpdocs/, Testshop in /test/) kopiert und in der includes/configure.php und admin/includes/configure.php die absoluten Pfade, die URL und die Datenbank-Zugangsdaten angepasst.
    Anschließend den Cache des Testshops manuell gelöscht.
    Bei Aufruf des Testshops erscheint jedoch ein Error 500, und im Log erscheint
    Code:
    [Fri Oct 29 10:58:51.528053 2021] [proxy_fcgi:error] [pid 466802:tid 140373456303872] [client 3.249.14.32:0] AH01071: Got error 'PHP message: PHP Fatal error:  Cannot redeclare smarty_function_load_language_text() (previously declared in /var/www/vhosts/meinedomain.de/httpdocs/GXMainComponents/SmartyPlugins/function.load_language_text.php:17) in /var/www/vhosts/meinedomain.de/test/GXMainComponents/SmartyPlugins/function.load_language_text.php on line 17'
    Muss ggf. an der DB noch was angepasst werden?
     
  2. marit

    marit Erfahrener Benutzer

    Registriert seit:
    7. März 2014
    Beiträge:
    1.383
    Danke erhalten:
    122
    Danke vergeben:
    175
    Du musst noch die Shop-ID im Testshop löschen. Ich hab mir die hervorragende Anweisung hier aus dem Forum als pdf gespeichert.Da kannste alles lesen.
     

    Anhänge:

  3. ballistik_danny

    ballistik_danny Erfahrener Benutzer

    Registriert seit:
    1. Februar 2021
    Beiträge:
    82
    Danke erhalten:
    1
    Danke vergeben:
    22
    Danke für die PDF, die kannte ich noch gar nicht, wird mir sicher hilfreich sein.
    Ich habe noch die Shop-ID gelöscht, aber das löst den PHP-Fehler leider auch nicht.
     
  4. KlausK

    KlausK Erfahrener Benutzer

    Registriert seit:
    7. Oktober 2012
    Beiträge:
    547
    Danke erhalten:
    106
    Danke vergeben:
    21
    @ballistik_danny
    Ich denke dein "test"-Verzeichnis ist falsch.
    Deine Domain zeigt auf:
    /var/www/vhosts/meinedomain.de/httpdocs/
    Für den Testshop hast du aber angelegt:
    /var/www/vhosts/meinedomain.de/test/
    Das geht so nicht. Du musst dein Testshop in dieses Verzeichnis anlegen:
    /var/www/vhosts/meinedomain.de/httpdocs/test/
    Und dann mit DeineDomain/test/ aufrufen
     
  5. ballistik_danny

    ballistik_danny Erfahrener Benutzer

    Registriert seit:
    1. Februar 2021
    Beiträge:
    82
    Danke erhalten:
    1
    Danke vergeben:
    22
    Hallo Klaus, Danke für deine Antwort.
    Das muss so schon stimmen, test ist eine Subdomain für den Shop und /test ist der Webspace-Root für die Subdomain.
    Aufgrunddessen frage ich mich woher er jetzt in der Fehlermeldung plötzlich das httpdocs zieht...
     
  6. ballistik_danny

    ballistik_danny Erfahrener Benutzer

    Registriert seit:
    1. Februar 2021
    Beiträge:
    82
    Danke erhalten:
    1
    Danke vergeben:
    22
    Um sicherzugehen dass keine Pfade mehr vorhanden sind habe ich soeben auf SSH-Ebene im test-Verzeichnis nach "httpdocs gegreppt: grep -rnl httpdocs /var/www/vhosts/meinedomain.de/test/
    Hier kamen nur Ergebnisse aus dem logfiles-Ordner zum Vorschein - irgendwas ist hier wirklich komisch.
     
  7. KlausK

    KlausK Erfahrener Benutzer

    Registriert seit:
    7. Oktober 2012
    Beiträge:
    547
    Danke erhalten:
    106
    Danke vergeben:
    21
    OK. Ungewöhnlich, aber nicht unmöglich. Hab mich allerdings mit einem 404 vertan.
    Sind tatsächlich alle Dateien in das Test-Verzeichnis kopiert worden? Offensichtlich kann er die Sprachdateien nicht laden.
    Vielleicht einfach alles nochmal rüberkopieren.
    Wenn du ssh nutzen kannst, dann am besten mit "cp -ar". Zuverlässiger gehts eigentlich nicht.

    Edit:
    Hat sich wohl überschnitten. :)
    Einfach /test vorher leeren. Dann dürfte alles sauber bleiben
     
  8. ballistik_danny

    ballistik_danny Erfahrener Benutzer

    Registriert seit:
    1. Februar 2021
    Beiträge:
    82
    Danke erhalten:
    1
    Danke vergeben:
    22
    Ich habe jetzt via cp -rip kopiert - scheint soweit alles zu passen. Komisch, hier hat Plesk wohl nicht sauber kopiert.
    Vielen Dank! :)
     
  9. KlausK

    KlausK Erfahrener Benutzer

    Registriert seit:
    7. Oktober 2012
    Beiträge:
    547
    Danke erhalten:
    106
    Danke vergeben:
    21
    Größere Mengen mit der Plesk Dateiverwaltung zu kopieren ist genauso ein Mist wie mit Filezilla via FTP. Das gibt ständig Probleme.
    Du solltest beim Kopieren mit CP aber besser das "a"-Attribut mit setzen, damit sämtliche Datei-, Besitz-, Whatever-Rechte mit genommen werden. Das "p" nimmt ja nicht alles mit.
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Wenn das /Test-Verzeichnis vorher nicht leer war, kann es auch eine Mischung von alten und neuen Dateien sein. Zumindest wenn der Testshop vorher eine andere Version hatte.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich mache das auch umständlich mit Filezilla und FTP.
    Was heisst "CP"?
    Wie kopiert ihr den ganzen Shop?
     
  12. KlausK

    KlausK Erfahrener Benutzer

    Registriert seit:
    7. Oktober 2012
    Beiträge:
    547
    Danke erhalten:
    106
    Danke vergeben:
    21
    cp steht für copy und ist der Kommandozeilen-Befehl zum Kopieren von Dateien und Verzeichnissen.
    Die Parameter a (archive) und r (recursive) sorgen für die Übernahme aller Dateirechte und Unterverzeichnisse
    Siehe auch: https://wiki.ubuntuusers.de/cp/

    Beispiel:
    Code:
    cp -ar /httpdocs/liveshop/. /httpdocs/testshop
    Hier wird der komplette Inhalt von /liveshop in das Verzeichniss /testshop kopiert, mit allen nötigen Besitz-, Gruppen- und Zugriffsrechten.
    Der Vorgang erfolgt binnen weniger Sekunden direkt auf dem Server und ist deshalb quasi fehlerfrei.

    Das ganze setzt natürlich einen SSH-Zugang deines Hostings und ein Terminal-Programm wie PuTTY auf deinem Rechner voraus.

    Aber ACHTUNG!
    Nicht nur das Kopieren geht in der Console sehr schnell und einfach, sondern auch das Löschen!
     
  13. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Achso danke. Mit Putty habe ich schon gearbeitet und am Raspberry Pi rumgespielt. Jetzt habe ich es verstanden.
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Mai 2019
    Beiträge:
    453
    Danke erhalten:
    205
    Danke vergeben:
    149
    #14 Anonymous, 21. November 2021
    Zuletzt bearbeitet: 4. Oktober 2023
    [gelöscht]
     
  15. tannenhof_imshausen

    tannenhof_imshausen Erfahrener Benutzer

    Registriert seit:
    26. Oktober 2022
    Beiträge:
    57
    Danke erhalten:
    11
    Danke vergeben:
    30
    #15 tannenhof_imshausen, 17. Januar 2023
    Zuletzt bearbeitet: 18. Januar 2023
    Die Anleitung ist nicht aktuell, das musste ich auch feststellen. Leider gibt es noch kein Kapitel zum Testshop erstellen im Handbuch, habe dies eben per Ticket gemeldet.

    in der aktuellen Gambio-Version gibt es die Tabelle configurations nicht mehr, sondern nur noch gx_configurations. In der aktuellen Cloud-Version 4.5.3.1 gibt es beide Tabellen.

    Den Shop-Key jetzt also in der Tabelle gx_configurations finden.
    'configuration/MODULE_PAYMENT_GAMBIO_HUB_STATUS' findet sich (bei 4.5.3.1 zusätzlich zur configurations) Tabelle ebenfalls dort.

    Damit sich der Shop nicht zum Gambio-Hub verbindet, muss auch in der Tabelle gx_configurations bei gm_configuration/GAMBIO_HUB_CLIENT_KEY der Wert geleert werden.
    Geht auch einfach so:
    Code:
    UPDATE `gx_configurations` SET `value` = '' WHERE (`key` = 'gm_configuration/GAMBIO_HUB_CLIENT_KEY');
    Damit der grüne Haken beim Shop-Key in der Status-Leiste unten (trotz Leerung) nicht mehr angezeigt wird:
    Code:
    UPDATE `gx_configurations` SET `value` = 0 WHERE (`key` = 'gm_configuration/SHOP_KEY_VALID');
    
     
  16. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Nein!!!
    Den Shopkey im shop löschen (oder Ausschneiden, damit man ihn später einfach einfügen kann)
    Datenbank-Sicherung (für den Testshop) erstellen
    Shopkey im Shop wieder einfügen

    Dann hat man keine Probleme und muss nichts in der Datenbank suchen.

    Das HUB kann man im Admin Trennen, ob das aber im Shop gut ist, oder ob es danach Probleme mit Zahlarten gibt, sollte man bei Gambio direkt erfragen.
    Vielleicht ist es hier besser das HUB im Testshop zu trennen.
    upload_2023-1-17_19-10-32.png
     
  17. tannenhof_imshausen

    tannenhof_imshausen Erfahrener Benutzer

    Registriert seit:
    26. Oktober 2022
    Beiträge:
    57
    Danke erhalten:
    11
    Danke vergeben:
    30
    Hallo Barbara,
    natürlich meinte ich, dass der Shop-Key und die HUB-Verbindung im TESTSHOP raus sollen und nicht im Live-Shop. Warum willst Du das im Live-Shop rausnehmen wenn man einfach die Datenbank des Testshops bearbeiten kann, bevor der Testshop das erste Mal aufgerufen wird?

    Um nicht suchen zu müssen sind ja gerade die SQL-Befehle praktisch.
    Am besten mal für alle Sachen zusammen stellen und abspeichern, dann sind sie zur Hand. Braucht man ja doch öfter.
     
  18. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Weil man dann genau nicht in der Datenbank herumsuchen muss.

    Bei jedem Update wird irgend etwas an der Datenbank geändert. Wenn sich beim nächsten mal z.B. der Name ändert, funktioniert der SQL-Befehl nicht mehr. Dann fängst Du wieder an zu suchen.
    Deshalb ist es viel einfacher das vor der Erstellung der Sicherung kurz aus dem Shop zu nehmen und anschließend wieder einzusetzen.
    Ausschneiden -> Speichern -> Datenbanksicherung erstellen -> Einfügen -> Speichern -> Fertig