Serverwechsel Vorgehensweise

Hallo

ich wollte einen shopware-shop 6.4.2 auf einen neuen Server umziehen, Domain bleibt gleich.

Ich habe alle Dateien mit FTP runtergeladen und neu hochgeladen und die Datenbank-Daten aktualisiert in der config.

PHP Version ist auch gleich.

Vielleicht könnt ihr mir sagen was ich noch ausführen muss damit der dann auch wieder läuft?

Ich habe auch SSH Zugang, soweit ich weiß muss man so eine Routine ausführen muss man das Programm dazu noch installieren?

Derzeitiger Fehler

AH01071: Got error ‚PHP message:
PHP Warning: require_once(/vendor/composer/autoload_real.php): failed to open stream:
No such file or directory in /vendor/autoload.php on line 23
PHP message:
PHP Fatal error: require_once(): Failed opening required ‚/vendor/composer/autoload_real.php‘ (include_path=‘.:‚) in /vendor/autoload.php on line 23‘

Danke für Eure Hilfe!

Ein paar Fragen:

  • Was meinst du mit Serverwechsel? Auch Hosterwechsel? Bei welchen Hoster bist du?
  • Hast du eine Shopware-Agentur? Diese könnte das unternehmen.

Hoster: wenn du bisher keinen Shopware zertifizierten Hoster hast (Das passende Hosting für Deinen Shopware-Shop | Shopware) dann wechsele doch in einen. Wir nutzen TimmeHosting und sind sehr zufrieden damit. Auch hier jemand anderen dies schon empfohlen, und diese waren auch sehr zufrieden, auch die bessere Performance war zu merken. Warum: Shopware Hoster bieten ab und an einen Umzugsservice, wie es Timme bietet, an.
Ein Shopware zertifizierten Hoster hat auch den Vorteil, dass dieser relativ viel bei der Shopware-Installation und Upgrades helfen kann.

Domain: kannst du entweder auch zum neuen Hoster umziehen oder bei deinem alten Hoster belassen und so einstellen, dass die IP-Adresse des Domain-Hosters auf den neuen Shopware-Hoster zeigt.

Hallo,

genau ich meine einen Providerwechsel, zu keyhelp. Die Dateien spiegeln Datenbankdaten in config anpassen reicht wohl ja bekanntlich nicht.

Ich dachte ich muss ein Skript auf SSH ausführen, weißt du denn wo ich ein Tutorial dazu finden kann?

Oder ist es besser dieselbe Shopversionn als leeren Rohshop neu zu installieren und dann die Datenbank zu importieren, und die Zusatz Dateien hinzuzufügen?

Den Shop hatte ich damals auch selbst aufgesetzt und mit ein paar testdaten gefüllt. Wollte ich einfach den Server wechseln.

in der .env neben den Datenbankeinträgen auch den Composer_Home Pfad angepasst ?
Denke grade beim Providerwechsel sollte sich der absoulte Pfad geändert haben
Hört sich für mich an als wenn er den Pfad nicht gefunden hat

Hallo danke.
Die .env wird so nicht gefunden, nur Ableitungen davon. Schau ich hinein.

locate .env
ergibt:

/custom/plugins/SwagEmotionAdvanced/.make.env
custom/plugins/SwagMigrationConnector/.make.env
custom/plugins/SwagPaymentPayPalUnified/.ci/.env.dist
recovery/common/vendor/knplabs/gaufrette/.env.dist

Ich las, die wird beim Installieren erzeugt, ist normalerweise ausgeblendet. Da hab ich jetzt ein Problem, denn die wurde eventuell nicht mit runtergeladen, dass ich sie anpassen könnte…

Kann ich die noch über ein Skript erzeugen lassen? Die Shellbefehle von shopware ermöglichen das vielleicht?

Oder ich leg einen leeren shop mit selber versionsnummer an und nehme die env daraus…

Hallo,
vermute, dass beim Download der alten Daten vom Server via FTP die Datei nicht korrekt runtergeladen wurde. Liegt im Hauptverzeichnis der SW6 Installation /.env wie auch /.env.local und die .htaccess. Eventuell hast du ja noch Zugriff auf den alten Server und kannst die Dateien einzeln runterladen?

Danach dann an die Anpassung der DB Einträge dort denken.

Viel Erfolg!

Ohne es jetzt mit Sicherheit sagen zu könnnen, aber wenn die 3 Datein nicht mit kopiert worden sind, kann es sein, dass noch weitere fehlen. Fällt vielleicht noch nicht gleich auf, aber kann über kurz oder lang vielleicht doch böse auf die Füße fallen. Sei es mit Fehlern oder Sicherheitsriskien.
Wenn ich richtig lese, besteht der Shop auch nur aus ein paar Testdaten ?
Denke eine Neuinstallation wäre dann vielleicht der bessere weg.

Mach‘s noch mal… am besten mit rsync.
Wenn du einen SSH Zugang hast, dann kannst du das (wahrscheinlich) auch direkt auf dem Server ausführen.

Hallo,

