Kopie von shopware lokal installieren (XAmpp)

Sagt mal… ich versuche eine Kopie meines Webshops offline mit XAmpp zum Laufen zu bekommen. Im www finde sehr viel Anleitungen, wie man shopware lokal installieren kann, aber nicht, wie ich die Kopie meines Webshops anpassen muss, damit sie offline läuft. Ich habe XAmpp installiert, das Shopware-Verzeichnis ins htdocs-Verzeichnis kopiert, die php.ini angepasst und die Datenbank importiert. Dann habe ich versucht die .env anzupassen: APP_URL=http://localhost/shopware/public, DATABASE_URL=mysql://shopware:XXXXXXXX@localhost/shopware

Ich versuche im Browser über http://localhost/shopware/public auf den Shop zuzugreifen.

Läuft nicht. Was mache ich falsch?

Was für eine Fehlermeldung erscheint?

Die Seite wird gar nicht erst geladen. Der Browser sucht ziemlich lange und dann kommt Fehler: Verbindung unterbrochen

Dann erstelle mal eine test.html in dem Verzeichnis und schau, ob du die aufrufen kannst.

Jo
http://localhost/shopware/public/test.htm
kann ich problemlos aufrufen.

Vermutlich hast du dann eine Umleitung in Schleife. Schau mal, ob die .htaccess in public stimmt bzw. lösche diese mal um zu sehen, ob du dann eine andere Fehlermeldung erhältst.

Ich habe die .htaccess im Ordner public gelöscht. Wenn ich nun auf https://localhost/shopware/public gehe, dann wird mir im Browser der Ordnerinhalt von public angezeigt :frowning:

Die .htacces sieht so aus:

# BEGIN Shopware
# The directives (lines) between "# BEGIN Shopware" and "# END Shopware" are dynamically generated. Any changes to the directives between these markers will be overwritten.

DirectoryIndex index.php

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    # Sets the HTTP_AUTHORIZATION header removed by Apache
    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    # If the requested filename exists, simply serve it.
    # We only want to let Apache serve files and not directories.
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    # Rewrite all other queries to the front controller.
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /index.php/
    </IfModule>
</IfModule>

<IfModule mod_headers.c>
    <FilesMatch "\.(?i:svg)$">
        Header set Content-Security-Policy "script-src 'none'"
    </FilesMatch>
</IfModule>

# END Shopware

Das Root Directory scheint also richtig zu sein. Dann füge die .htaccess mal wieder hinzu und ändere in der .env bzw. .env.prod (ich glaube, sie heißt so in SW 6.5) im Hauptordner das ENV von prod auf dev. Dann müsstest du eine konkret Fehlermeldung sehen.

/public/admin funktioniert auch nicht?

/admin# geht leider auch nicht.

Die .env habe ich schon auf APP_ENV=dev eingestellt.

Was mir jetzt noch aufgefallen ist: Wenn ich https://local… verwende, dann kommt die Fehlermeldung: Beim Verbinden mit localhost trat ein Fehler auf. PR_CONNECT_RESET_ERROR

Womöglich gibt es Schwierigkeiten, weil ich über http:/loc… gar nicht zugreifen darf?

In der htaccess ist normalerweise keine https Weiterleitung eingetragen, sprich ein http Aufruf wird nicht zu https umgeleitet. In dem Fall wäre kein Verkaufskanal zugeordnet und du würdest ein 500er Fehler sehen. /admin würde in dem Fall auch funktionieren.

Aber es kann gut sein, dass in deinem XAmpp etwas mit SSL nicht stimmt. Kannst du das deaktivieren?

Ehrlich gesagt weiß ich nicht wie. Vermutlich muss die Config-file angepasst werden?

Ich habe mal noch einen Blick in die Apache Error.log geworfen. Da steht ungefähr 50000 Mal „VirtualProtect() failed [87] Falscher Parameter“. Hast Du eine Idee was das sein könnte?