Kürzlich haben wir Shopware lokal mit XAMPP auf einem Windows Rechner installiert. Wie gut oder schlecht das funktioniert hat erfahrt ihr in diesem Beitrag. Wenn ihr alles richtig vorbereitet habt sollte alles so laufen wie in unserem Video.
ACHTUNG: Shopware ist grundsätzlich nicht dafür gedacht lokal auf Windows Geräten verwendet zu werden. Shopware empfiehlt ausdrücklich die Entwicklung auf Linux oder Mac Umgebungen oder aber auf virtuellen Umgebungen / Docker.
Inhalts-Übersicht
- 1. Systemvoraussetzungen
- 2. Memory Limit und max_execution_time
- 3. Extensions aktivieren
- 4. Apache und mod_rewrite
- 5. Der Prozess
- 6. OpenSSL und Slim Application Error
- 7. Weiterführende Links & Downloads
1. Shopware 6 mit XAMPP auf Windows- Systemvoraussetzungen
Wenn euer System folgende Voraussetzungen erfüllt sieht es schonmal gut aus:
- PHP 7.2 oder höher – 7.2.20 und 7.3.7 sind NICHT Kompatibel
- Memory_limit auf 512m gesetzt
- max_execution_time auf 1200 setzen
- Alle Extensions aktiviert
- Apache 2.4 mit mod_rewrite aktiv
- MySQL v. 5.7.21 oder MariaDB v. 10.3
Bei der ersten Installation mussten wir für die korrekte Konfiguration noch an ein paar Stellschrauben drehen, wo und wie das geht erklären wir euch hier.
2. Shopware 6 mit XAMPP auf Windows – Memory Limit und max_execution_time
Als erstes müssen wir den Memory_Limit und max_execution_time Wert anpassen. Dafür öffnen wir die php.ini Datei unserer XAMPP Installation und schauen mal rein, was da so los ist.
Memory_Limit Anpassen:
Dazu in die php.ini Datei gehen und dort den Punkt “ memory_limit “ suchen. Dahinter einfach die Zahl erhöhen. Minimum 512m !
max_execution_time Anpassen:
Dazu in die php.ini Datei gehen und dort nach “ max_execution_time “ suchen. Dort von 120 auf 1200 setzen. Nach der Installation kann man wieder auf 120 stellen!
3. Shopware 6 mit XAMPP auf Windows – Extensions aktivieren
Im nächsten Schritt muss geprüft werden ob alle benötigten Extensions aktiv sind. Auch das prüfen wir in unserer php.ini Datei.
Folgende Extensions müssen aktiviert sein:
- ext-dom
- ext-fileinfo
- ext-gd
- ext-iconv
- ext-intl
- ext-json
- ext-libxml
- ext-mbstring
- ext-openssl
- ext-pcre
- ext-pdo
- ext-pdo_mysql
- ext-phar
- ext-simplexml
- ext-xml
- ext-zip
- ext-zlib
Extensions die NICHT aktiviert sind haben ein „;“ davor stehen. Wo dies der Fall ist das Semikolon zu entfernen. Danach starten wir XAMPP neu um die Einstellungen zu übernehmen.
4. Shopware 6 mit XAMPP auf Windows – Apache und mod_rewrite
Falls ihr noch eine älere Version verwendet müsst ihr zunächst Apache 2.4 installieren und dann auch gleich die mod_rewrite Funktion aktivieren. Hierfür schaut ihr in die httpd. Datei rein und setzt den Wert für mod_rewrite gegebenenfalls auf aktiv. Nach einem Neustart von XAMPP sollten jetzt alle Einstellungen korrekt sein.
5. Shopware 6 mit XAMPP auf Windows – Der Prozess
Der eigentliche Installationsprozess unterscheidet sich nicht allzu stark zur Shopware 5 Installation. Man legt einfach im htdocs Ordner von XAMPP einen neuen Ordner an, legt dort die Shopware Dateien ab und legt eine Datenbank an.
Danach geht man den gewohnten Weg über folgende Schritte:
- Optional : Datenbank Account anlegen
- AGBs Aktzeptieren
- Systemvorraussetzungen : intl evtl. nicht Verfügbar.
- Datenbank Verbindung einrichten.
- Konfiguration erledigen
Fertig!
6. Shopware 6 mit XAMPP auf Windows – OpenSSL und Slim Application Error
Bei der Installation von Shopware 6 unter Windows mit XAMPP kann es zu folgenden beiden Fehlern kommen. Dem heimtückischen Open SSL Fehler und dem erfrischenden Slim Application Fehler.
Open SSL Fehler
Sollte der OpenSSL Fehler auftreten, musst du eine neue Umgebungsvariable einrichten. In der Windows suche “ Umgebungsvar“ eingeben -> Umgebungsvariablen für dieses Konto bearbeiten.
Nach dieser Anpassung musst du dann auch einmal deinen Rechner komplett neu starten.
Slim Allpication Error
Dieser Fehler kam bei der Anbindung der Datenbank und tritt während dem Import der Datenbank auf. Um ihn zu beheben müssen noch einmal in die php.ini Datei und openssl aktivieren.
;extension=openssl
das „;“ entfernen und damit aktivieren (so wie oben bei den Extensions)
Nun kann XAMPP neugestartet werden. Es ist jedoch der nächste Schritt nötig unter dem Zwangsweise ein Neustart erfolgt. In der Windows suche wieder in die Umgebungsvariablen um dort dort eine neue Variable anzulegen.
Name der Variable: OPENSSL_CONF
Wert der Variable: xyxyx\xampp\php\extras\ssl\openssl.cnf
Das xyxyxy muss mit dem richtigem Pfad ausgetauscht werden und man muss darauf achten, dass der Pfad korrekt ist und auf openssl.cnf in der genutzten PHP Version zeigt.
Jetzt muss Windows wieder neu gestartet werden.
7. Shopware 6 mit XAMPP auf Windows – Weiterführende Links & Downloads
Falls ihr noch nie mit XAMPP gearbeitet habt, könnt ihr es hier kostenlos runterladen:
https://www.apachefriends.org/de/index.html
Shopware bekommt ihr in der Community Edition, ebenfalls kostenlos, hier:
https://www.shopware.com/en/download/#shopware-6
Mehr zum OpenSSL Fehler:
https://stackoverflow.com/questions/23754996/php-openssl-extension-not-working-while-install-typo3-6-2-2-on-window7/36070260#36070260
Hier findest du eine Anleitung wie du den Slim Application Error beheben kannst.
https://www.konvis.de/neuigkeiten/shopware/loesung-shopware-6-lokale-xampp-installation-slim-application-error/
Danke für die tolle Anleitung! Dank dieser ist es mir gelungen, die meisten Fehlermeldungen zu elliminieren womit die Installation (Shopware 6) zunächst fehlerfrei durchlief. Beim Punkt „Konfiguration“ hänge ich jetzt aber fest und erhalte folgende Fehlermeldung:
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`sw6_local`.`sales_channel_domain`, CONSTRAINT `fk.sales_channel_domain.currency_id` FOREIGN KEY (`currency_id`) REFERENCES `currency` (`id`) ON UPDATE CASCADE)
#0 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Install\src\app.php(464): Shopware\Recovery\Install\Service\ShopService->updateShop(Object(Shopware\Recovery\Install\Struct\Shop))
#1 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#2 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php(40): call_user_func(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#3 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#4 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#5 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#6 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#7 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Install\src\app.php(168): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#8 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#9 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#10 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#11 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#12 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#13 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#14 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Common\vendor\slim\slim\Slim\App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#15 C:\xampp\htdocs\Shopware6\vendor\shopware\recovery\Install\index.php(55): Slim\App->run()
#16 C:\xampp\htdocs\Shopware6\public\recovery\install\index.php(6): require_once(‚C:\\xampp\\htdocs…‘)
#17 {main}
Eine Idee an was das liegen könnte? Ich habe bei mir Xampp V.3.3.0 im Einsatz.
Hallo Patrik,
diesen Fehler habe ich leider noch nicht gesehen und kann dir daher auch nicht genau sagen was du versuchen könntest.
Probier ansonsten mal Shopware 6 lokal mit Dockware.io zu installieren – Dazu kommt bald auch neuer Beitrag.
Guten Morgen, habe alles nach Anleitung eingegeben, bekomme immer beim Start von Shopware sodium roter Punkt Fehler. Ich habe k.A woran das liegen könnte.
Wie haben Ihnen per Mail geantwortet.
Hallo zusammen,
ich habe das gleiche Problem mit Sodium auf Xampp. Kann man die Lösung erfahren?
Die Lösung konnte leider nicht gefunden werden. Wir werden versuchen in Kürze eine gute ANleitung für die Option mit Dockware bereit zu stellen.
Wurde nun schon ein Lösungsweg für das sodium Problem gefunden?
VG Chris
Nein, wir haben es auch aufgegeben. Shopware 6 mit XAMPP auf Windows ist einfach ein nimmer endender Krampf. Wir empfehlen stattdessen Dockware. Wir versuchen da in nächster Zeit einen Beitrag zu liefern und sind in Kontakt mit den Entwicklern von Dockware.
Nachtrag:
Der Fehler ist einfach zu beheben. die Datei
C:\Xampp\php\ext\php_sodium.dll sowie
C:\Xampp\php\libsodium.dll
müssen beide nach
C:\Xampp\Apache\bin\ kopiert werden.
zudem muss in der php.ini
extension=sodium
einkommentiert werden.
VG Daniel
Hallo Daniel!
Super vielen Dank für den Tipp!
Beste Grüße,
Atilla
Hallo,
versuche auf Win 10 mit XAMPP Shopware zu installieren. Läuft alles sowiet gut. Jedoch wenn ich http://localhost/shopware/public/recovery/install/index.php aufrufe, kommt als Meldung diese Seite ist leider nicht erreichbar — Verbindung wurde zurückgesetzt und ich kann die Installation nicht fortsetzen.
mot_rewrite ist aktiv / execution_ ist auf 1200 gesetzt
Was habe ich vergessen bzw übersehen?
Vielen Dank für euere Hilfe.
Mit freundlichen Grüßen
Schwer zu sagen, wir haben es auch aufgegeben mit XAMPP auf Windows zu arbeiten. Es ist zu inkonsistent und nicht wirklich geeignet für die tägliche Arbeit am System.
Du musst die Datei „xampp/php/libsodium.dll“ in das Verzeichnis „xampp/apache/bin“ kopieren, dann wirds grün.
Allerdings komme ich bei der Anlage der Datenbank nicht weiter. Erhalte folgenden Fehler: Failed to generate key
Danke für den Tipp.
hallo
habe das Problem Pfad ist so groß bekomme beim entpacken immer diesen Fehler
und deswegen ist meine Einpackung nicht vollständig
kann mir jemand helfen
der Fehler soll nur bei Windows vor kommen das Windows lange Datei Name nicht akzeptiert
Evtl. einfach mal den Dateinamen von der zip Datei kürzen. Zum Beispiel: sw6.zip und dann noch einmal versuchen.
Hallo, ich bekomme den Fehler „Failed to generate key“ , ich rate mal, daß es sich um den OpenSSL Fehler handelt.
Wollte Punkt 6 versuchen. Aber wie geht das genau? Muss ich eine neue Variable anlegen und wenn ja, was soll da drin stehen?
VG Arcil
Hallo, den Artikel hatte vor längerer Zeit der Lukas geschrieben. Der ist leider nicht mehr da und war der einzige der das so genutzt hatte. Der nutzt aber mittlerweile auch Dockware.