Neu Probleme bei Migration vom Shop auf neue URL und Version

alexander.wilhelm

Aktives Mitglied
8. Juni 2018
2
0
Durch den PHP Hack wollen wir auf einen neues Ubuntu mit aktuellem PHP umstellen. Wir möchten den Shop gleichzeitig updaten und auf einen neuen physikalischen Webserver migrieren.

Folgende Ausgangssituation:
alter Server: Ubuntu 18.04 / PHP 7..4.30 / MySQL 5.7.42 / Shop 5.0.1
neuer Server: Ubuntu 22.04 / PHP 8.4.27 / MariaDB 11.8.6 / Shop 5.8.3

Ich bin wie folgt vorgegangen:
0. Im alten Shop Admininterface angemeldet
1. Cache geleert
2. SQL-Dump von der alten Shop-Datenbank erstellt
3. Das HTML-Verzeichnis vom alten Shop gezippt
4. Dump und HTML auf den neuen Server übertragen
5. dort das HTML-Verzeichnis wiederhergestellt
6. SQL-Dump zurückgespielt
7. In der config.JTL-Shop.ini.php die neue URL und die Zugangsdaten der neuen DB eingetragen
8. Aktuelle Shop-Version 5.8.3 runtergeladen und über die alte Version kopiert
9. Admin-Oberfläche aufgerufen
10. Mit den Admin-Daten angemeldet
11. Es erfolgt eine Weiterleitung auf https://shopdomain/admin/dbupdater
Und hier ist das Problem, dass nur eine 404er Error Seite vom Shop angezeigt wird (Entschuldigung, diese Seite wurde leider nicht gefunden.).

Auch wenn ich die dbupdater.php direkt im Browser aufrufe, werde ich immer an https://shopdomain/admin/dbupdater weitergeleitet.

Hat jemand damit Erfahrung, oder einen Tipp, was ich falsch mache?
 

Steffen80

Sehr aktives Mitglied
27. August 2012
539
122
Hilft evtl. die Rewritebase zu setzen.
Also das # in der htaccess des Hauptverzeichnisses wegnehmen und
im Admin Verzeichnis in der htaccess folgendes hinzuzufügen:

RewriteBase /admin/
 

Ilija

Neues Mitglied
11. September 2026
27
5
Die Shop-404 sieht für mich danach aus, dass /admin/dbupdater gar nicht bei admin/index.php ankommt, sondern bei der index.php im Hauptverzeichnis landet. Das Backend läuft in 5.8 über solche Routen und braucht dafür die .htaccess im Ordner admin aus dem 5.8.3-Paket. Schau mal, ob die auf dem neuen Server überhaupt liegt, beim Kopieren mit cp * oder über manche FTP-Programme bleiben Dateien mit Punkt vorne gern zurück. Läuft der neue Server mit nginx statt Apache, greift gar keine .htaccess, dann braucht es dort eine eigene location für /admin, die alles auf admin/index.php schickt.
 

Steffen80

Sehr aktives Mitglied
27. August 2012
539
122
Such Dir am besten einen Servicepartner...
Du müsstest die Regeln direkt im Server eintragen.

Was MariaDB angeht wird die Version Offiziell, wohl auch noch nicht unterstützt und der Sprung von 5.0 auf 5.8 ist auch gewaltig
 

lagerbuch

Neues Mitglied
5. November 2026
14
1
Der neue Webserver ist ein Caddy-Webserver. Sowie ich recherchiert habe, unterstützt der keine .htaccess Dateien
Bei Caddy steckt das in php_fastcgi: das schickt standardmäßig alles, was keine Datei ist, an die index.php im Hauptverzeichnis. Deshalb landet /admin/dbupdater im Frontend und du siehst die Shop-404. Für den Admin braucht es eine eigene Route davor, ungefähr so:
Code:
route /admin/* {
    php_fastcgi unix//run/php/php8.4-fpm.sock {
        try_files {path} {path}/index.php /admin/index.php
    }
}
Den Socket-Pfad an dein PHP-FPM anpassen. Die übrigen Regeln aus den .htaccess, z.B. Sperren für Unterordner, muss man bei Caddy dann auch von Hand nachbauen.
 

Steffen80

Sehr aktives Mitglied
27. August 2012
539
122
Ich seh da zig weitere Probleme bei der Aussage "sowie ich recherchiert habe" ...
Mal die Frage warum nicht Apache ?

Meine Meinung sucht euch nen Servicepartner.
 

lagerbuch

Neues Mitglied
5. November 2026
14
1
Da würde ich mitgehen. Die Doku und alle Tipps hier gehen von Apache mit .htaccess aus, bei Caddy muss man jede Regel selbst nachbauen. Wenn es keinen besonderen Grund für Caddy gibt, ist Apache auf dem neuen Server wohl der kürzere Weg, und den Sprung von 5.0 auf 5.8 würde ich ohnehin erst auf einer Kopie durchspielen.
 

Ähnliche Themen