Das Script aktualisieren - Anleitung für Anfänger

 

Ihre Galerie läuft seit Jahren, die Besucher klicken sich durch die Alben, und eigentlich gibt es keinen Grund, etwas anzufassen. Dann erscheint eine neue Version, oder der Webhoster kündigt an, eine alte PHP-Version abzuschalten. Spätestens jetzt stellt sich die Frage, wie man ein laufendes Programm austauscht, ohne die Fotos, Beschreibungen und Kategorien zu verlieren, die darin stecken. Wer weiß, welche Dateien beim Update ersetzt werden und welche nicht, kann ein Script aktualisieren, ohne nervös zu werden. Diese Anleitung erklärt zuerst den Ablauf aus Sicht eines Galeriebetreibers und führt dann Schritt für Schritt durch das Update des Bildergalerie-Scripts von 3.10 auf 3.15.

Script aktualisieren: Backup sichern, neues Paket laden, Dateien auf den Server spielen und die Galerie am Bildschirm prüfen

Wann ein Update eilt und wann es warten kann

Nicht jede neue Version verlangt sofortiges Handeln. Den Ausschlag gibt die Änderungsliste, die fast jedes Programm mitbringt, meist als Datei namens CHANGELOG. Lesen Sie darin nur die Einträge, die seit Ihrer Version dazugekommen sind. Steht dort, dass eine Sicherheitslücke geschlossen wurde, gehört das Update in dieselbe Woche, denn solche Lücken werden nach ihrer Veröffentlichung gezielt gesucht. Bringt die neue Version nur ein frischeres Aussehen oder eine zusätzliche Einstellung, suchen Sie sich einen ruhigen Abend aus.

Einen dritten Anlass übersieht man leicht: die PHP-Version beim Webhoster. Kündigt er an, eine ältere Version abzuschalten, sollten Sie das Script aktualisieren, bevor die Umstellung greift. Läuft eine alte Programmversion plötzlich unter einem neueren PHP, endet das oft in einer leeren weißen Seite, und Sie reparieren unter Zeitdruck, was Sie in Ruhe hätten vorbereiten können.

Was beim Update ersetzt wird und was bleibt

Eine Galerie besteht aus drei Schichten, die beim Update völlig unterschiedlich behandelt werden. Wer diese Einteilung im Kopf hat, weiß bei jeder Datei im FTP-Programm, ob er sie gefahrlos überschreiben darf.

SchichtBeispiele in einer GalerieBeim Update
ProgrammPHP-Dateien, Skripte, mitgelieferte Grafikenwird vollständig durch die neue Version ersetzt
Inhalte und ZugangsdatenFotos, Datenbank, Konfigurationsdateibleiben, solange das Paket sie nicht enthält
Eigene Anpassungengeänderte Vorlage, eigene Farben im Stylesheetwerden überschrieben, wenn das Paket gleichnamige Dateien hat

Die dritte Zeile ist die heikle. Haben Sie die Vorlage der Galerie irgendwann an das Design Ihrer Website angepasst, steckt diese Arbeit in einer Datei, die auch im neuen Paket liegt. Lädt das FTP-Programm alles hoch, ist Ihre Fassung weg. Führen Sie deshalb eine kurze Liste der Dateien, die Sie jemals selbst geändert haben, und sichern Sie genau diese vor jedem Update ein zweites Mal in einem eigenen Ordner auf Ihrem Rechner.

Die Sicherung vorher, einmal durchgerechnet

Bei einer Galerie macht der Bilderordner fast die ganze Sicherung aus. Rechnen wir mit 800 Fotos, die direkt aus einer Kamera stammen und im Schnitt 3 MB groß sind: Das sind 2,4 GB. Bei einer Leitung mit 50 Mbit/s dauert der reine Download gut sechs Minuten. Weil ein FTP-Programm jede Datei einzeln anfordert, sollten Sie in der Praxis mit dem Doppelten bis Dreifachen rechnen. Die Datenbank fällt dagegen kaum ins Gewicht. Sie enthält keine Bilder, nur Dateinamen, Beschreibungen, Kategorien und Einstellungen, und ihr Export ist selten größer als ein paar Megabyte.

