Die Hosts-Datei ist ein unglaublich nützliches Werkzeug für Entwickler, um verschiedene Szenarien beim Aufbau und Testen von Shopware-Projekten zu simulieren. Sie ermöglicht die Umleitung von Domains auf alternative Server, sei es lokal oder in einer Staging-Umgebung, und bietet so zahlreiche Vorteile, die die Entwicklungsarbeit erheblich erleichtern.

  1. Vorteile für die Shopware-Entwicklung
  2. Lokale Entwicklung und Testing (localhost oder lokale Server)
  3. Testen auf einer Staging- oder Testumgebung
  4. Testen von mehreren Versionen einer Website auf derselben Domain
  5. Beseitigung von DNS-Caching-Problemen
  6. Umgehen von externen DNS-Servern oder DNS-Blockierungen
  7. Testen von Subdomains und Weiterleitungen
  8. Anpassen der Hosts-Datei
  9. Debugging – DNS-Cache leeren
  10. Debugging – known_hosts-Datei
  11. Debugging – Cache leeren
  12. Debugging – Config-Datei prüfen
  13. Debugging – Webseiten Einstellungen

1. Vorteile für die Shopware-Entwicklung

Die Möglichkeit, Domains durch eine einfache Anpassung der Hosts-Datei umzuleiten, bietet Shopware-Entwicklern eine Vielzahl von Vorteilen:

Die Domain-Umleitung über die Hosts-Datei bietet Shopware-Entwicklern vielseitige Möglichkeiten für effizientes Arbeiten und Testen. Für die lokale Entwicklung ermöglicht sie die Verwendung benutzerdefinierter Domains, die auf localhost oder lokale Server verweisen. Dies erlaubt eine realitätsnahe Testumgebung ohne tatsächliche DNS-Änderungen. Entwickler können so ihre Shopware-Projekte unter benutzerdefinierten Domains wie „meinshop.local“ aufrufen und testen, was den Entwicklungsprozess vereinfacht und beschleunigt.

Darüber hinaus ist diese Methode äußerst nützlich für das Testen auf Staging- oder Testumgebungen sowie für den Vergleich verschiedener Versionen eines Shops. Entwickler können schnell zwischen verschiedenen Serverumgebungen wechseln, indem sie einfach den entsprechenden Eintrag in der Hosts-Datei ändern. Dies ermöglicht ein flexibles Testen von Entwicklungs-, Test- und Produktionsversionen eines Shopware-Shops, ohne Änderungen an den tatsächlichen DNS-Einstellungen vornehmen zu müssen. Diese Flexibilität optimiert den Entwicklungsprozess und minimiert potenzielle Risiken bei der Arbeit an Live-Systemen.

Zusammenfassend:

  • Die Nutzung von benutzerdefinierten Domains wie meinshop.local macht lokale Tests einfacher und sicherer, ohne DNS-Server nutzen zu müssen.
  • Durch die direkte Anpassung kannst du eine Entwicklungsumgebung, eine Staging-Umgebung und sogar Produktionsumgebungen mit derselben Domain testen, ohne Umleitungen oder Serverkonfigurationen ändern zu müssen.
  • Die Risiken, die mit Änderungen in einer Live-Umgebung verbunden sind, werden erheblich reduziert.

2. Lokale Entwicklung und Testing (localhost oder lokale Server)

Wenn du eine Website lokal entwickelst und eine Domain darauf verweisen soll, um sie wie eine echte Domain zu testen, kannst du die Hosts-Datei nutzen, um eine benutzerdefinierte Domain auf die lokale IP-Adresse (z.B. 127.0.0.1 für localhost) zu leiten.

Beispiel: Du entwickelst eine Website auf deinem lokalen Rechner und möchtest sie über meinewebsite.local erreichen, statt localhost oder 127.0.0.1. In diesem Fall würdest du einen Eintrag in der Hosts-Datei hinzufügen:

127.0.0.1   meinshop.local

Nach dieser Änderung kannst du die Domain http://meinshop.local in deinem Browser verwenden, um direkt auf deinen lokalen Entwicklungsserver zuzugreifen.

3. Testen auf einer Staging- oder Testumgebung

Eine weitere häufige Anwendung ist die Nutzung der Hosts-Datei, um eine Domain auf eine Staging- oder Testumgebung umzuleiten. Wenn du eine Website auf einem Staging- oder Testserver hostest und sicherstellen möchtest, dass eine bestimmte Domain auf diesen Server verweist, ohne DNS-Änderungen vorzunehmen, kannst du die Hosts-Datei verwenden. So kannst du sicherstellen, dass dein Computer beim Testen auf die IP-Adresse des Staging-Servers zugreift.

