Migrieren Sie eine Drupal-Website mit Drush

Bei diesem Text handelt es sich um eine maschinell erstellte Übersetzung. Eine überarbeitete Version ist in Planung.

Einführung

Erfahren Sie, wie Sie eine Drupal-Website mit Drush migrieren können, einem Dienstprogramm, das es Ihnen ermöglicht, mit Drupal über die Befehlszeile zu arbeiten. Drush kann verwendet werden, um eine Drupal-Website einfach von einem Ordner zum anderen auf demselben Server oder von einem Server zum anderen zu migrieren.

Anforderungen

  • Ein Server mit Linux (CentOS 7 oder Ubuntu 14.04).
  • Drupal installiert und läuft.
  • Mindestens eine Drupal-Website.

Weitere Informationen zur Installation von Drupal finden Sie in unseren Artikeln:

Install Drush

Du musst Drush installieren, wenn du es noch nicht getan hast. Der beste Weg, Drush auf CentOS 7 und Ubuntu 14.04 zu installieren, ist, das Composer-Dienstprogramm von PHP mit dem Befehl zu verwenden:

sudo php -r "readfile('http://files.drush.org/drush.phar');" > drush

Als nächstes machen Sie die Drush-Installation mit dem Befehl ausführbar:

sudo chmod +x drush

Verschieben Sie schließlich die Drush-Dateien, so dass Sie Drush von überall auf dem Server verwenden können:

sudo mv drush /usr/local/bin

Sie können nun die Drush-Installation mit dem Befehl testen:

sudo drush status

Wenn Drush korrekt installiert ist, werden Informationen über den Server zurückgegeben:

user@localhost:~# sudo drush status
 PHP configuration      :  /etc/php5/cli/php.ini
 PHP OS                 :  Linux
 Drush script           :  /usr/local/bin/drush
 Drush version          :  8.1.3
 Drush temp directory   :  /tmp
 Drush configuration    :
 Drush alias files      :

Create the Alias

Sie müssen zwei Drush-Aliase erstellen: einen für die bestehende Website und einen für die neue Website. Beginnen Sie mit der Bearbeitung der Datei aliases.drushrc.php mit dem Befehl:

sudo nano /root/.drush/aliases.drushrc.php

Dies ist ein PHP-Skript, was bedeutet, dass die erste Zeile der Datei sein muss:

<?php

Und die letzte Zeile muss es sein:

?>

Zwischen diesen Klammern werden wir die Aliase für beide Seiten einfügen. Das Format dafür ist:

$aliases['site name'] = array(
   'root' => '/path/to/drupal/installation',
   'uri' => 'website URL',
 );

Zum Beispiel, um einen Alias für die alte Website zu erstellen, deren Dateien sich in /var/wwww/html gemäß der Drupal-Installation befinden und unter http://example.com sichtbar sind, würden Sie Folgendes verwenden:

Nehmen wir an, wir wollen diese bestehende Website in ein Unterverzeichnis /var/wwww/html/new-site verschieben. Wir müssen einen zweiten Alias für diese Seite hinzufügen:

Insgesamt wird die Datei gelesen:

<?php

 $aliases['old-site'] = array(
   'root' => '/var/www/html',
   'uri' => 'example.com',
 );

$aliases['new-site'] = array(
   'root' => '/var/www/html/new-site',
   'uri' => 'example.com/new-site',
 );

?>

Speichern und beenden Sie die Datei. Überprüfen Sie dann, ob Sie es richtig eingerichtet haben, indem Sie den Status der bestehenden Website mit dem Befehl überprüfen:

sudo drush @old-site status

Als nächstes erstellen Sie den Ordner für die neue Website. In diesem Beispiel ist der Befehl:

sudo mkdir /var/www/html/new-site

Erstellen der neuen Datenbank

Sie müssen eine neue Datenbank erstellen und einen neuen Datenbankbenutzer für die neue Website hinzufügen. Melden Sie sich dazu mit dem Befehl bei MySQL/MariaDB an:

sudo mysql -u root -p

Nachdem Sie das MySQL/MariaDB-Root-Benutzerpasswort eingegeben haben, werden Sie am MySQL/MariaDB-Client angemeldet.

Erstellen Sie eine Datenbank mit dem Befehl:

CREATE DATABASE [database name];

Ersetzen Sie [Datenbankname] durch den Namen, den Sie für Ihre neue Datenbank verwenden möchten. Wenn Sie beispielsweise Ihre Datenbank new_drupal_site benennen möchten, lautet der Befehl:

CREATE DATABASE new_drupal_site;

Erstellen Sie einen Benutzer für diese Datenbank und vergeben Sie ihm mit dem Befehl Privilegien:

GRANT ALL ON [database name].* TO [database username]@localhost IDENTIFIED BY '[database user password]';

Ersetzen:

  • [Datenbankname] mit dem Namen Ihrer Datenbank.
  • [Datenbankbenutzername] mit dem Benutzernamen, den Sie für Ihre Datenbank erstellen möchten.
  • [Datenbankbenutzerpasswort] mit einem Passwort für diesen Benutzer. Hinweis: Achten Sie darauf, dem Benutzer ein sicheres Passwort zu geben.

Um beispielsweise einen Benutzer namens new_drupal_user mit dem Passwort Fr4i*Re!2 zu erstellen und den Benutzern Zugriffsrechte auf die new_drupal_site Datenbank zu geben, lautet der Befehl:

GRANT ALL ON new_drupal_site.* TO new_drupal_user@localhost IDENTIFIED BY 'Fr4i*Re!2';

Wenn Sie fertig sind, verlassen Sie die Datenbank mit dem Befehl:

quit;

Migrieren Sie die Dateien

Nachdem nun alles eingerichtet ist, ist es an der Zeit, die Website-Dateien mit dem Befehl zu migrieren:

sudo drush core-rsync @old-site @new-site --include-conf

Um die neue Website zu aktivieren, müssen Sie die Datei settings.php bearbeiten und die Datenbankinformationen aktualisieren. Diese Datei befindet sich im Verzeichnis [Website document root]/sites/default. In unserem Beispiel werden wir diese Datei mit dem Befehl bearbeiten

sudo nano /var/www/html/new-site/sites/default/settings.php

Scrollen Sie nach unten zu diesem Teil:

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => '[database name]',
      'username' => '[database username]',
      'password' => '[database password]',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

Ersetzen Sie den Datenbanknamen, den Datenbankbenutzernamen und das Datenbankpasswort durch die Informationen, die Sie im vorherigen Schritt erstellt haben. In unserem Beispiel wird dies so sein:

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'new_drupal_site',
      'username' => 'new_drupal_user',
      'password' => 'Fr4i*Re!2',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

Speichern und beenden Sie die Datei. Dann migrieren Sie die Seite mit dem Befehl in die neue Datenbank:

sudo drush sql-sync @old-site @new-site --create-db

Damit ist die Migration abgeschlossen und Ihre Drupal-Site ist nun an ihrem neuen Standort aktiv.