Early Access - Installation klappt nicht

Das genau ist nicht der Fall. Ich habe sogar testweise allen Dateien und Ordner 777 Zugriffsrechte gegeben (als Test!) - mit demselben ergebnis.

Besitzer des Ordners ist der user “forge” und nginx läuft auch als user “forge”. Auf dem Server laufen diverse Laravel-Seiten (auch symfony based) - ohne Probleme…

 

Als was läuft denn PHP? Nutzt PHP den gleichen User?

Kannst ja auch recht schnell ausprobieren, indem du dir eine kleine PHP-Datei bastelst die auch einfach eine Datei erzeugt.

 

Das geht einwandfrei. php-pfm läuft auch unter user forge:

 

URL: https://shop.boekelberghaie.de/ 

Dann spontan keine Ahung. Hab selbst auch einen Nginx laufen, da funktioniert alles einwandfrei.

Müssest du dann im Code debuggen, warum er die Datei nicht schreiben kann. Der Installer hat die gleiche Basis wie in SW5, also da wird bspw. auch eine uniqueid.txt geschrieben. Sehe so keinen Grund, warum der Server hier die Permissions ablehnen sollte.

Die .env und .uniqueid.txt werden im Hauptverzeichnis von Shopware abgelegt. 

1 Like

hm, sehr merkwürdig… 

Aber danke bis hierher. Ich suche mal weiter - wenn ich etwas finde gebe ich Bescheid…

Oben hast du ja public gezeigt - hat denn der Ordner von SW selbst vielleicht einen anderen Besitzer?

Nein, ist auch forge…

Ich habe den Server mal neu gestartet. Er hat zumindest jetzt eine uniqueid.txt angelegt. Allerdings kommt immer noch der Fehler : Uncaught Symfony\Component\Dotenv\Exception\PathException: Unable to read the „/home/forge/shop.boekelberghaie.de/public/…/.env“ environment file.

Es scheint so, als ob gar nicht versucht wird ein .env File anzulegen. 

Wenn ich manuell eine leere .env anlege komme ich weiter bis: The options ‚driver‘ or ‚driverClass‘ are mandatory if no PDO instance is given to DriverManager::getConnection(). 

Aber das dürfte normal sein, da je keine env variablen existieren

Ich komme hier leider nicht weiter. Es wird keine .env angelegt. Fehlt die vielleicht einfach im Download Paket der EA Version?

Ich benutze das Installationspaket von der Webseite ja auch - also das funktioniert auf jeden Fall. Einige andere hier haben es ja auch installiert bekommen.

Schau mal in public/recovery/install/src/Service/ConfigWriter.php

Da ist auch ein file_put_contents drin, welches die .env-Datei erzeugt.

In der app.php (install/src) findest du auch den Aufruf der Methode - das wird nach der Eingabe der Shopdaten im Installer angelegt. Also quasi im letzten Schritt. Du kannst dir natürlich den Inhalt der env-Datei oben rauskopieren und die selbst anlegen. Musst dann halt nur auhc deine DB Daten usw. in der Datei anpassen. Das macht ja normalerweise der Installer.

Alternativ mal per konsole aufrufe, sollte analog zu sw5 funktionieren: Shopware 5 - Tutorials & FAQs - Installation / Update per Shell

Danke für die Tipps.

Über die Konsole komme ich bis zu meinem AWS RDS DB Server. Ich kann auch die Datenbank auswählen, aber dann kommt die Meldung, dass der User kein ALTER rechte hätte - was definitv falsch ist…

 

Zum Installer: Ich komme ja gar nicht zum letzten Schritt - die Methoder wird ja gar nicht aufgerufen. Sobald ich im Begrüßungsbildschirm des Installers auf Weiter klicke kommt der Fehler. Ich kann überhaupt nichts eintragen…

Fehlt vielleicht die.htaccess?

Ansonsten vielleicht ein nginx im Einsatz? Weil die Meldung nicht vom installer kommt, sondern von Shopware. Das sind zwei getrennte Applikationen.  Da scheint irgendwie eher statt /recovery/install/index.php nur index.php aufgerufen zu werden.

Ja , nginx. Ich vermute auch, dass hier ein rewrite problem vorliegt. Ist die nginx config der sw5 kompatibel?

Für Shopware selbst reicht die Standard Symfony Config. Für den Installer kannst du ggf. den Bereich aus der 5er config übernehmen, da der quasi gleich geblieben ist.

https://symfony.com/doc/current/setup/web_server_configuration.html#nginx

https://github.com/bcremer/shopware-with-nginx/blob/master/global/shopware.conf#L79

ich nutze Lokal Valet+, aber auch mit nginx, da musste ich für den installer auch Kleinigkeiten anpassen. Da läuft das aber über PHP.

 

Der Part reicht eigentlich schon https://github.com/shyim/shopware-docker/blob/master/images/nginx/rootfs/etc/nginx/sites-enabled/10-platform.conf#L1-L37

2 Likes

Das war es. Location Recovery/Install war es :wink:

Vielen Dank!

Wie läuft das eigentlich generell, wenn ich Shopware 5 und 6 zum Testen parallel laufen lassen möchte. Shopware 6 dann in einem Unterordner installieren? Und später die Dateien ins Hauptverzeichnis umziehen? Oder wie geht man da am besten vor?

Leg am besten eine Subdomain an. Kannst du auch direkt bei uns im Account für deine Lizenzen machen als Migrationsumgebung. Das mit dem Unterordner brauchst du für SW6 nicht unbedingt 

Okay, danke, dann weiß ich Bescheid. Und später wenn alles live gehen soll die Subdomain wieder in die Hauptdomain umwandeln und den Inhalt ins Hauptverzeichnis umziehen und quasi den der früheren SW5 Version ersetzen?

Thema Migration, Migrationsumgebung, Livegang… Das haben wir hier einmal zusammengefasst https://docs.shopware.com/de/migration-de/Livegang?category=migration-de

 Ansonsten am besten einmal speziell zur Migration ein neues Thema aufmachen.