Drupal Update - Dateien ersetzen statt patchen?
am 04.03.2010 - 16:08 Uhr in
Hallo zusammen,
ich habe mal eine generelle Frage.
Der Update-Prozess einer Drupal-Installation ist ja alles andere als "anwenderfreundlich"...
nun gäbe es ja auch die Möglichkein, sofern man Shell-Zugriff hat, das mittels "Patch" zu machen. Was aber, wenn kein Shell-Zugriff möglich ist?
Und hier die Frage:
aus der Patch-Datei (z.B. aktueller Sicherheits-Patch 6.15) kann man ja entnehmen, welche Dateien betroffen sind. Wenn man nun aus einer 6.16er Version die betreffenden Dateien raussucht und in dem 6.15er Verzeichnis ersetzt, kommt das nicht auf das gleiche raus?
Ich weiß, dass es sinnvoller wäre, wegen der anderen Bugfixes ein komplettes Upgrade zu machen, mir geht es hier aber erstmal um die Sicherheit, dass die Lücken schnell geschlossen sind...
- Anmelden oder Registrieren um Kommentare zu schreiben

Ich finde den Update Prozess
am 04.03.2010 - 17:47 Uhr
Ich finde den Update Prozess ziemlich gut. Die Ansicht "Available Updates" in der Admin Maske bietet einem direkte Downloads der aktuellen Versionen des Drupal Core und der Installierten (aktivieren) Module.
Diese Dateien können nachdem sie entpackt sind einfach per FTP in das Verzeichnis geladen werden. In den meisten Fällen ist es ratsam die Dateien robots.txt und .htaccess vor dem hochladen zu löschen (diese Dateien werden häufig lokal angepasst).
Nach dem Überschreiben einfach update.php aufrufen und fertig. Das ganze dauert weniger als eine Minute (je nach Uploadgeschwindigkeit).
Voraussgesetzt man hält sich daran Core-Dateien bei der Entwicklung niemals anzurühren. Aber dann kann man auch das patchen oft vergessen.
Ich liebe Updates bei Drupal :)
am 04.03.2010 - 20:01 Uhr
Klar hab ich SSH. Ohne SSH ist das Leben eh nicht spassig :)
- Hol Dir das drupal-x.tgz
- Mach tar xzvf
- cd nach dem entpackten Update
- Lass ein Script laufen (s.U.)
- cd nach Drupal-Root
- tar czvf ../update.tgz
- Lass "drush updatedb" laufen
Fertisch. In ein Script gepackt rennt das noch angenehmer aber so oft sind Core-Updates ja nun auch wieder nicht.
#!/bin/bashVER=`pwd | cut -d"-" -f2`
chown -R www-data.www-data .
mv .htaccess .htaccess.$VER
tar czvf ../update.tgz .
Das Script hab ich eigentlich nur, damit ich nicht vergesse, die Dateien, die ich nicht überschreiben möchte wegzumoven.
Die meissten Updates sind Contrib-Updates und gehen dann mit drush recht fix. Aber eben SSH.
Den Vorgang kann ich jetzt auch auf andere Umgebungen "mappen", bspw WinClient und FTP auf SchlagMichTod-Server:
- Speicher drupal-x.tgz lokal ab
- Entpack es z.B. mit 7zip
- Öffne FTP-Programm und kopiere alle Dateien des Updates nach dem Server-Drupal-Root (Drüberkopieren)
- Öffne Webbrowser und lass update.php laufen
Man könnte jetzt argumentieren, dass andere Software da selbstpatchend ist (wie SMForum z.B.), was aber ein nicht unerheblicher Sicherheitsaspekt ist. Obige Logik liesse sich auch relativ schnell in ein Drupal-Modul packen (24zeiler oder so), was ich aber nie und auf keinen Fall machen würde.
Eine der Stärken ist, dass ich mit meinem Drupal auch recht gut schlafen kann und an der Stelle einfach sagen muss, dass ich in mittlerweile 6 Jahren intensivem Drupal noch nie wirklich in sicherheitskritische Situationen geraten bin. Das beruhigt mich einfach ungemein :)
Deine Idee mit dem Patchen geht übrigens auch ist aber IMHO fehleranfällig (wäre es bei mir zumindest). Hast Du auch nur irgendeine Datei übersehen, dann kannst Du richtig (aber richtig, richtig) Pech haben ;)