Prüfen Sie die Sicherung, bevor Sie das Script aktualisieren. Vergleichen Sie die Anzahl der Dateien im heruntergeladenen Bilderordner mit der Anzeige auf dem Server, und öffnen Sie den Datenbank-Export kurz in einem Texteditor. Steht darin für jede Tabelle ein Befehl zum Anlegen und eine Reihe von Einträgen, ist er vollständig. Eine Sicherung, die erst im Notfall als unvollständig auffällt, nützt Ihnen nichts.

Das Script aktualisieren: Bildergalerie von 3.10 auf 3.15

Beim Bildergalerie-Script ist das Update einfacher, als der allgemeine Ablauf vermuten lässt. Version 3.10 war die letzte Ausgabe vor 3.15, die Zwischenstände 3.11 bis 3.14 wurden nie veröffentlicht. Sie springen also direkt von 3.10 auf 3.15, bei noch älteren 3.x-Versionen genauso. Die Datenbank bleibt dabei unberührt: 3.15 erwartet dieselben Tabellen wie 3.10, ein Update-Script für die Datenbank gibt es deshalb nicht. Voraussetzung ist PHP 8.2 oder neuer mit der Erweiterung mbstring. Das prüfen Sie vorher im Kundenmenü des Webhosters, denn beim Update läuft keine Systemprüfung.

Sichern Sie vorher vier Dinge: die Datenbank, den Ordner bilder/ mit allen Unterordnern, die Datei inc/config.php und alles, was Sie in tpl/ und css/ selbst geändert haben, vor allem die Galerie-Vorlage tpl/bildergalerie.html. Welche Teile das Paket ersetzt, welche es nicht berührt und was Sie danach von Hand löschen, zeigt das Diagramm.

Animiertes Diagramm zum Update von 3.10 auf 3.15: Das Paket ersetzt admin, class, js, tpl, css und inc/version.php, inc/config.php, bilder und Datenbank bleiben, install und alte jquery-Dateien werden gelöscht
Das Paket ersetzt nur Programmdateien und überschreibt dabei eigene Änderungen in tpl/ und css/. Konfiguration, Fotos und Datenbank bleiben, install/ und die Altdateien löschen Sie von Hand.

Mit der Sicherung in der Hand gehen Sie so vor:

  1. Das Paket bildergalerie-script-3.15.zip entpacken und alle Dateien per FTP hochladen, vorhandene überschreiben. inc/config.php ist nicht im Paket und bleibt erhalten, ebenso Ihre Bilder.
  2. Prüfen, ob die neue Datei bilder/.htaccess auf dem Server liegt. Manche FTP-Programme blenden Dateien mit einem Punkt am Anfang aus.
  3. Den Ordner install/ auf dem Server löschen. Er kommt mit dem Paket wieder mit, und solange er existiert, zeigt die Verwaltung nur die Seite „Bitte löschen Sie den Ordner „install““. Den Installer nicht aufrufen.
  4. Die alten Dateien admin/javascripts/jquery.js, admin/javascripts/jquery-1.11.1.min.map, admin/javascripts/scripts.js und, falls vorhanden, admin/error_log löschen. Die neue Verwaltung braucht sie nicht mehr.
  5. Unter …/admin/ mit dem bisherigen Benutzernamen und Passwort anmelden, dann „Einstellungen“ öffnen, die Werte prüfen und „Galerie ansehen“ aufrufen.

Nach dem Update sind alle Administratoren einmal abgemeldet. Das ist gewollt und kein Fehler. Ihr Passwort bleibt gleich: 3.10 hat es als MD5-Wert gespeichert, 3.15 stellt es bei der ersten Anmeldung selbst auf das sicherere bcrypt um. Neu ist auch, dass die Verwaltung nach 60 Minuten ohne Aktivität abmeldet und nach 5 falschen Versuchen den Zugang für 5 Minuten sperrt. Wer sich nach dem Update vertippt, prüft also lieber die Feststelltaste, statt weiter zu raten.

