**Dies ist eine alte Version des Dokuments!**

Drupal 8/9 aus vorhandener Konfiguration installieren

Seit Drupal 8.6 wird kein zusätzliches Modul (wie etwa config_installer mehr benötigt), wenn Drupal auf Basis einer bestehenden (exportierten) Konfiguration installiert werden soll.
Dies ist zum Beispiel hilfreich, wenn bei einem Projekt kein Datenbank Dump ausgetauscht werden soll, sondern alle Entwickler ihre Instanz über eine frische Drupal Installation aufsetzen oder für das Ausführen von automatischen Tests.

Drupal schaut bei der Installation an zwei Orten, ob eine Konfiguration vorhanden ist:

  • In der settings.php ist die Variable $settings['config_sync_directory'] gesetzt. Dies muss vor dem Ausführen der Installation gemacht werden.
  • In dem Installationsprofil – das bei der Installation verwendet wird – befindet sich ein Verzeichnis config/sync, welches die Konfiguration enthält.
    • Hierbei ist jedoch zu beachten (sofern die Konfiguration für ein eigenes Installationsprofil erstellt wird), dass in der core.extension Konfiguration das dortige Installationsprofil geändert werden muss: Dort muss das eigene Profil eingetragen sein und nicht das ursprüngliche Installationsprofil. Dies betrifft zwei Stellen:
      • Beim Key profile
      • Bei der Liste der Module (Key module)

Drush

Drush unterstützt ab Version 9.4 auch die direkte Installation aus vorhandener Konfiguration: drush site:install --existing-config. Auch hier muss der Pfad zu der Konfiguration in der settings.php vorab gesetzt sein: $settings['config_sync_directory']

Es gibt bei der Installation über Drush jedoch die Einschränkung, dass die Konfiguration auf dem <mark>minimal</mark> Installationsprofil basiert. Ansonsten kommt es zu der Fehlermeldung:

Configuration install: standard
The selected profile has a hook_install() implementation and therefore can not be installed from configuration.

Ticket in Drush: Impossible to site-install --config-dir with any profile other than minimal #2953