Der Unterschied zwischen Theorie & Praxis

Wer in den letzten Wochen meinen Blog und meine Projektseiten aufmerksam besucht hat, wird festgestellt haben: da ist ja gar nichts los. Das liegt vor allem daran, dass ich mir vorgenommen habe, das neue Foren-Script für das Militia-Caelestis-Projekt ausschließlich vollständig zu releasen. Und das, obwohl es mir unter den Fingernägeln brennt, meine Fortschritte jetzt schon vorzustellen.

Im Zuge der Entwicklung des neuen Forums bin ich mehr oder weniger unbemerkt in eine kleine Falle bezüglich PHP getapst. Ohne mich explizit damit zu beschäftigen, habe ich PHP-Funktionen verwendet, die erst ab PHP 5.3 verfügbar sind. In meiner lokalen Testumgebung habe ich das nicht weiter bemerkt, da dort immer die aktuellste PHP-Version läuft. Verwendet habe ich dabei genauer gesagt neuere Features bei der Klassen-Vererbung. Diese erleichtern meine Arbeit ungemein, sodass ich sie nicht wieder entfernen möchte, zumal ein Verzicht bedeuten würde, dass ich eine nicht weiter quantifizierbare Menge an Aufwand hätte. Der für mich einfacherere Schritt war es daher, meine PHP-Version auf dem Live-Server einfach zu updaten. Tja, und damit nahm das Unheil seinen Lauf.

Dabei fing alles relativ harmlos an. Ich war mir schon des längeren des Umstands bewusst, dass mein Debian Lenny bereits die höchste, verfügbare PHP-Version installiert hatte (5.2.6). Doch Google sei Dank fand ich entsprechende Anleitungen, wie ich meine Paketquellen um Quellen mit PHP 5.3 erweitern konnte, namentlich denen von http://packages.dotdeb.org. Meine Versuche, die verschiedenen Tutorials zu befolgen, scheiterten nach dem Hinzufügen der Quellen leider alle kläglich am “apt-get update”. Dort erhielt ich die Fehlermeldung 404 Not found. Nachdem ich mehrere verschiedene Tutorials mit jeweils anderen Verweisen auf die Packages durchprobiert hatte, entschloss ich mich direkt auf dotdeb.org mal reinzuschauen. Dort fand ich leider nur noch Quellen für Debian Squeeze, jedoch keine mehr für Lenny. Das erklärte natürlich die 404-Fehler. Erneut brachte mich Google auf die richtige Spur. Durch Zufall fand ich einen Link auf einen Kommentar zu einer Nachricht auf dotdeb.org, in welchem vermerkt war, dass die Debian Quellen mittlerweile unter http://archives.dotdeb.org schlummerten. Also fix die sources.list entsprechend angepasst, aber leider auch damit kein Erfolg. Denn leider fehlte in den Archiv-Quellen der /all-Ordner, welcher scheinbar irgendwelche Meta-Informationen zu enthalten hat (ich bewege mich hier aufgrund Unkenntnis auf dünnem Eis).

Mein nächster Schritt bestand nun darin, sämtliche Pakete herunterzuladen und dann per “dpkg -i” zu installieren. Unglücklicherweise schlug auch das fehl, da Pakete benötigt wurden, die es so auf meinem System (und in den Archivquellen) nicht gab. Nachdem einige der Pakete installiert worden sind und andere nicht, ergab sich eine unschöne Situation. Denn um benötigte Pakete installieren zu können, hätte ich erst bereits erfolgreich installierte PHP-Subpakete wieder entfernen müssen, aufgrund von Versionskonflikten. Da mir ein einfaches “php -v” zu diesem Zeitpunkt auch nur noch Fehler in Paketen entgegenwarf, entschloss ich mich ein Backup einzuspielen. Vorbildlich hatte ich zu Beginn meiner Versuche eines angelegt. Nach dem Einspielen des Backups war ich also wieder am Startpunkt angelangt… keine zufriedenstellende Lösung.

Nach dem Einspielen des Backups (per Interface vom Hoster) entdeckte ich im Verwaltungsbereich, dass mein Debian Lenny mit Plesk veraltet sei. Da ich sicher war, dass zum Zeitpunkt der Einrichtung dieser Hinweis nicht dort stand, recherchierte ich fix, welche Betriebssysteme von meinem Hoster mittlerweile angeboten werden. Und siehe da, Debian Squeeze ist mittlerweile mit Plesk-Unterstützung dabei. Und für Debian Squeeze gibt es PHP 5.3 (sogar PHP 5.4) Pakete, das weiß ich. Damals, zur Ersteinrichtung war die Plesk-Unterstützung jedoch noch nicht vorhanden, sodass ich zu Debian Lenny griff, da Plesk eine Menge Konfigurationsarbeit abnimmt (wenn auch nicht alles). Das bedeutet nun also, dass ich meinen Server updaten, respektive neu einrichten darf. Denn leider würden mir per direktem Upgrade von Lenny auf Squeeze (per Konsole des OS) sämtliche Plesk-Pakete wegfliegen (und einige andere, in der Summe 43). Somit muss ich also den Debian Squeeze-Rumpf vom Hoster nehmen. Alles in allem wird also eines der kommenden Wochenenden allein für das Server-Update draufgehen. Hoffentlich vergesse ich nicht irgendwas…

Und die Moral von der Geschicht: Nur weil in der lokalen Entwicklungsumgebung alles reibungslos läuft, heißt das nicht, dass man alles sofort auf den Live-Server laden kann. Zumindest nicht, wenn es dann funktionieren soll. Kostenfaktor: eine Menge Nerven und dummerweise Zeit :(.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert