Ein Unternehmen möchte mehrere ältere PHP-Webseiten von einem bestehenden Hosting-Anbieter zu einem neuen Provider umziehen. Die Webseiten funktionieren, sollen nicht verändert und lediglich vollständig übertragen werden.
Auf den ersten Blick klingt die Aufgabe überschaubar:
- Dateien kopieren
- MySQL-Datenbanken exportieren und importieren
- Domains umstellen
- Funktion prüfen
- fertig
Gerade bei individuell entwickelten Legacy-Anwendungen kann eine solche Migration jedoch deutlich mehr Fragen aufwerfen, als die ursprüngliche Anfrage vermuten lässt.
Dieser Beitrag zeigt anhand einer anonymisierten realen Kundenanfrage, welche Punkte vor einem Festpreis geklärt werden sollten und wie sich der tatsächliche Aufwand einer Legacy-Migration belastbar einschätzen lässt.
Die Angaben zum Kunden, zu Domains, Personen und technischen Systemen wurden anonymisiert beziehungsweise abstrahiert.
Die Ausgangssituation
Ein Interessent fragte den vollständigen Umzug von drei Domains auf ein bereits ausgewähltes neues Hosting-Paket an.
Die Webseiten waren vor vielen Jahren individuell mit PHP und MySQL entwickelt worden. Nach Aussage des Kunden funktionierten sie aktuell einwandfrei. Gewünscht waren keine Reparaturen, keine Modernisierung und kein Redesign.
Der gewünschte Leistungsumfang war klar formuliert:
- Übertragung aller Webseitendateien
- Migration der MySQL-Datenbanken
- Einrichtung auf dem neuen Hosting
- kurze Funktionsprüfung
- nach Möglichkeit ein Festpreis
Vorhanden waren laut Anfrage:
- FTP-Zugang
- Zugang zum bisherigen Hosting-Kundenbereich
- Datenbankzugang
- Zugang zum neuen Hosting nach der Bestellung
Die zentrale Frage lautete nun: Wie hoch ist der tatsächliche Aufwand?
Die erste wichtige Erkenntnis: Drei Domains sind nicht automatisch drei Webseiten
Der Kunde nannte drei Domains. Daraus lässt sich jedoch noch nicht ableiten, dass drei unabhängige Anwendungen betrieben werden.
Technisch sind mehrere Konstellationen denkbar:
Eine Anwendung mit mehreren Domains
Alle Domains zeigen auf dasselbe Webverzeichnis und verwenden dieselbe Datenbank. In diesem Fall müsste die Anwendung nur einmal migriert werden. Anschließend würden die drei Domains dem neuen Ziel zugeordnet.
Mehrere Kopien derselben Anwendung
Jede Domain besitzt ein eigenes Webverzeichnis. Die Dateien können identisch oder nahezu identisch sein, werden aber getrennt betrieben. Dann müssen mehrere Installationen, Konfigurationen und möglicherweise mehrere Datenbanken übertragen und geprüft werden.
Gemeinsame Dateien, unterschiedliche Datenbanken
Die Domains könnten dieselbe Codebasis verwenden, aber abhängig vom Hostnamen unterschiedliche Datenbestände laden.
Weiterleitungen oder Domain-Aliase
Einige Domains könnten lediglich auf eine Hauptdomain weiterleiten und keine eigene Anwendung besitzen.
Diese Unterschiede wirken sich erheblich auf den Migrationsaufwand aus.
Reicht ein Vergleich der IP-Adressen?
Ein naheliegender erster Test ist ein DNS-Lookup: Zeigen alle Domains auf dieselbe IP-Adresse? Das Ergebnis kann hilfreich sein, ist aber kein eindeutiger Beweis dafür, dass dieselbe Anwendung verwendet wird.
Auf einem Shared-Hosting-System können hunderte voneinander unabhängige Webseiten dieselbe IP-Adresse verwenden. Der Webserver entscheidet anhand des aufgerufenen Hostnamens, welche Webseite ausgeliefert wird.
Beispielsweise könnten drei Domains dieselbe IP-Adresse verwenden, aber auf unterschiedliche Verzeichnisse zeigen:
domain-a.example → /htdocs/domain-a/
domain-b.example → /htdocs/domain-b/
domain-c.example → /htdocs/domain-c/
Umgekehrt könnten Domains mit unterschiedlichen IP-Adressen dennoch dieselbe Anwendung ausliefern, etwa durch Weiterleitungen, Proxys oder vorgeschaltete Infrastruktur.
Ein DNS-Vergleich ist daher ein Indiz, aber keine belastbare Grundlage für ein Festpreisangebot.
So lässt sich die tatsächliche Struktur feststellen
Eine eindeutige Antwort erhält man erst durch einen Blick in das bisherige Hosting.
Domainzuordnung prüfen
Im Hosting-Kundenbereich sollte sichtbar sein, welchem Verzeichnis jede Domain zugeordnet ist. Zeigen alle Domains auf dasselbe Verzeichnis, verwenden sie zumindest dieselben Dateien.
Datenbankkonfiguration prüfen
Anschließend müssen die Konfigurationsdateien der Anwendung geprüft werden. Relevant sind unter anderem:
- Datenbankserver
- Datenbankname
- Datenbankbenutzer
- gegebenenfalls unterschiedliche Konfigurationen je Domain
Erst dadurch wird sichtbar, ob eine oder mehrere Datenbanken verwendet werden.
Weiterleitungen identifizieren
Zusätzlich sollte geprüft werden, ob Weiterleitungen vorhanden sind, beispielsweise:
- in der Hosting-Verwaltung
- in einer
.htaccess - direkt im PHP-Code
- über JavaScript oder HTML
- über DNS- oder Proxy-Konfigurationen
Diese Prüfung dauert häufig nur wenige Minuten, kann aber mehrere Stunden unnötiger Kalkulation vermeiden.
Das größte Risiko: die PHP-Kompatibilität
Der Kunde beschreibt die Webseiten als funktionierend. Das bedeutet jedoch lediglich, dass sie auf dem bisherigen Server funktionieren. Es bedeutet nicht automatisch, dass sie auch auf dem neuen Hosting lauffähig sind.
Bei älteren PHP-Anwendungen können unter anderem folgende Probleme auftreten:
- Verwendung entfernter PHP-Funktionen
- inkompatible Syntax
- alte MySQL-Erweiterungen
- veraltete Bibliotheken
- fest hinterlegte Dateipfade
- Abhängigkeit von bestimmten PHP-Erweiterungen
- inkompatible Zeichensätze oder SQL-Modi
- fehlende Schreibrechte
- Unterschiede bei Sessions und temporären Dateien
- verändertes Fehlerverhalten neuer PHP-Versionen
Eine Anwendung kann auf einem alten Server unter PHP 5.x problemlos laufen und unter einer modernen PHP-Version bereits beim ersten Aufruf abbrechen.
Deshalb muss vor einem verbindlichen Festpreis geklärt werden:
- Welche PHP-Version wird aktuell verwendet?
- Welche PHP-Versionen unterstützt der neue Anbieter?
- Welche MySQL- oder MariaDB-Version wird eingesetzt?
- Gibt es spezielle PHP-Erweiterungen?
- Ist die PHP-Version in der
.htaccessfestgelegt? - Gibt es verschlüsselten oder durch ionCube geschützten Code?
Eine wichtige vertragliche Abgrenzung lautet daher:
Der vereinbarte Festpreis umfasst die technische Migration einer auf dem Zielsystem kompatiblen Anwendung. Notwendige Anpassungen des Anwendungscodes aufgrund veralteter oder nicht mehr unterstützter Technologien sind nicht Bestandteil der reinen Hosting-Migration.
Ohne diese Abgrenzung kann sich ein vermeintlich einfacher Umzug unbemerkt zu einem Modernisierungsprojekt entwickeln.
Nicht vergessen: Domains, DNS und E-Mail
In vielen Anfragen wird unter „Webseitenumzug" gleichzeitig Folgendes verstanden:
- Webseitendateien übertragen
- Datenbanken übertragen
- Domains transferieren
- DNS-Einträge ändern
- SSL-Zertifikate einrichten
- E-Mail-Konten migrieren
- vorhandene E-Mails übertragen
- Weiterleitungen übernehmen
Technisch handelt es sich dabei um unterschiedliche Leistungen. Vor der Kalkulation muss deshalb ausdrücklich geklärt werden:
- Werden die Domains ebenfalls zum neuen Anbieter übertragen?
- Bleiben die Domains beim bisherigen Registrar?
- Werden nur die DNS-Einträge geändert?
- Gibt es bestehende E-Mail-Postfächer?
- Müssen vorhandene E-Mails übernommen werden?
- Gibt es externe Mailanbieter wie Microsoft 365 oder Google Workspace?
- Sind individuelle MX-, SPF-, DKIM- oder DMARC-Einträge vorhanden?
- Gibt es Subdomains oder externe Dienste?
- Wer verfügt über die Auth-Codes der Domains?
Besonders kritisch ist eine unvollständige DNS-Migration. Eine Webseite kann nach dem Umzug funktionieren, während gleichzeitig der E-Mail-Empfang des Unternehmens ausfällt.
Datenmenge und Übertragungsweg
Auch die Datenmenge beeinflusst den Aufwand. Ein Webspace mit wenigen hundert Megabyte lässt sich anders behandeln als eine über viele Jahre gewachsene Installation mit:
- mehreren Gigabyte Bildern
- Produkt-PDFs
- Backups innerhalb des Webverzeichnisses
- sehr vielen kleinen Dateien
- großen Datenbanken
- alten Archiven
- Uploadverzeichnissen
Relevant sind daher:
- Größe des gesamten Webspaces
- Anzahl der Dateien
- Größe der Datenbanken
- maximale Upload- und Importgrößen
- vorhandener SSH-Zugang
- Möglichkeit eines serverseitigen Backups
- Geschwindigkeit der bisherigen FTP-Verbindung
Ein FTP-Transfer mit hunderttausenden kleinen Dateien kann deutlich länger dauern als die Übertragung eines einzelnen Archivs derselben Gesamtgröße.
Die richtige Umschaltstrategie
Eine professionelle Migration besteht nicht nur aus dem Kopieren von Daten. Sie benötigt eine definierte Umschaltstrategie. Ein möglicher Ablauf:
- Vollständiges Backup des bestehenden Systems erstellen
- Dateien und Datenbanken auf das neue Hosting übertragen
- Konfiguration für das Zielsystem anpassen
- Anwendung vor der DNS-Umschaltung testen
- gegebenenfalls Schreibzugriffe kurzzeitig stoppen
- abschließenden Datenbankabgleich durchführen
- Domains beziehungsweise DNS umschalten
- SSL und Weiterleitungen prüfen
- Funktionsprüfung durchführen
- altes Hosting für eine Übergangszeit aktiv lassen
Bei Systemen, in denen regelmäßig neue Inhalte eingetragen werden, muss außerdem geklärt werden, ob während der Migration Daten geändert werden dürfen. Andernfalls können Änderungen auf dem alten System nach der ersten Datenbankkopie verloren gehen.
Was bedeutet „kurze Funktionsprüfung"?
Auch dieser Begriff sollte nicht unklar im Angebot stehen. Eine sinnvolle technische Funktionsprüfung kann beispielsweise umfassen:
- Startseite und Unterseiten
- Navigation
- Suche
- Produkt- oder Detailseiten
- Bilder und Downloads
- Kontaktformulare
- E-Mail-Versand
- Administrationsbereich
- Anmeldung
- Erstellen oder Bearbeiten eines Testdatensatzes
- Datei-Upload
- HTTPS
- Weiterleitungen
- Aufruf über alle Domains
Wichtig ist die Trennung zwischen technischer Prüfung und fachlicher Abnahme. Ein externer Entwickler kann kontrollieren, ob ein Formular technisch versendet wird. Er kann ohne genaue Kenntnis der Geschäftsprozesse jedoch nicht sicher beurteilen, ob jede selten verwendete Funktion fachlich korrekt arbeitet. Deshalb sollte der Kunde nach dem Umzug eine eigene Abnahme durchführen.
Die wichtigsten Fragen im Erstgespräch
Für eine belastbare Aufwandsschätzung sollten mindestens folgende Punkte geklärt werden.
Systemstruktur
- Wie viele eigenständige Installationen gibt es?
- Welche Domains zeigen auf welche Verzeichnisse?
- Wie viele Datenbanken sind vorhanden?
- Gibt es Subdomains?
- Gibt es einen Administrationsbereich?
Technologie
- Welche PHP-Version wird verwendet?
- Welche Datenbankversion wird eingesetzt?
- Gibt es besondere PHP-Erweiterungen?
- Existieren Cronjobs?
- Werden externe Schnittstellen verwendet?
- Versendet die Anwendung E-Mails?
Daten
- Wie groß ist der Webspace?
- Wie groß sind die Datenbanken?
- Gibt es umfangreiche Upload-, Bild- oder PDF-Verzeichnisse?
- Ist SSH verfügbar oder nur FTP?
Domains und E-Mail
- Sollen die Domains transferiert werden?
- Wer verwaltet die Domains?
- Sind Auth-Codes verfügbar?
- Gibt es E-Mail-Konten?
- Müssen bestehende E-Mails übernommen werden?
- Welche individuellen DNS-Einträge existieren?
Durchführung
- Wann darf umgeschaltet werden?
- Ist eine kurze Unterbrechung möglich?
- Werden während der Migration Daten geändert?
- Wer führt die fachliche Abnahme durch?
- Wie lange bleibt das alte Hosting aktiv?
Wann ist ein Festpreis sinnvoll?
Ein Festpreis ist sinnvoll, wenn der Leistungsumfang nach einer technischen Vorprüfung eindeutig feststeht. Dazu sollten mindestens folgende Informationen bekannt sein:
- Anzahl der Installationen
- Anzahl und Größe der Datenbanken
- Größe des Webspaces
- PHP- und Datenbankkompatibilität
- Umfang der Domain- und DNS-Arbeiten
- Umfang einer möglichen E-Mail-Migration
- erforderliche Funktionsprüfungen
Ohne diese Informationen basiert ein Festpreis nicht auf einer Kalkulation, sondern auf einer Wette. Eine sinnvolle Vorgehensweise ist daher:
- kurzes Erstgespräch
- begrenzte technische Bestandsaufnahme
- schriftliche Leistungsabgrenzung
- Festpreisangebot für die eigentliche Migration
- separate Behandlung nicht vorhersehbarer Codeanpassungen
Fazit
Eine Legacy-Webseite, die aktuell problemlos funktioniert, kann grundsätzlich gut migrierbar sein. Der Satz „Es soll nur das Hosting gewechselt werden" sagt jedoch wenig über den tatsächlichen technischen Aufwand aus.
Die entscheidenden Fragen lauten nicht nur:
- Wo liegen die Dateien?
- Wo befindet sich die Datenbank?
Sondern auch:
- Wie viele Anwendungen existieren wirklich?
- Ist der alte Code mit dem neuen System kompatibel?
- Welche Domains, DNS-Einträge und E-Mail-Dienste hängen daran?
- Wie wird ohne Datenverlust umgeschaltet?
- Was genau wird nach der Migration geprüft?
Eine kurze technische Vorprüfung schützt beide Seiten: Der Kunde erhält einen realistischen Preis und der Dienstleister kann den Umzug kontrolliert durchführen, ohne versteckte Modernisierungsarbeiten in einen vermeintlich einfachen Festpreis aufnehmen zu müssen.