Shop Transfer Live-System / Testumgebung

Gültig ab Version:
4.0.0

Achtung! Die hier zur Verfügung gestellten Informationen wurden zum Zeitpunkt der Veröffentlichung dieses Artikels getestet, können sich zwischenzeitlich aber geändert haben. Die Durchführung dieses Tutorials geschieht auf eigene Gefahr! Lege Dir vor der Durchführung ein Backup an, sodass Du dieses im Zweifel zurückspielen kannst. Beachte, dass es sich hier um Anpassungen von Shopware handelt und der Inhalt dieses Tutorials daher nicht offiziell supportet wird!

Vorwort

Dieser Artikel zeigt Dir, wie Du Deine (lokale) Testumgebung in eine Produktiv-Umgebung umwandelst sowie umgekehrt.

Kopieren der Testumgebung in das Live-System

Hier erläutern wir Dir, wie Du nach Deiner Entwicklung Deine Testumgebung auf das Live-System übertragen kannst.

Kopieren der Testumgebung in das Live-System per FTP-Client

Öffne als erstes Deinen FTP-Client und kopiere die Dateien von deiner Testumgebung in das Hauptverzeichnis deines Shops. Achte darauf, nur das Shopware-Verzeichnis zu kopieren und die Cache-Order vom Kopiervorgang auszuschließen

MySQL-Datenbank auf die Produktiv-Datenbank kopieren

In diesem Schritt wird beschrieben, wie Du einen kompletten Dump (Kopie) Deiner Test-Datenbank anlegst und in Deine Live-Datenbank importierst. Öffne phpMyAdmin in Deiner Testumgebung und melde Dich dort an. Wähle dann die Test-Datenbank von Shopware (1) aus und klicke danach in den Tab Exportieren (2) und starte nachfolgend den Export deiner Test-Datenbank (4).

Spiele nun den zuvor erstellten MySQL-Dump deiner Test-Datenbank in Deine Produktiv-Umgebung ein. Öffne in deiner Produktiv-Umgebung phpMyAdmin und melde dich dort an. Falls nicht bereits eine Datenbank vorhanden ist, erstelle dort eine Datenbank mit zum Beispiel dem Namen shopware (1) und wähle diese aus. Wechsel danach in den Tab Importieren (2). Wähle dort den zuvor erstellten SQL-Dump (3) aus und importiere (4) diesen.

Hinweis: Es kann vorkommen, dass der zu importierende SQL-Dump zu groß ist und aufgrund dessen der Import abbricht. In diesem Fall kann dieser vor dem Import einfach gezippt werden. Falls der SQL-Dump immer noch zu groß ist, musst Du auf Import-Tools wie z.B. BigDump zurückgreifen. Mit diesen Tools können auch größere Datenbanken importiert werden.

Anpassen der Shop-URL

Damit Dein Shop in der neuen Produktiv-Umgebung auch unter der korrekten Shop-URL erreichbar ist, müssen die Shop-URLs in der Datenbank geändert werden, wechsel dazu in phpMyAdmin in die Tabelle s_core_shops (1) und editiere den Host-Eintrag des Hauptshops (2). In unserem Beispiel soll die Testumgebung direkt unter http://mb.test.shopware.in erreichbar sein. Entsprechend muss der Eintrag Host (1) in mb.test.shopware.in geändert werden. Da wir unseren Shop nicht in einem Unterverzeichnis betreiben, muss der Eintrag base_path (3) leer sein, falls hier also ein Eintrag vorhanden ist, lösche diesen. Speichere danach die von Dir getätigten Änderungen ab.

Anpassung der config.php

Abschließend muss noch die Verbindung der Dateibasis zur MySQL-Datenbank auf dem Webserver wiederhergestellt werden. Öffne hierzu in deiner Live-Umgebung das gerade kopierte Shop-Verzeichnis und editiere die Datei config.php im Hauptverzeichnis. Hinterlege hier den Benutzernamen und das Passwort zu deiner MySQL-Datenbank und ggf. auch den abweichenden MySQL-Server. In der Regel sind diese gleichlautend mit deinen Zugangsdaten zu phpMyAdmin.

Kontrolliere bzw. ändere hier folgende Einträge:

 
    'username' => 'root',
    'password' => 'root',
    'host' => 'localhost',
    'port' => '3306',
    'dbname' => 'shopware',
 

Nach Änderung der config.php ist es notwendig, den Cache einmal über FTP zu leeren. Falls Du den Cache nicht schon beim kopieren weggelassen hast, kannst Du das wie folgt tun: Führe entweder die Datei /var/cache/clear_cache.sh über die Konsole des Servers aus oder lösche unter var/cache die production_xxxx-Ordner.

Sobald Du nun deinen Shop aufrufst, wird das Cache-Verzeichnis automatisch neu erzeugt.

Rechte der Shopware-Verzeichnisse

Du kannst dich nun im Backend einloggen. Rufe dort Einstellungen > Systeminfo auf und wechsel in den Reiter Shopware-Verzeichnisse. Falls hier Shopware-Ordner bemängelt werden, setze deren Rechte auf 0755. Setze Order- und Dateirechte außer beim Cache niemals auf 0777, da hiermit jeder Schreibzugriff auf Deine Daten hat, das ist unbedingt zu vermeiden! Nach diesem Schritt sind nochmals alle Caches (außer SEO- und Suchcache) im Backend zu leeren.

Kopieren des Live-Systems in eine Testumgebung

Solltest Du Dir eine Testumgebung aufsetzen, um z.B. eigene Programmierungen, Templates etc. zu testen bzw. zu entwickeln, kannst Du die folgede Beschreibung nutzen.

Kopieren des Live-Systems per FTP-Client

Öffne einen FTP-Client und transferiere die Dateien von deinem Web-Server in das Lokale Webserver-Verzeichnis (Je nach Entwicklungsumgebung kann dies an unterschiedlichen Orten liegen, unter Linux in der Regel aber unter /var/www). Überschreibe dabei alle Dateien und Ordner.

MySQL-Datenbank auf lokalen MySQL-Server kopieren

In diesem Schritt wird beschrieben, wie Du einen kompletten Dump (Kopie) Deiner Produtiv-Datenbank anlegst und in Deine Testumgebung importierst. Öffne phpMyAdmin in Deiner Produktivumgebung und melde Dich dort an. Wähle dann die Produktivdatenbank von Shopware (1) aus und klicke danach in den Tab Exportieren (2) und starte nachfolgend den Export deiner Datenbank (4).

Wechsel nun in Deine lokale Testumgebung und rufe dort phpMyAdmin auf. Lege zuerst eine neue Datenbank (1) mit zum Beispiel dem Namen testumgebung an.

Wechsel anschließend in die Admin-Oberfläche der neu angelegten Datenbank (1) und importiere (2)+(3) die zuvor angelegte Export-Datei.

Hinweis: Es kann vorkommen, dass der zu importierende SQL-Dump zu groß ist und aufgrund dessen der Import abbricht. In diesem Fall kann dieser vor dem Import einfach gezippt werden. Falls der gezippte SQL-Dump immer noch zu groß ist, musst Du auf Import-Tools wie z.B. BigDump zurückgreifen. Mit diesen Tools können auch größer Datenbanken importiert werden.

Anpassen der Shop-URL

Damit Dein Shop in der lokalen Umgebung auch unter der Domain z.B.: "http://localhost" erreichbar ist, muss die Shop-URL in der Datenbank entsprechend angepasst werden. Wechsel in phpMyAdmin in die Tabelle s_core_shops (1) und editiere den Host-Eintrag des Hauptshops (2).

Änder nun die Einträge host (1) und base_path (2). In unserem Beispiel soll die Testumgebung direkt unter "http://localhost" erreichbar sein. Entsprechend muss der Eintrag host (1) in localhost geändert werden. Da wir unseren Shop nicht in einem Unterverzeichnis betreiben, muss der Eintrag base_path (2) leer sein. Speichere danach die von Dir getätigten Änderungen ab.

Anpassung der config.php

Nun muss noch die Verbindung zur lokalen MySQL-Datenbank hergestellt werden. Öffne hierzu das lokale Hauptverzeichnis deines Shops und editiere die Datei config.php und ersetze ggf. Daten:

 
    'username' => 'root',
    'password' => 'root',
    'host' => 'localhost',
    'port' => '3306',
    'dbname' => 'testumgebung',
 

Du kannst Dich nun im Backend unter http://localhost/backend einloggen. Leere dort noch alle Caches außer den SEO- und Such-Cache.

Wichtiger Hinweis zum Thema ionCube

Hinweis: ionCube ist im Standard meistens nicht installiert / aktiviert. Somit können lizenzpflichtige Plugins nicht installiert werden. Um lizenzpflichtige Plugins zu testen, muss entsprechend ionCube aktiviert werden. Solltest Du keine Lizenzen für Deine Testumgebung besitzen, so deaktiviere diese über die Datenbanktabelle s_core_shops, da es ansonsten beim Aufruf des Backend / Frontends zu Fehlern kommen kann.

Tipps & Tricks

Testsysteme im www vor der Indexierung durch Google schützen

Sofern Du Dein Testsystem nicht lokal, sondern auf einem Webserver im Internet aufgesetzt hast, so empfehlen wir Dir den Shop vor der Indexierung durch Suchmaschinen zu schützen.

Wartungsmodus aktivieren und für IP freischalten

Aktiviere in der Testumgebung den Wartungsmodus. Zusätzlich hast Du die Möglichkeit, in den Einstellungen für den Wartungsmodus Deine eigene IP-Adresse, mit welcher Du auf die Testumgebung zugreifst, als Ausnahme zu hinterlegen.

Wie Deine eigene IP-Adresse lautet, kannst Du auf der Seite www.meineip.de auslesen.

Testumgebung vor Crawlern schützen

Erstelle eine Datei namens robots.txt und lade diese in das Root-Verzeichnis deiner Shopware-Installation. Die robots.txt muss folgenden Inhalt haben:

 
User-agent: *
Disallow: /
 

Somit werden alle Robots abgewiesen. Vergesse nicht, die Datei nach Umwandlung in die Live-Umgebung zu entfernen.

Weitere interessante Artikel:

Foreign Keys reparieren

Beschreibung In bestimmten Konstellationen und auch nur bei manchen Hostern, kann es vorkommen, dass die Foreign-Keys, die Shopware in der Datenbank benötigt, verloren gehen. Die Modelgenerierung der Attributmodels benötigt diese Keys,...

weiterlesen
€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*