Lokale Testumgebung für Magento

Entwicklungsarbeiten am Shop (Template-Änderungen, Update, Installation von Erweiterungen) sollten in einer Testumgebung stattfinden und erst danach auf die Produktivumgebung übertragen werden.

Die Testumgebung sollte der Produktivumgebung möglichst ähnlich sein. Wird auf dem Webserver ein Unix-System verwendet (z.B. Debian), sollte auch lokal auf einem Unix-System gearbeitet werden (z.B. Debian oder Ubuntu Server).

Für Web-Entwicklungen ist ein Linux grundsätzlich besser geeignet und bietet folgende Vorteile:

  • Nahtlose Integration von SSH/SFTP in das Betriebssystem, die ein bequemes und sicheres Arbeiten mit Dateien auf dem Server erlaubt
  • Verweise, die aufgrund der Groß-/Kleinschreibung auf dem Server ungültig werden, werden bereits auf der lokalen Testumgebung erkannt
  • MySQL-Server läuft schneller und stabiler (trotz identischer Hardware)
  • FireFox, Chrome, Opera für Linux verfügbar
  • Tolle Organisationsmöglichkeiten durch multiple Workspaces
  • Symbolische Links, besonders interessant für den Modul Manager (modman)
  • GREP, ein schnelles und mächtiges Suchwerkzeug, unverzichtbar bei Code-Analyse
    (Abhilfe unter Windows: Funduc Search & Replace)

Nachteile von Web-Entwicklung unter Linux gegenüber Windows:

  • Kein Internet Explorer. Trotz wachsender Beliebtheit anderer Browser ist der Internet Explorer nach wie vor sehr verbreitet und deshalb eine wichtige Testumgebung. Abhilfe: Emulation von Windows in dem kostenlosen VMWave Player, Virtual Box oder browsershots.org
  • Angebot von Grafiksoftware eingeschränkt. Mit GIMP und Inkscape kann man viel erreichen, aber oft gestaltet sich der Weg zum Ergebnis als relativ umständlich.

Als vorkonfigurierter Webserver kann, sowohl unter Windows als auch unter Linux, XAMPP bzw. LAMPP verwendet werden.

ACHTUNG: Magento muss lokal unbedingt über die IP http://127.0.0.1 aufgerufen werden. Versucht man es mit http://localhost, kommt es zu Fehlern.

Noch besser ist es die lokale Installation über eine ähnliche Domain wie z.B. http://magento-trainer.com/magento aufzurufen, während die Produktivumgebung öffentlich unter http://magento-trainer.de/magento erreichbar ist. Die lokalen Domains sind in die hosts-Datei einzutragen. Unter Ubuntu ist diese Datei unter /etc/hosts zu finden (siehe auch Hosts-Datei bei Wikipedia). Der entsprechende Eintrag könnte wie folgt aussehen:

127.0.0.1             magento-trainer.com

Nach dem Überschreiben der lokalen Testumgebung mit den Daten der Produktumgebung müssen einige Anpassungen durchgeführt werden, damit die Testumgebung schnell einsatzbereit ist:

  • Domainadressen zur Kontrolle anzeigen:
SELECT * FROM core_config_data
  WHERE path = 'web/unsecure/base_url'
  OR path = 'web/secure/base_url';
  • Domainadressen umstellen:
UPDATE core_config_data
  SET value = REPLACE(value, 'magento-trainer.de', 'magento-trainer.com')
  WHERE path = 'web/unsecure/base_url'
  OR path = 'web/secure/base_url';

ACHTUNG: Wenn Sie die Basis-Adressen einzeln in Textfelden eines GUI-Datenbankeditors bearbeiten, achten Sie darauf, dass Sie die geänderte Adresse mit einem Slash abschließen, d. h. als Wert in der Value-Spalte muss z. B. http://local.xonu.de/ statt http://local.xonu.de (ohne Slash am Ende) eingetragen sein. Gleiches gilt beim Umzug Ihres Magento-Shops auf einen anderen Server, in ein anderes Verzeichnis des gleichen Servers oder beim Wechsel der Shop-Domain.

  • HTTP Secure (SSL/TLS) deaktivieren (oder SSL in XAMPP aktivieren):
    • Secure Connection für Administrationsbereich deaktivieren:
UPDATE core_config_data
  SET value = 0
  WHERE path = 'web/secure/use_in_adminhtml';
    • Secure Connection für sensible Shop-Bereiche (Login und Benutzerkonto, Warenkorb und Kasse) deaktivieren:
UPDATE core_config_data
  SET value = REPLACE(value, 'https://', 'http://')
  WHERE path = 'web/unsecure/base_url'
  OR path = 'web/secure/base_url';
  • Noch müssen die Zugangsdaten für Datenbankzugriffe in magento/app/etc/local.xml angepasst werden. Einfacher ist es lokal eine gleichnamige Datenbank mit gleichen Zugangsdaten zu verwenden.

Mit der lokalen Testumgebung können Zahlungsschnittstellen wie PayPal nicht getestet werden, da sie aus dem Web nicht erreichbar ist und folglich keine Zahlungsbestätigungen empfangen kann. Abhilfe schaffen hierbei Anbieter von Managed DNS.

Weiterlesen: SSL in der lokalen Testumgebung aktivieren

 

4 Gedanken zu „Lokale Testumgebung für Magento“

  1. Danke für die umfassende Aufstellung. Wichtig ist noch, am Ende einmal den kompletten Cache zu löschen, indem man das Verzeichnis var/cache leert.
    Für Windows bevorzuge ich statt XAMPP den Zend Server CE – ebenfalls kostenlos, gefühlt etwas schneller und stabiler, und v.a. läuft der Debugger (Zend Debugger) problemlos.

  2. Ich starte gerade die Betreuung von Bodenseeseil und muss mich erst mal in Magento einarbeiten.
    Schlecht finde ich die Tatsache, dass unsere Artikel – unter einer Überschrift findet man oft 6 oder mehr Artikel – nicht auflistbar sind und dann in jeder Zeile noch für jeden einzelnen Artikel ein Eingabefeld für die Angabe der Länge in Metern zugefügt werden kann… Oder geht das eben doch?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.