Inhalt:
- Einleitung
- Was ist Dockware und warum sollte man es für die Shopware-Entwicklung nutzen?
- Schritt 1: Erstellen Sie Ihr Projektverzeichnis
- Schritt 2: Docker Compose einrichten
- Schritt 3: Erstellen und Starten des Docker-Containers
- Schritt 4: Zugriff auf Ihre Shopware-Dateien
- Schritt 5: Zugriff auf den Shopware-Adminbereich und den Shop
- Vor- und Nachteile der Verwendung von Dockware für die Shopware-Entwicklung
- Best Practices für die Shopware-Entwicklung mit Dockware
- Häufige Probleme und Fehlerbehebung
- Weitere Ressourcen
- Fazit
Einleitung:
Mit Dockware lässt sich die Einrichtung einer Entwicklungsumgebung für Shopware 6 vereinfachen. In dieser Anleitung führe ich Sie Schritt für Schritt durch den Prozess – von der Erstellung Ihres Projektverzeichnisses bis hin zum Zugriff auf Ihre Shopware-Instanz. Am Ende verfügen Sie über eine voll funktionsfähige Shopware-6-Umgebung, die für die Entwicklung bereit ist.
Was ist Dockware und warum sollte man es für die Shopware-Entwicklung nutzen?
Dockware ist eine auf Docker basierende Image-Lösung, die speziell für die Shopware-Entwicklung optimiert wurde. Sie bietet vorkonfigurierte Shopware-Umgebungen und vereinfacht so den Einrichtungsprozess für Entwickler, die schnell Shopware-Instanzen bereitstellen müssen, ohne sich mit komplexen Serverkonfigurationen befassen zu müssen. Dockware spart Zeit, indem es Shopware, PHP und Datenbankkonfigurationen in einem einsatzbereiten Docker-Container bündelt.
Die Verwendung von Dockware für die Shopware-Entwicklung bietet mehrere Vorteile:
- Einfache Einrichtung: Mit Dockware entfällt die manuelle Installation und Konfiguration von Serverkomponenten.
- Vorkonfigurierte Umgebung: Alles, was Sie für die Shopware-Entwicklung benötigen, ist enthalten – von PHP über MySQL bis hin zu Shopware selbst.
- Teamübergreifende Einheitlichkeit: Durch die Verwendung standardisierter Docker-Container wird sichergestellt, dass alle Entwickler über dieselbe Umgebung verfügen, wodurch Unstimmigkeiten zwischen verschiedenen Rechnern auf ein Minimum reduziert werden.
Schritt 1: Erstellen Sie Ihr Projektverzeichnis
Zunächst musst du ein Verzeichnis für dein Projekt erstellen. Nennen wir es SW6. Es ist wichtig, dass sich dieses Verzeichnis innerhalb deiner WSL-Umgebung (Windows Subsystem for Linux) befindet, um eine nahtlose Docker-Integration zu gewährleisten.
Schritt 2: Docker Compose einrichten
Erstellen Sie im Verzeichnis SW6 eine Datei mit dem Namen docker-compose.yml und fügen Sie die folgende Konfiguration ein:
version: "3"
services:
shopware:
# use either tag "latest" or any other version like "6.5.3.0", ...
image: dockware/dev:latest
container_name: shopware
ports:
- "80:80"
- "3306:3306"
- "22:22"
- "8888:8888"
- "9999:9999"
volumes:
- "db_volume:/var/lib/mysql"
- "shop_volume:/var/www/html"
networks:
- web
environment:
# default = 0, recommended to be OFF for frontend devs
- XDEBUG_ENABLED=1
# default = latest PHP, optional = specific version
- PHP_VERSION=8.1
volumes:
db_volume:
driver: local
shop_volume:
driver: local
networks:
web:
external: falseDiese Datei docker-compose.yml definiert die Dienste, Volumes und Netzwerke, die für den Betrieb von Shopware in einem Docker-Container erforderlich sind.
Schritt 3: Erstellen und Starten des Docker-Containers
Sobald die Datei docker-compose.yml eingerichtet ist, führen Sie den folgenden Befehl aus, um Ihren Docker-Container zu erstellen und zu starten:
docker-compose up -d
Dieser Befehl lädt die erforderlichen Images herunter und startet den Container im Detached-Modus.
Schritt 4: Zugriff auf Ihre Shopware-Dateien
Sobald Ihr Container läuft, können Sie die Dateien des Containers direkt in Ihrer Entwicklungsumgebung verwalten und durchsuchen. Wenn Sie PhpStorm verwenden:
- Dateien durchsuchen: Navigieren Sie zu
Tools->Deployment->Browse Remote Host. - Configure SSH Access:
- Geben Sie im Feld „Name“ Folgendes ein:
dockware. - Klicken Sie auf „OK“, woraufhin sich ein neuer Tab öffnet.
- Klicken Sie auf „…“ button und fügen Sie eine neue SSH-Konfiguration hinzu, indem Sie die
+symbol klicken. - Geben Sie die folgenden Angaben ein:
- Host:
localhost - Username:
dockware - Password:
dockware - Port:
22
- Host:
- Überprüfen Sie die Verbindung. Wenn dies erfolgreich war,
ApplyandOK. - Stellen Sie im nächsten Fenster die Root Path zu
/var/www/html/.
Die Shopware-Dateien sollten nun im rechten Bereich von PhpStorm angezeigt werden.
Siehe die folgenden Screenshots
- Geben Sie im Feld „Name“ Folgendes ein:
Schritt 5: Zugriff auf den Shopware-Adminbereich und den Shop
Nachdem alles eingerichtet ist, können Sie nun auf den Shopware-Adminbereich und den Shop zugreifen:
- Admin Interface:
- URL: localhost/admin
- Username:
admin - Password:
shopware
- Storefront:
- URL: localhost
Vor- und Nachteile der Verwendung von Dockware für die Shopware-Entwicklung
Dockware ist zwar ein leistungsstarkes Tool für Shopware-Entwickler, doch ist es wichtig, die Vor- und Nachteile abzuwägen, bevor man sich dafür entscheidet:
Vorteile:
- Zeitersparnis: Da bereits alles vorkonfiguriert ist, können Sie Ihre Shopware-Umgebung in wenigen Minuten einrichten – im Gegensatz zur manuellen Konfiguration von PHP-, MySQL- und Shopware-Installationen.
- Flexible PHP-Versionen: Wechseln Sie ganz einfach zwischen verschiedenen PHP-Versionen – dies ist besonders nützlich, um die Kompatibilität in unterschiedlichen Umgebungen zu testen.
- Vereinfachte Umgebung: Das Docker-Image enthält alle wichtigen Dienste wie Webserver, Datenbank und Shopware, wodurch die Einrichtung vereinfacht wird.
- Xdebug-fähig: Mit Dockware lässt sich Xdebug ganz einfach aktivieren, was für Entwickler für ein effizientes Debugging unerlässlich ist.
Nachteile:
- Ressourcenintensiv: Docker-Container können erhebliche Systemressourcen beanspruchen, was sich insbesondere auf Rechnern mit geringerer Leistung negativ auf die Performance auswirken kann.
- Lernaufwand: Für Entwickler, die noch keine Erfahrung mit Docker haben, kann es etwas Zeit in Anspruch nehmen, die Funktionsweise von Containern und Netzwerken zu verstehen.
- Anpassung: Dockware vereinfacht zwar die Einrichtung, doch für sehr spezifische Konfigurationen sind unter Umständen zusätzliche Anpassungen erforderlich, die über die Standardfunktionen von Dockware hinausgehen.
Best Practices für die Shopware-Entwicklung mit Dockware
- Versionskontrolle: Versionsverwalten Sie Ihre `docker-compose.yml` und andere Konfigurationsdateien stets, um die Konsistenz im gesamten Team zu gewährleisten.
- Verwenden Sie Volumes: Mit Volumes können Sie Daten über den Lebenszyklus des Containers hinaus speichern. Stellen Sie sicher, dass Sie diese für Datenbanken und Shopware-Daten verwenden.
- Leistungsoptimierungen: Sollte die Leistung ein Problem darstellen, sollten Sie erwägen, Docker über die Einstellungen von Docker Desktop mehr Ressourcen (CPU und Arbeitsspeicher) zuzuweisen.
Häufige Probleme und Fehlerbehebung:
- Container startet nicht: Wenn Ihr Container nicht ordnungsgemäß startet, stellen Sie sicher, dass Sie in Docker Desktop genügend Ressourcen zugewiesen haben und dass keine Portkonflikte vorliegen.
- Probleme mit Dateiberechtigungen: Wenn beim Zugriff auf Dateien Berechtigungsprobleme auftreten, stellen Sie sicher, dass Ihre SSH-Konfiguration korrekt ist und die Berechtigungen für die Volumes richtig eingestellt sind.
Weitere Ressourcen
Eine ausführliche Anleitung, einschließlich der Einrichtung der Datenbank und weiterer Konfigurationen, findest Du in unserem Youtube-Kanal
Shopware 6 mit Dockware for Developer einrichten (Sprache EN)
Willst du wissen was ist der Unterschied bzw. Vor und Nachteile zwischen React und Vue dann schaue dir diesen Artikel Vue vs React
Wir bieten Ihnen ausführliche Anleitungen, damit Sie Ihre Shopware-Entwicklungsumgebung optimal nutzen können.
Fazit
Herzlichen Glückwunsch! Du hast Shopware 6 mithilfe von Dockware erfolgreich eingerichtet. Ganz gleich, ob du eigene Plugins entwickelst oder an einem neuen Shop arbeitest – diese Umgebung bietet dir die nötige Flexibilität und die erforderlichen Tools für eine effiziente Entwicklung.
Viel Spaß beim Programmieren!
