03
Okt 19

In die Kaninchenhöhle gefallen: alte Webserversicherungen zum Leben erwecken - Teil 1

Wenn nach langem Wunsch endlich ein Server zu Hause steht und die Idee aufkeimt, die Historie der eigenen Webseiten aus den Backups und portablen Webserver-Sicherungen an einer Stelle zusammenzuführen ... und wieder zum Laufen zu bringen. Schließlich gibt es nichts schöneres, als sich über die Sünden der Vergangenheit zu amüsieren ^-^ - Augenkrebs und so (Hier am Beispiel der Crazylounge anno 2001).

Problem: Portable Webserver laufen nicht mehr. Genauer gesagt, die MySQL-Datenbank funktioniert unter Windows 10 nicht.

Versuch 1: Glücklicherweise funktioniert die Windows XP VM, welche ich bis vor gar nicht all zu langer Zeit noch zur Nutzung des Scanners einsetzte, nach wie vor einwandfrei. Der Webserver startet dort, inklusive Zugriff auf die MySQL-Datenbanken & phpMyAdmin. Dumm nur, dass in dem funktionerenden Webserver die betroffenen Datenbanken doch nicht drin waren.

Versuch 2: Internet-Suche bringt mich zur Anleitung "Recovering MySQL Files and Database Tables" von Hetman Software. Mit Hilfe von MySQL Workbench können auch Datenbanken exportiert werden, deren Ordner aus dem ursprünglichen mysql-Verzeichnis in den mysql-Ordner einer bestehenden Datenbank hineinkopiert werden.

Nächster Schritt: Eine bestehende Datenbank muss her, also Docker-Container aufsetzen. Dieses Mal nicht in der Konsole sondern aus Bequemlichkeit direkt im Synology-Docker-Interface. Nicht vergessen die Variable MYSQL_ROOT_PASSWORD zu setzen.

Einrichten einer neuen Verbindung in MySQL Workbench: Hostname entspricht dem hostnamen des Servers, Port kann über docker ps herausgefunden werden. Klappt. Jetzt müsste ich die Ordner in den data-Ordner der Datenbank hineinkopieren ...

Problem: Upload von Dateien in den MySQL-Docker-Container ist gerade etwas umständlich für mich.

Alternative: Eine MySQL-DB, die in Windows läuft und auf deren Verzeichnisse ich aus Windows heraus zugreifen kann, wäre doch etwas angenehmer. Glücklicherweise habe ich den Bitnami-WAMP-Stack noch nicht ins Nirvana geschickt, nachdem die darauf laufenden Services auf den Webserver umgezogen sind. Zugriff darauf klappt genauso wie das Hinzufügen der Ordner aus alten mysql-Ordnern.

Wie in der oben erwähnten Anleitung den Data Export für einen der alten Ordner anstoßen. Ich exportiere zu einer Self-Contained File inklusive Dump- und Schema-Instruktionen. Die Warnung, dass die MySQL-Version nicht übereinstimmt ignoriere ich. Mehr als schiefgehen kann es nicht, immerhin liegt mehr als ein Jahrzehnt zwischen den Versionen.

Anschließend nutze ich die Exportdatei um die Datenbank in der Docker-Datenbank zu importieren. Es werden Tabellen angelegt, in den Tabellen ist Inhalt der so aussieht, als sei er komplett. Zugegebenermaßen - inbesondere die frühen Datenbanken sind so basic, dass ich weniger Probleme erwarte.

Als nächster Schritt bleibt nun die große Aufgabe, den PHP-Teil der Webseiten wieder mit dem Datenbankteil zu verbinden. Denn natürlich möchte ich nicht mit einer PHP-anno-tubac-Version auf dem Server arbeiten. Dies ist ein größeres Projekt - oder ich finde eine Bibliothek, die mysql_* in mysqli_* transformiert. Aber nicht mehr heute.