Beim letzten VHS-Drupal-Treffen (Mitte Mai) hatte ich versprochen, dass ich die Arbeitsschritte zum Update einer Drupal-Website hier im Forum beschreiben.
Hier erstmal ein kurze Checkliste:
- Datensicherung (Backup)
- Wartungsmodus (Offline) aktivieren
- Aktuelle Modul-Pakete herunterleden
- Module auspacken und per FTP auf den Server übertragen
- /update.php aufrufen
- Wartungsmoduls deaktivieren (Online)
Und hier die ausführliche Version:
Erster und sehr wichtiger Schritt ist die Datensicherung. Bei Websites, die mit Confixx betrieben werden, hat man eine ganz handliche "Backup"-Funktion im Abschnitt "Tools" der Confixx-Oberfläche. Dort erzeugt man ein aktuellen Backup der Punkte "html", "files" und "mysql". Wenn in der Liste drei Backups mit aktuellem Datum vorliegen, dann gehts weiter. (Erst dann, es kann ein paar Minuten dauern).
Bei Bedarf kann man nun die Website in den Wartungsmodus schalten. Normale Benutzer bekommen bei Seitenaufrufen lediglich eine "Wartungsarbeiten - Bitte Warten" angezeigt.
Nun unter "Verwalten > Berichte > Verfügbare Aktualisierungen" bei allen Modulen, die mit "ausstehendes Sicherheitsupate" markiert sind, auf den Link "Herunterladen" anklicken und die Module auf der lokalen Festplatte speichern. Die Module werden im Format *.tar.gz heruntergeladen.
Die Paketdateien *.tar.gz auf der lokalen Festplatte (meist im "Desktop"-Ordner) entpacken. Dazu eignet sich z.B. 7-Zip -- http://www.7-zip.org/. Es werden für jedes Modul beim Entpacken ein neuer, gleichnamiger Ordner angelegt.
Die entpackten Module werden nun auf die Website hochgeladen. Dazu wird das FTP-Programm gestartet (nicht der Windows-Explorer, besser ist FileZilla: http://www.filezilla.de/). Die Anmeldedaten (Servername, Benutzername und Passwort) sollten bekannt sein.
Das Zielverzeichnis ist html/sites/all/modules (je nach Installation auch html/drupal/sites/all/modules oder html/d6/sites/all/modules). Dort gibt es schon all die Ordner für die hochzuladenden Module, die kann man (auf der Serverseite!) optional vor dem Hochladen der neuen Modul-Versionen selektiv löschen.
Nun die Module von der lokalen Festplatte in das Verzeichnis "modules" auf dem Server übertragen.
Als abschließender Schritt wird die URL /update.php (z.B. http://beispiel.de/update.php) aufgerufen.
Nun wird unter "Verwalten > Einstellungen > Wartungsarbeiten" die Website vom Wartungsmodus (Offline) wieder in den Online-Modus geschaltet.
Nach erfolgreichem Update können die Ordner und Modul-Dateien auf der lokalen Festplatte wieder gelöscht werden.
ANMERKUNG - Drupal-Update: Beim Update des Basissystems (Drupal core) ist die Vorgehensweise etwas anders. Das Drupal-Paket wird heruntergeladen und entpackt. Dann wird im obersten Verzeichnis die Datei .htaccess entfernt oder umbenannt. Meist ist diese Datei auf dem Server leicht bis heftig modifiziert und sollte auf dem Server auf keinem Fall überschrieben werden.
Dann übertägt man die Dateien und Ordner wie oben beschrieben in das Verzeichnis html/ (je nach Installation auch html/drupal/ oder html/d6/) auf dem Server. Anschließend wird die URL /update.php (z.B. http://beispiel.de/update.php) aufgerufen -- fertig.
ANMERKUNG - Wenn etwas schief geht: Dann kann man in der Confixx-Oberfläche im Abschnitt "Tools > Wiederherstellung" die zu Beginn erstellte Sicherung aus dem ordner "backup" wieder einspielen und hat den ursprünglichen Stand wieder hergestellt. Und dann sollte man überlegen, wieso das Update fehlgeschlagen ist.

Und noch eine Bemerkung zur Datensicherung
Es ist eine gute Idee, die mit der Confixx-Option "Backup" erstellten Sicherungsdateien auch auf die lokale Festplatte zu kopieren. Die Anmeldedaten für Confixx hat man von seinem Website-Anbieter erhalten.
Dazu legt man auf der Lokalen Festplatte einen Ordner "Website Sicherungen" und darin einen Ordner mit dem Datum im Namen (z.B. "2009-06-02" für den 2.6.2009) an. Dann nimmt man das FTP-Programm (zB. Filezilla) und kopiert die Dateien "html.tar.gz", "files.tar.gz" "mysql.tar.gz" in den lokalen Ordner.
Somit ist man immer Herr über seine Daten.
Achtung: Sollte man auf dem Webserver auch seine E-Mails lagern (und vai IMAP auf den Server zugreifen), so müssen diese E-Mails extra gesichert werden. Sie sind nicht in den drei Paketen enthalten.
Viele Grüße, Dirk
---
niebegeg.net - my adventures in "coding country".
"Schritte beim Drupal-Update"
Hallo Dirk,
vielen Dank für die Veröffentlichung der "Schritte bei Drupal-Update". Habe damit mein Backup nachgeholt. Es scheint auch alles geklappt zu haben. Nur, wenn ich unter Confixx-tools unter Wiederherstellung klicke erscheint unter Datum jeweils "existiert nicht". Habe ich etwas falsch gemacht. Ich nahm an, dass unter Wiederherstellung das letzte Backup erscheint und dann wieder hochgeladen wird.
Herzliche Grüße Dieter
Unter dem Punkt
Unter dem Punkt "Wiederherstellung" wird voreingestellt der Inhalt des Ordners "restore" angezeigt. Da gibt es auf der Seite eine Auswahlliste, der andere auswählbare Wert ist "backup". Nach dem Umschalten auf "backup" schaut Confixx im Ordner "backup/" nach und sollte die drei Sicherungsarchive listen. Tut er das?
Viele Grüße, Dirk
---
niebegeg.net - my adventures in "coding country".
Backup und Wiederherstellung
Hallo Dirk,
ja er tut es. Danke und ein schönes Wochenende.
Gruß Dieter
Zum Modulupdate: Manchmal,
Zum Modulupdate:
Manchmal, besonders wenn mal wieder besonders viele Module zum Update anstehen, kann einem dieses schon graue Haare wachsen lassen. So habe ich die Erfahrung gemacht, dass es eigentlich immer sehr hilfreich ist, die alten Module auf dem Server zu löschen bevor ich die neuen hochlade.
Auch sollte bei Modulen, die gewisse Abhängigkeiten zueinander aufweisen (z.B. ImageApi -> ImageCache)die richtige Reihenfolge des Hochladens eingehalten werden. Bei dem zuvor genannten Beispiel würde ich das so machen:
Löschen des Imagechache- und Imageapi- Moduls auf dem Server.
Hochladen von Imageapi->Aufrufen von http://beispiel.de/update.php
Hochladen von Imagecache->Aufrufen von http://beispiel.de/update.php
Viele Grüße
Andreas
Ja, das stimmt mit meinen Erfahrungen überein.
Ja, das stimmt mit meinen Erfahrungen überein. Es ist vorteilhaft, das Modul-Verzeichnis auf dem Server erst zu löschen, bevor man die neue Version hochlädt. Dann solte man die Website jedoch bewusst in den Wartungsmodus (offline) schalten, da sie ja für einen bestimmten Zeitraum u.U. nicht sauber funktioniert.
Gerade ein Update, bei dem der erste Teil der Versionsnummer sich ändert, ist Vorsicht geboten, auch sollten dann nach dem Update auch die Konfigurationsoptionen und das Funktionieren des Moduls geprüft werden. Habe ich schmerzhaft gelernt...
Und: Immer nur eine "kleine" menge von Modulen aktualisieren. Auch, weil bei manchem Webhosting-Angebot das maximale Hauptspeicherlimit überschritten wird. Dann kommt der weiße Bildschirm und man weiß nicht, welche Schritte des Updates in der Datenbank verarbeitet wurden. Muss nicht gut sein.
Viele Grüße, Dirk
---
niebegeg.net - my adventures in "coding country".