Staging Umgebung ==> Error 404 The resource requested could not be found on this server!

Hallo Zusammen

ich habe 2 Installationen von SW6. 1. zukünftige Prod 2. Staging Umgebung.

Auf der Staging Ugebung teste und probiere ich Dinge aus. 
Wenn es so funktiniert wie gewünscht wird es auf der Prod Umgebung nachgezogen.

Und dann wird die Staging Umgebung wieder von der Prod geklont. Und jetzt geht der ganze Prozess wieder von vorne los.

Geklont wird wie folgt (alles via script):

  1. Staing filesystem gelöscht / Staging DB drop

  2. Filsystem von Prod wird nach Staging kopiert.

  3. Staging .env anpassen

3 DB Prod export

4 DB Staging import

5 URL in Staging Umgebung  anpassen.

Das alles hat bei Version 6.2 einwandfrei funktioniert.

Jetzt habe ich auf 6.3.1 upgegraded und wollte Staging neu wie oben beschrieben neu erstellen.

Jetzt kommt nur noch Error 404 und nichts geht mehr.

In den Log files finde ich auch nichts auffälliges.

Hat jemand auch schon solche Erfahrungen gemacht?

Kann mir jemand einen Tip wie ich die Ursache finden kann oder hat sonst eine gut Idee?

 

Danke für die Hilfe.

 

Gruss Dominic

@MaxW schrieb:

Ein paar konkrete Beispiele/Screenshots der Fehlermeldungen wären schon ganz praktisch ;) Ich habe einen ähnlichen Prozess bei dem ich meine Testumgebung (basierend auf dem Production Template v6.3.1.0) zwischen unterschiedlichen Rechnern (MacOS & Debian) hin und her schiebe. Das macht bei mir keine Probleme.

  • Nutzt du Git in deinem Skript?
  • Wird das Frontend gar nicht mehr dargestellt? Oder fehlt nur sowas wie Bilder & CSS Dateien?
  • Welches Betriebssystem nutzt du? Welche MySQL/MariaDB Version?
  • Ich nutze MacOS, Debian 10, MySQL 8 & PHP7.4

 

Bei mir ist es noch viel einfacher als bei Dir. Alles passiert direkt auf einem Server (direkt beim Hoster). Und wie gesagt bis zur Version SW 6.2 hat auch alles Funktioniert.

Ich benutze kein git (und es macht keinen Unterschied, ob ich es via script erstelle oder ob ich die einzelnen Schritte manuel auf dem CLI ausführe => also sollte es kein grundsätzlicher scripts Fehler sein  Wearing-Sunglasses)

Das frontend und backend wird gar nicht dargestellt nur Error 404

 

Hier noch ein kleines Bildchen zur Umgebung:

 

 Und auch auf der DB habe ich gesucht und keine Referenz mehr auf den alten Pfad gefunden. Alles Zeigt auf den Staging Path.

 

Und auch 

bin/console cache:clear 
bin/console cache:warmup
bin/console dal:refresh:index

hat nichts gebracht.

 

error log vom Webserver:

18.09.2020 12:11:56	INFO	2001	File not found [/home/kiwitaan/public_html/stage/public/404.shtml]
18.09.2020 12:11:56	INFO	2001	File not found [/home/kiwitaan/public_html/stage/public/admin]
18.09.2020 12:11:54	INFO	2001	File not found [/home/kiwitaan/public_html/stage/public/404.shtml]
18.09.2020 12:11:54	INFO	2001	File not found [/home/kiwitaan/public_html/stage/public/admin]
18.09.2020 12:11:47	INFO	2001	File not found [/home/kiwitaan/public_html/stage/public/404.shtml]

raw log vom Webserver:

2001:171b:2277:23c1:dcf7:4fb1:9cbc:25c7 - - [18/Sep/2020:11:53:49 +0200] "GET / HTTP/1.1" 404 707 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"
2001:171b:2277:23c1:dcf7:4fb1:9cbc:25c7 - - [18/Sep/2020:11:54:25 +0200] "GET /admin HTTP/1.1" 404 707 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"
2001:171b:2277:23c1:dcf7:4fb1:9cbc:25c7 - - [18/Sep/2020:11:54:25 +0200] "GET /favicon.ico HTTP/1.1" 404 707 "http://stage.kiwitaana.ch/admin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"
2001:171b:2277:23c1:dcf7:4fb1:9cbc:25c7 - - [18/Sep/2020:11:53:49 +0200] "GET /favicon.ico HTTP/1.1" 404 707 "http://stage.kiwitaana.ch/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"

 

@MaxW schrieb:

Hast du auch alle versteckten Dateien wie die .htaccess mit rüberkopiert?

 

yep habe ich (ich glaube es sollten alle sein  Wink)

find . -name ".??*" | wc -l
432

 

Ist auf Prod und Stage gleichviel

Hast du schonmal sowas wie eine index2.php - mit einer einfachen Ausgabe wie „Hallo Welt“ -  in das Public Verzeichnis kopiert und getestet ob du diese aufrufen kannst?

@MaxW schrieb:

Hast du schonmal sowas wie eine index2.php - mit einer einfachen Ausgabe wie “Hallo Welt” -  in das Public Verzeichnis kopiert und getestet ob du diese aufrufen kannst?

Danke für Deinen Hinweis. Der hat mich auf die richtige Spur geführt.

Wenn ich die index2.php in das bestehende stage/public lege kommt der genau gleiche 404 Error.

Wenn ich jedoch index2.php in ein leeres stage/public lege kommt hello world.  

 

Habe jetzt rausgefunden was passiert ist. Als root cause beim Upgrade auf 6.3.1 wurde folgende Berechtigungen und group vom public geändert (oder eventuell auch eine Sicherheitsfunktion bei meinem Provider).

im shop dir wurde  drwxr-xr-x 10 user  user  4.0K 17. Sep 19:16 public/ ==>  _ drwxr-x—  10 user  nobody  4.0K 17. Sep 19:16 public/_ geändert.

beim cp nach staging wurde daraus (bei meinem Provider darf ich keine group nobody zuweisen).

drwxr-x—  10 user  user  4.0K 17. Sep 19:16 public/

Nicht direkt zu dem Fehler, aber zum Staging-Prozess: Das (noch kostenlose) Plugin Staging / Testumgebung (1 Klick Einrichtung) | Backend-Bearbeitung | Administration | Erweiterungen | Shopware Community Store vereinfacht den Prozess stark.