Migration Drupal v5.x auf v6.x: Backupskripten und Start des Upgrades

Um die Migration auf Drupal v6.x so reibungslos wie möglich zu machen, empfiehlt sich ein Backup der (MySQL)-Datenbank (DB) und der Dateien. Gemütlich sichern lässt sich die DB z.B. über folgendes PHP-Skript (sofern exec() nicht serverseitig unterbunden wird):


<?
exec("mysqldump -u SERVERUSER -pPASSWORT --add-drop-table DBTABELLE >dump_drupal_" . date('Ymd_g_i') . ".sql");
exec("gzip dump_drupal_" . date('Ymd_g_i') . ".sql");
echo "Backup wurde erstellt!";
?>

Hierbei SERVERUSR durch den DB-Anwender ersetzen, PASSWORT mit dem entpsrechenden Datenbank-Passwort belegen und die entsprechende DBTABELLE angeben. Bei Einsatz des Skripts für regelmäßige Backups sollte der Ordner in dem das Skript liegt, geschützt werden (ie. per .htaccess).

Um den MySQL Dump in eine neue Tabelle einzuspielen, lässt sich auf das folgende PHP-Skript zurückgreifen:


<?
exec("gunzip dump_drupal_20080201_3_23.sql.gz");
exec("mysql -u SERVERUSR -pPASSWORT DBTABELLE < dump_drupal_20080201_3_23.sql");
echo "Das DUMP wurde eingespielt!";
?>

#######
schnipp
#######

Sind Dateien und DB gesichert, kann's losgehen mit der Migration auf Drupal 6. Die Anleitung unter http://www.drupal6.de/node/20 und der Screencast unter http://www.tobiasbaehr.de/drupalscreencast/drupa... erläutern die zentralen Schritte:

  1. Klar, Backup des ganzen Gedöns erstellen.
  2. Verbindungsdaten aus settings.php bereithalten.
  3. Anmelden als Superadmin (User mit ID=1).
  4. Seite in den Wartungsmodus setzen.
  5. Bei eigenentwickeltem Theme: Auf Standard-Template umstellen.
  6. Über die Modulupdate-Seite der Installation alle Versionen des 6er-Zweiges der verwendeten Module herunterladen und separat speichern.
  7. Alle externen Module (jenseits des Drupal-Cores) deaktivieren - nicht deinstallieren(!).
  8. Alle Dateien der Drupal Installation löschen; bis auf den files Ordner, freilich.
  9. Aktuelle Drupal 6 Version herunterladen von http://drupal.org/ , entpacken und in das entsprechende Serververzeichnis kopieren.
  10. Gesicherte /files zurückkopieren
  11. Update.php aufrufen, um Migration des Systemkerns zu starten: http://www.example.com/update.php
  12. Externe Module in den entsprechenden Modulordner kopieren; anschließend update.php aufrufen. Bei mir hat's sich gelohnt, die Module häppchenweise zu aktivieren - so lassen sich Probleme schön fix eingrenzen.

Erste Probleme (Apache meldet 500) gab's mit dem Gallery Modul. Bislang weiß ich noch keine Lösung. Dazu später mehr.