Zweite Shopware 6 Instanz in einem Unterverzeichnis

Schau dir mal weiter oben meinen Post an. Ich denke, der hilft dir sicher weiter. Für andere (und mich) war das Vorgehen die Lösung. :)

Hallo Arya,

danke für Deine Antwort. Tatsächlich habe ich alles hier im Thread vorher ohne Erfolg ausprobiert.
Mir ist mittlerweile klar geworden, dass das nur mit bestimmen Server-Konfigurationen funktioniert. In der Vagrant Box, die von Shopware gestellt wird, funktioniert es ohne Probleme. Mit meiner eigenen nginx-Konfiguration leider nicht. 

Meine persönliche Meinung hierzu: Man sollte seine Testumgebung auf diese Weise nicht einrichten, sondern lieber eine Subdomain anlegen und die Shopware-Test-Installation in einem eigenen Verzeichnis unabhängig von der Produktiv-Shopware-Umgebung ablegen. Abgesehen davon, dass die Einrichtung somit wohl einfacher und sauberer ist, sollte man auch aus Sicherheitsgründen nur solche Dateien in /public ablegen, die auch wirklich “von außen” aufrufbar sein sollen. 

Ciao kilb_software

Ja die Umgebung resp. deren Konfiguration hat durchaus seinen Einfluss : /

Da gebe ich dir absolut recht! Nichts ist besser wie eine sauber getrennte (und isolierte) Testumgebung :slight_smile:
Aufgrund der Lizenzthematik welche nur für eine absolute Domain gilt (www.foobar.ch und dev.foobar.ch benötigen somit zwei Lizenzen) ist dies für viele Shopware Instanzen der (aus meiner Sicht) einzige Weg, wenn die Plugins auch funktionieren sollen. Es geht dabei auch mehr um eine Stage Umgebung um vor dem deployen alles mit den 1:1 Daten testen zu können. Für restliche Arbeiten wie z.b. Theme oder eigene Plugins arbeite ich natürlich lokal.

@Arya_Svitkona schrieb:

Hallo Zusammen

Ich habe mich nun einige Stunden damit auseinandergesetzt und bin für mich auf eine Lösung gestossen (für 0815 Apache Hostings).
Die Dokumentation von Shopware ist bereits wegweisend, doch ein paar Tipps & Tricks auf den Weg.

Ausgangslage

Shopware 6.3.0.2 | Apache 2.4 | MySQL 5.7.26 | 0815 Hoster
Shopwareinstallation unter ~/foo/shop/
Domainmapping: ~/foo/shop/public/
Domain: www.foobar.ch

 

Anleitung

  1. Datenbank (z.B. foobar ) Dump erstellen und in neuer Datenbank (z.B. foobar_stage ) importieren
  2. Via rsync / cp / FTP die Dateien aus ~/foo/shop/ in den Ordner ~/foo/shop/ public/stage kopieren
  3. Prüfen ob versteckte Dateien (z.B. .htaccess) ebenfalls mitkopiert wurde (ansonsten Googlen, welchen Parameter / welche Option ihr bei eurem Tool nutzen müsst)
  4. Die Datei  ~/foo/shop/ public/stage/.env anpassen ( DATABASE_URL​ für Stage Datenbank anpassen)
  5. Die Datei  ~/foo/shop/ public/stage/.env anpassen** (neue APP_SECRET​ für Stage Umgebung erstellen und hinterlegen)**

bin/console system:generate-app-secret

  1. Die beiden Dateien private.pem und public.pem  im Ordner ~/foo/shop/ public/stage/config/jwt löschen und frisch erstellen

bin/console system:generate-jwt-secret

 

  1. Nun in der Stage Datenbank in der Tabelle sales_channel_domain die URL ergänzen mit eurem Ordnerpfad. In unserem Beispiel: www.foobar.ch /stage/public
  2. In der Kommandozeile nun innerhalb des Ordners ~/foo/shop/ public/stage/ den folgenden Befehl ausführen um den Cache zu leeren.

bin/console cache:clear

 

  1. Nun die URL eures Shops aufrufen (in unserem Beispiel: www.foobar.ch/ stage/public")

LG Stefano

Hi!

Ich greife das Thema nochmal auf. Wollte das ganze einmal lokal testen.

Allerdings werden die beiden Konsolenbefehle zum Generieren der JWT-Secrets und App-Secrets nicht gefunden.
Ich bekomme in der Konsole lediglich den Hinweis:  

Command "system:generate-app-secret" is not defined.  
                                                        
  Did you mean one of these?                            
      system:config:get                                 
      system:config:set

Hast du dazu eine Idee?

Viele Grüße
Dennis

Ciao Dennis

Hat es inzwischen bei dir funktioniert?
Welche Shopware Version / Installation nutzt du?

Siehe (sry, SW macht hier ein komisches Vorschaubild):

https://imgur.com/a/VBv8MCJ

LG Stefano