Zurück zum Blog

Einrichtung eines Drupal 9 Multisite lokal mit DDEV: Gehostet auf Acquia mit Acquia Pipelines

2023-03-123 Minuten Lesezeit

In meinem aktuellen Job unterstützt das von mir geleitete Team drei Websites einer großen privaten Organisation. Die drei Websites werden auf Acquia gehostet. Die Websites sind Teil einer Multisite-Einrichtung und der Quellcode wird über den Acquia Pipelines Service verwaltet.

Kurz gesagt, Acquia Pipelines ist ein Continuous Integration und Deployment Service, der von Acquia bereitgestellt wird, einer Cloud-basierten Plattform, die Hosting, Support und Management für Drupal-Websites auf Enterprise-Niveau bietet.

Was ist DDEV?

DDEV ist ein Befehlszeilenwerkzeug, das Entwicklern hilft, lokale Entwicklungsumgebungen schnell und einfach einzurichten. Es wurde entwickelt, um den Prozess der Einrichtung eines lokalen Webservers, der Verwaltung von Abhängigkeiten und der Konfiguration von Entwicklungsumgebungen zu vereinfachen. Wenn Sie DDEV zum ersten Mal verwenden, stellen Sie sicher, dass Sie diesen Beitrag lesen, um mit DDEV zu beginnen.

Was ist ein Drupal Multisite?

Drupal Multisite ist eine Funktion, die es ermöglicht, mehrere Websites mit einer einzigen Drupal-Codebasis und Datenbank zu verwalten. In einer Drupal Multisite-Einrichtung teilen sich mehrere Websites eine einzige Drupal-Installation, was den Wartungsaufwand und die Kosten reduzieren kann.

Jede Website in einer Drupal Multisite-Konfiguration hat ihre eigene eindeutige Domain oder Subdomain und kann ihr eigenes Theme, Module, Inhalte und Konfigurationen haben. Sie teilen sich jedoch dieselbe Kern-Codebasis und Datenbank.

Drupal Multisite ist nützlich, wenn Sie mehrere Websites verwalten müssen, die eine ähnliche Codebasis, ein ähnliches Theme oder ähnliche Funktionalitäten teilen, wie z. B. ein Netzwerk verwandter Websites oder mehrere Sprachversionen einer Website. Es kann die Website-Wartung vereinfachen, Kosten senken und die Konsistenz über Websites hinweg verbessern.

Das Rezept zur Einrichtung des lokalen Multisite

  1. Sie müssen das Projekt mit DDEV einrichten. Schauen Sie sich diesen Beitrag an, um zu beginnen.
    • Der Docroot-Speicherort, von dem die Website bedient wird, sollte web/docroot sein. Sie werden bei der Ausführung des Befehls ddev config nach dem Docroot-Speicherort gefragt.
  2. Erstellen Sie im .ddev-Ordner eine Datei namens config.multisite.yaml
  3. Die Datei config.multisite.yaml sollte folgenden Inhalt haben:
additional_hostnames:
  - site1
  - site2
  - site3
  1. Aktualisieren Sie die Datei sites.php, um die drei lokalen Domains und ihre entsprechenden Ordner hinzuzufügen.

Die Datei sites.php ist eine Konfigurationsdatei, die es Ihnen ermöglicht, Domainnamen oder URLs bestimmten Drupal-Site-Verzeichnissen zuzuordnen.

$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
  1. Erstellen Sie drei Datenbanken mit PHPMyAdmin. Wenn der Name des DDEV-Projekts mysite wäre, können Sie phpmyadmin unter https://mysite.ddev.site:8037/ aufrufen.
  2. Exportieren Sie Datenbank-Backups von Acquia und importieren Sie sie in die entsprechenden Datenbanken, die Sie in Schritt 4 erstellt haben.
    • Wenn die Datenbanken groß sind, können Sie einen DDEV-Befehl zum Importieren verwenden: ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
  3. Im Verzeichnis jeder Datei müssen Sie diese DDEV- Datei hinzufügen.
  4. Die Datei settings.php jeder Website muss aktualisiert werden, um den Code aus dieser Datei einzubinden.
  5. Führen Sie ddev ssh und danach composer install aus
    • Der Befehl ddev ssh ermöglicht Ihnen den Zugriff auf die Befehlszeilenschnittstelle (CLI) eines laufenden DDEV-Webcontainers, sodass Sie Composer, Drush und andere Befehle innerhalb des Webcontainers ausführen können.

Kategorien: