Shop Transfer Live-System / Testumgebung

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

Testumgebung zu Live-System

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

Kopieren der Testumgebung

Ö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 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 Deine Staging-Datenbank von Shopware (1) aus und klicke danach in den Tab Exportieren (2) und starte über den Button OK (3) den Export Deiner Test-Datenbank.
 

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 diesen über den Button OK (4).

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://test.shopware.in erreichbar sein. Entsprechend muss der Eintrag Host (2) in 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.

Live-System zu Testumgebung

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

Kopieren des Live-Systems

Ö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 Produktiv-Datenbank anlegst und in Deine Testumgebung importierst. Öffne phpMyAdmin in Deiner Produktivumgebung und melde Dich dort an. Wähle dann die Produktiv-Datenbank von Shopware (1) aus und klicke danach in den Tab Exportieren (2) und starte nachfolgend den Export Deiner Datenbank (3).

Wechsel nun in Deine lokale Testumgebung und rufe dort phpMyAdmin auf. Lege zuerst eine neue Datenbank 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.

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 (2)und base_path (3). In unserem Beispiel soll die Testumgebung direkt unter "http://localhost" erreichbar sein. Entsprechend muss der Eintrag host in localhost geändert werden. Da wir unseren Shop nicht in einem Unterverzeichnis betreiben, muss der Eintrag base_path (3) 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.

Tipps & Tricks

Testsysteme 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.

War dieser Artikel hilfreich?