Praxisfall: Galerie mit eigenem Design

Mit einem angepassten Design kommt ein Schritt hinzu. Angenommen, Sie haben vor zwei Jahren Kopfbereich und Menü Ihrer Website in tpl/bildergalerie.html übernommen und in css/style.css die Farben der Verwaltung angepasst. Beim Hochladen überschreibt das Paket beide Dateien. Ihre gesicherte Galerie-Vorlage spielen Sie danach einfach zurück, denn der Platzhalter {AUSGABE_BILDERGALERIE} und die bisherigen CSS-Klassen sind unverändert. Ergänzen Sie darin nur <meta charset="utf-8"> und die viewport-Angabe, weil 3.15 durchgehend UTF-8 ausgibt und sich an schmale Bildschirme anpasst.

Anders sieht es bei der Verwaltung aus. css/style.css und die Vorlagen tpl/admin/*.html haben in 3.15 ein neues Layout, alte Änderungen daran passen nicht mehr und müssen bei Bedarf neu übertragen werden. Auch css/layout.css für die Galerie bringt neue Inhalte mit; die bisherigen Klassen bleiben erhalten, eigene Ergänzungen tragen Sie am Ende der neuen Datei wieder ein. Ordnernamen aus 3.10, auch solche mit Komma, bleiben gültig und werden nicht umbenannt.

Wenn der Webhoster noch kein PHP 8.2 anbietet

Zeigt das Kundenmenü eine ältere Version, stellen Sie zuerst dort um. Bei den meisten Webhostern lässt sich die PHP-Version je Domain in einer Auswahlliste ändern, oft mit sofortiger Wirkung. Laden Sie die neuen Dateien direkt danach hoch, damit alte Programmversion und neues PHP nicht lange nebeneinander laufen. Findet sich die Einstellung nicht, legen Sie kurz eine Datei info.php mit dem Inhalt <?php phpinfo(); auf den Server, rufen sie auf und löschen sie sofort wieder: Ganz oben steht die Version, weiter unten ein Abschnitt „mbstring“, wenn die Erweiterung aktiv ist. Bietet Ihr Tarif kein PHP 8.2, bleibt nur ein Tarifwechsel oder ein anderer Webhoster, denn ohne passende Voraussetzungen lässt sich 3.15 nicht sinnvoll betreiben.

Wer noch keine Galerie betreibt, kann die aktuelle Version kostenlos herunterladen und gleich mit 3.15 beginnen, dann entfällt dieser Umstieg ganz.

Typische Pannen nach dem Update

Wer ein Script aktualisieren muss, stößt meist auf dieselben vier Pannen. Jede hat eine einfache Ursache und hinterlässt ein typisches Erkennungszeichen.

  • Galerie sieht plötzlich anders aus: Ihr Kopfbereich und Ihr Menü fehlen, stattdessen erscheint die Standardvorlage. Die eigene Vorlage wurde überschrieben. Spielen Sie Ihre gesicherte Fassung zurück.
  • Weiße Seite oder Fehler 500: Häufig passt die PHP-Version beim Webhoster nicht zu den Anforderungen der neuen Version. Ein Blick ins Kundenmenü klärt das in einer Minute.
  • Einzelne Seiten funktionieren, andere nicht: Die FTP-Übertragung ist abgebrochen, und auf dem Server liegen alte und neue Dateien gemischt. Laden Sie das komplette Paket ein zweites Mal hoch und lassen Sie dabei alle Dateien überschreiben.
  • Verwaltung zeigt nur eine Hinweisseite: Der Ordner install/ liegt noch auf dem Server. Löschen Sie ihn per FTP und klicken Sie auf „Erneut prüfen“.

Keiner dieser Fälle ist ein Grund, sofort die Sicherung zurückzuspielen. Erst wenn die Ursache nach einer Viertelstunde Suche unklar bleibt, stellen Sie den alten Stand wieder her und lesen die Hinweise zur neuen Version in Ruhe noch einmal.

Fünf Minuten Kontrolle nach dem Update

Klicken Sie die Galerie zum Schluss einmal so durch, wie es ein Besucher und wie es ein Verwalter tun würde. So fällt ein Fehler Ihnen auf und nicht erst einem Gast.

PrüfenSo sieht es richtig ausWenn nicht
Startseite der GalerieKategorien mit Vorschaubildern, Umlaute korrektPHP-Version und Vorlage prüfen, in der Vorlage <meta charset="utf-8"> ergänzen
Eine Kategorie mit vielen Fotosalle Bilder da, große Ansicht öffnet sichUpload auf Vollständigkeit prüfen, Paket erneut hochladen
Anmeldung in der Verwaltungbisheriger Benutzername und bisheriges Passwort geltennach 5 Fehlversuchen 5 Minuten warten, dann sorgfältig neu eingeben
Ein Testbild hochladen und löschenVorschaubild entsteht, Löschen klapptSchreibrechte der Bilderordner prüfen

Bewahren Sie Sicherung und altes Paket noch zwei, drei Wochen auf. Manche Fehler zeigen sich erst, wenn Sie eine Funktion nutzen, die Sie selten brauchen, etwa das Anlegen einer neuen Kategorie.

Häufige Fragen

Wer zum ersten Mal ein Script aktualisieren will, fragt meist nach der Sicherung der Datenbank, nach einem Update-Script und danach, ob sich der Aufwand lohnt.

Wie sichere ich vor dem Update die Datenbank?

Öffnen Sie phpMyAdmin im Kundenmenü Ihres Webhosters, wählen Sie links die Datenbank der Galerie und klicken Sie oben auf „Exportieren“. Die schnelle Methode im Format SQL genügt. Die heruntergeladene Datei legen Sie neben die Kopie des Bilderordners, am besten in einen Ordner mit dem Datum im Namen. So finden Sie im Notfall sofort zusammen, was zusammengehört.

Woran erkenne ich das Update-Script, das ich aufrufen soll?

Ob es überhaupt eines gibt, steht in der Update-Anleitung der jeweiligen Version, nicht in der Ordnerliste. Manche Programme passen ihre Datenbank über eine Datei wie update.php an, andere brauchen das gar nicht, weil sich nur Programmdateien ändern. Rufen Sie nie auf Verdacht eine Datei auf, nur weil sie nach Installation klingt. Beim Bildergalerie-Script gibt es kein Update-Script: Von 3.10 auf 3.15 ändert sich an der Datenbank nichts, und den Ordner install löschen Sie nach dem Hochladen, statt ihn aufzurufen.

Wie prüfe ich, ob sich das Update überhaupt lohnt?

Lesen Sie in der Änderungsliste nur die Einträge, die seit Ihrer Version dazugekommen sind. Tauchen dort Wörter wie Sicherheit, Lücke oder Anmeldung auf, lohnt sich das Update immer. Betreffen die Einträge nur Funktionen, die Sie nicht nutzen, können Sie es auf einen ruhigen Termin legen, sollten es aber nicht über Monate liegen lassen. Von 3.10 auf 3.15 lohnt es sich wegen der neuen Anmeldung mit bcrypt und Sperre nach Fehlversuchen in jedem Fall.

Wo sehe ich, welche Version des Bildergalerie-Scripts installiert ist?

Die Verwaltung zeigt die Versionsnummer oben in der Kopfzeile. Ab 3.15 stammt sie aus der Datei inc/version.php, die jedes Update mitbringt. Nach dem Hochladen der neuen Dateien steht dort also automatisch 3.15, an inc/config.php müssen Sie dafür nichts ändern.

Verwandte Themen

Wer ein Update sauber durchziehen will, braucht vorab ein Backup und etwas Hintergrund zu Datei-Upload und Versionen.