192.168.1.20   www.meinshop.de

Damit verweist die Domain www.meinshop.de auf die Staging-Umgebung mit der IP-Adresse 192.168.1.20, ohne die DNS-Einstellungen des Servers oder der Domain ändern zu müssen.

4. Testen von mehreren Versionen einer Website auf derselben Domain

Die Hosts-Datei erlaubt es auch, verschiedene Versionen derselben Website auf derselben Domain zu testen. Wenn du verschiedene Versionen einer Website (z. B. Entwicklungs-, Test- oder Produktionsumgebungen) hast und sicherstellen möchtest, dass dein Computer auf die richtige Version zugreift, ohne DNS-Einträge ändern zu müssen, kannst du die Hosts-Datei verwenden, um die Domain auf unterschiedliche Server-IPs zu leiten.

Beispiel: Du möchtest, dass die Domain www.meinewebsite.com während der Entwicklung auf einen Entwicklungsserver verweist, aber später auf den Produktionsserver. Du kannst dies erreichen, indem du die Hosts-Datei wie folgt anpasst:

# Entwicklungsserver
192.168.0.10   www.meinshop.de

# Staging-Server
203.0.113.10   www.meinshop.de

Dadurch kannst du flexibel zwischen den verschiedenen Umgebungen wechseln, indem du die IP-Adresse in der Hosts-Datei änderst.

5. Beseitigung von DNS-Caching-Problemen

DNS-Caching-Probleme können die Arbeit erschweren, da Änderungen an der DNS-Auflösung oft nicht sofort greifen. Die Hosts-Datei hilft dabei, solche Probleme zu umgehen, da sie lokale Änderungen sofort umsetzt.

6. Umgehen von externen DNS-Servern oder DNS-Blockierungen

In bestimmten Fällen möchtest du möglicherweise DNS-Server umgehen oder Seiten blockieren, indem du die Hosts-Datei direkt manipulierst. Zum Beispiel kannst du eine Domain auf 127.0.0.1 umleiten, um sie zu blockieren (auch bekannt als „Host-Datei-Bereichsblockierung“).

Beispiel: Um den Zugriff auf eine Domain zu blockieren, könntest du einen Eintrag hinzufügen wie:

127.0.0.1   www.blockierte-website.com

Nach dieser Änderung führt jeder Aufruf von www.blockierte-website.com ins Leere.

7. Testen von Subdomains und Weiterleitungen

Wenn du eine Subdomain einer Domain lokal testen möchtest, bevor sie live geschaltet wird, kannst du sie in der Hosts-Datei auf die entsprechende IP-Adresse des Testservers leiten.

Beispiel: Du arbeitest an einer Subdomain blog.meinewebsite.com, die auf eine andere IP-Adresse verweist als die Hauptdomain. Du kannst die Hosts-Datei verwenden, um diese Umleitung zu testen:

192.168.1.50   subdomain.meinshop.local

Dies ist besonders nützlich, um Subdomain-spezifische Features zu prüfen.

8. Anpassen der Hosts-Datei

Die Hosts-Datei kannst du unter Windows, MacOS oder Linux bearbeiten. Unter Mac/Linux verwendest du zum Beispiel:

sudo nano /etc/hosts

Wenn wir an der Datei noch nicht viel oder gar nichts geändert haben könnte dies der Inhalt sein, den es nun gilt nach unserem Bedarf anzupassen:

1 - Shopware Entwicklung - Hosts-Datei

1 – Shopware Entwicklung – Hosts-Datei

Ist die Datei geöffnet können wir den Cursor mit der Tastatur nach unten bewegen und eine neue Zeile eintragen. Auf der linken Seite ist die Ip-Adresse einzutragen, auf der rechten wiederum die Domain. Es empfiehlt sich die Domain einmal mit und einmal ohne www. einzutragen. <7p>

2 - Shopware Entwicklung - Hosts-Datei - IP-Adressen

2 – Shopware Entwicklung – Hosts-Datei – IP-Adressen

Mit den letzten beiden leiten wir nun also die Domain kindergarten-portfolio.de auf die auf der linken Seite eingetragene IP-Adresse 162.55.18.175 um.

An dieser Stelle stellt sich einigen (unter anderem jedes Mal aufs neue mir selbst) die Frage welche Taste zu drücken ist wenn dort ^ steht.

Es ist auf dem Mac einfach die Control Taste, die finden wir in der untersten Reihe der Tastatur an zweiter Stelle von links bzw. 3 tasten nach links neben der Leertaste.

Ist der Inhalt nun also eingegeben ist als erstes die Tastenkombination Control + O zu drücken um die neue Anpassung zu speichern. In Folge wird uns am unteren Rand die im Screenshot angezeigte Auswahl ausgegeben.