unser Shop wechselt ständig zwischen Live und Testserver hin und her, würde es folgendermaßen machen.

  • Zuerst sollte der Shop in den Wartungsmodus versetzt werden damit nach verpacken des Shopordners nichts mehr von außerhalb an der Datenbank verändert werden kann
  • Verbinde dich per SSH zum alten Server
  • Erstelle einen Ordner mit deinem Shopnamen, am besten im Home Verzeichnis deines Benutzers
  • Wechsle ins DocumentRoot deiner Webserverinstallation
  • Verpacke den Ordner der Shopware Installation in eine .tar.gz Datei und verschiebe sie in den vorher erstellten Ordner im Home Verzeichnis
  • Dann in den Ordner wechseln und einen MySQL Dump der Shopware Datenbank machen
  • Jetzt sollte in dem Ordner die verpackte Shopware Installation und eine Datenbank Datei liegen
  • Nun eine Ordnerebene zurück wechseln und den Ordner in eine weitere .tar.gz Datei verpacken
  • Diese Datei dann mit Filezilla oder ähnlichem runterladen und auf dem neuen Server wieder hochladen
  • Auf dem neuen Server dann die Dateien wieder entpacken, den Shopordner ins DocumentRoot und dann die Datenbank wieder einspielen
  • Nun in der ersten Ebene des Shopordners in die .env.local schauen und alle Pfade berichtigen
  • Dann im Backend den Wartungsmodus beenden und das Ding sollte wieder laufen :slight_smile:

Beste Grüße

Hallo danke das ist lieb, ich hätte es mit tar packen sollen stimmt.

Leider hatte ich die Dateien per ftp runtergeladen und wieder mit ftp hochgeladen, und natürlich die vorher importierte Datenbank in der config angepasst.

Kann das bei den dateien Probleme mit den Schreibrechten gegeben haben? Und wenn ja, wo kann man die denn einsehen, falls die wichtig sein sollten, so dass ich sie wieder anpassen kann?

Ich hatte gesehen, dass die .env Datei wohl ausgeblendet war auf dem alten Server. Die wurde also nicht mit runtergeladen, ist also jetzt auch nicht sichtbar. Wie kann ich die denn neu wiederherstellen? Da gab es doch irgendwie einen Befehl in der Shell im selben Verzeichnis oder.

Natürlich habe ich auch ssh und soweit ich weiß kann man da Befehle ausführen, die diese env-datei erzeugen.

Mir ist klar dass mit .tar die .env Datei bestimmt dabei gewesen wäre. Da hätte man glaube ich dann nur einen Pfad anpassen müssen.

Das ist doch soweit ich weiß nur eine textdatei und da kann man dann entsprechende pfade drin anpassen, oder?

Moin Moin
bei uns sind die Ordner 705 und Dateien 604. Sollte Dein FTP Program anzeigen können. Welches nutzt Du denn, Filezilla ? Rechtsklick und Dateiberechtigungen.
Wie oben aber schon gesagt, es gibt quer durch die Verzeichnisse eine Reihe von „versteckten“ Dateien, nicht nur die .env die dann wahrscheinlich auch fehlen.
Die Datei ist in dem Sinne eine Textdatei wo Du den u.A. den Pfad anpassen kannst.

.htaccess wurde mit runtergeladen
.env leider nicht. Liegt das am alten server?

Hallo, ui ja es wurde nur .htacess runtergeladen
Auf den alten server komme ich nicht drauf

Kann man die .env nicht über ein skript erzeugen im ssh?

705/604 ist ungewöhnlich (Gruppe hat keinerlei Rechte), je nach FTP-User und Rechtestruktur auf dem Server müssen die Berechtigungen auch für die Gruppe passen, daher würde ich eher 755/644 empfehlen.

die .env ist wenn man nicht selbst darin viel ändert immer gleich aufgebaut und beinhaltet die Datenbankangaben sowie die URL des Shops. die .env
Hier ist der Link zur „Default“ .env

Hmm Ok danke Dir. Hatte da eigentlich nie was geändert nach der Installation. Kann es sein, dass das nach einer Weile vom Hoster automatisch verändert wird?
Glaub bei all-inkl hatten wir das damals auch mal gehabt.

Hallo ja genau so sind die Schreibrechte auch bei mir. Wissen sie zufällig wo man einstellt dass die. Endverteilen auch runtergeladen werden bei filezilla?

Genau und diese wird beim Installationsprozess glaube ich immer erzeugt.
Gibt es denn eine Übersicht wo noch solche enf Dateien vorhanden sind dass man die nachrüsten kann… Und warum werden die eigentlich nicht bei Filezilla runtergeladen, obwohl htaccess z.B auch runtergeladen wird

Wäre möglich, das der FTP-User keine Berechtigung dafür hatte, warum auch immer.

Ist es im Endeffekt in der env Datei eigentlich nur dieser Pfad, der entscheidend ist?

INSTANCE_ID=
DATABASE_URL=mysql://datenbankname:Passwort@localhost:portnummer/dbname

Habe ich natürlich gleich angepasst.
Im Bestfall müsste ich noch wissen wo es noch solche env-dateien gibt wo man das anpassen muss.

Muss man noch irgendwelche Cacheordner damit die Datei geladen wird?