3 - Shopware Entwicklung - Hosts-Datei - Speichern

3 – Shopware Entwicklung – Hosts-Datei – Speichern

Diese Auswahl können wir im Grunde einfach ignorieren und die Return-Taste bemühen. Danach geben wir als letztes noch die Tastenkombination Control + X ein um das Fenster wieder zu schließen. Gib als nächstes gleich noch einmal den Befehl ein:

nano ~/.ssh/known_hosts

… ein um die Anpassung der Datei zu prüfen. Sind die beiden neuen Zeilen immer noch drin, dann hat alles funktioniert und fortan sollte die Domain auf der rechten Seite auf die IP-Adresse auf der linken Seite umleiten. Rufe den Browser auf und probier es gleich aus.

9. Debugging – DNS-Cache leeren

Falls sich nichts ändert, kann es sein, dass noch etwas Unrat im DNS Cache hängt. Um den Cache zu leeren kann auf dem Mac folgender Befehl genutzt werden.

sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Anschließend können wir mit dem Befehl ping testen, ob die Domain korrekt umgeleitet wird:

ping kindergarten-portfolio.de

Sieht das Ergebnis so aus, und die korrekte IP-Adresse angezeigt wird, dann passt es schonmal halbwegs.

64 bytes from 162.55.18.175: icmp_seq=0 ttl=54 time=20.8 ms

Trotzdem kann es aber noch sein, dass die falsche Domain aufgerufen wird, insbesondere wenn mehrere Domains auf dem Server gehostet werden.

10. Debugging – known_hosts-Datei

In einigen Fällen kann ein Eintrag in der known_hosts Datei zu Fehlern führen. Lege zunächst ein Backup der known_hosts Date mit diesem Befehl an:

cp ~/.ssh/known_hosts ~/.ssh/known_hosts_backup

Lasse dir danach den Inhalt folgendermaßen anzeigen:

nano ~/.ssh/known_hosts

Falsche und / oder überflüssige Einträge kannst du am Anfang der Zeile markieren und mit der Tastenkombination Control + K löschen. Teste danach noch einmal die Umleitung mit folgendem Befehl:

curl -v -H "Host: kindergarten-portfolio.de" http://162.55.18.175 

11. Debugging – Cache leeren

Falls du eine Seite aufrufen möchtest, die du zuvor von einem anderen Server / Webspace kopiert hast, kann es sein, dass du vergessen hast bei der Kopie der Dateien den Inhalt des Cache Ordner zu exkludieren.

Lösche den Cache entweder manuell oder mit dem (Shopware 5) Befehl:

php bin/console cache:clear

12. Debugging – Config-Datei prüfen

Ist die config.php Datei (In Shopware 5) nicht angepasst worden, führt das dazu, dass die alte Datenbank „angezapft“ wird und alle Infos daraus geladen werden. Ändere einfach die Datenbank Logins und lösche den Cache Ordner erneut.

Auch den DNS Speicher zu flushen kann hier nicht schaden:

sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder 

13. Debugging – Webseiten Einstellungen

Bei Timme Hosting kann es passieren, dass die Seite zu oft umgeleitet wird wenn man in den Webseiten-Einstellungen im ISP Config www. als Standard-Subdomain ausgewählt hat …

4 - Timme Hosting - Standard Subdomains

4 – Timme Hosting – Standard Subdomains

… und gleichzeitig bei SEO-Redirect domains.tld => www.domains.tld ausgewählt hat

5 - Timme Hosting - SEO redirects

5 – Timme Hosting – SEO redirects

Wenn Sei Seite immer mit .www angezeigt werden soll, dann ist ist die zweite Einstellung wegzulassen und stattdessen die Adresse mit www. in den Shopeinstellungen des Shopware-Backends einzugeben.

Wenn es immer noch nicht klappt werde einfach Tankwart und wirf den verfluchten Rechner aus dem Fenster. Sofern du im Erdgeschoss oder einem Haus wohnst suche für diesen Vorgang einen Freund auf, der in einem Hochhaus wohnt. Als Dankeschön kannst du ihm dann einen Oxid Shop aufsetzen.

Das nächste Hochhaus ist zu weit weg und du hast keine Zeit und brauchst trotzdem eine Lösung? Dann lass uns den Job erledigen!

Shopware Entwicklung durch great2gether erledigen lassen

Du suchst eine Shopware-Agentur, die sich mit den fehlenden Puzzleteilen bei der Shopware 6 Konfiguration- und Erweiterung auskennt und dich bei deinem Launch oder der Optimierung deines Shops unterstützt?

Dann hast du 3 Optionen uns zu erreichen: