logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll
20/06/2025, by Ivan

Das folgende Tutorial behandelt die Schritte, die erforderlich sind, um ein Drupal 8 Multisite einzurichten. Dieses Tutorial befindet sich noch in der Entwicklung, es werden nur einige Beispielkonfigurationen gezeigt. Es gibt auch andere Optionen, wie HTTPS, andere Webserver und Datenbanken sowie fortgeschrittenere Virtual-Host-Konfigurationen usw.

Es ist jedoch zu beachten, dass die Verwendung des Aegir Hosting-Systems zu bevorzugen ist. Es erledigt die ganze schwere Arbeit für Sie, verwendet sichere Best Practices, einschließlich automatischer Virtual-Host-Konfiguration für Apache und Nginx, Hinzufügen von HTTPS-Unterstützung, Ausführen von Composer-Befehlen usw. Siehe Plattform-Setup-Dokumentation, Aegir-Sprech für Multisite-Codebasis.

Prozessübersicht:

1. Installieren Sie eine Drupal 8-Instanz, die als Root-Site für Ihre Multisite-Installation fungieren wird. In unserem Beispiel wird die Root-Site "d8multisite" heißen, erreichbar unter d8multisite.com und installiert in /var/www/d8multisite.

2. Erstellen Sie eine Site in der Multisite namens site1, erreichbar unter site1.d8multisite.com

3. Richten Sie site1 so ein, dass es eigene Module außerhalb der Root-Site hat.

Schritt 1: Erstellung der Master-Site

Um zu beginnen, installieren Sie eine Drupal 8-Kopie auf Ihrem Server. Lesen Sie die Drupal 8 Installationsdokumentation, falls Sie damit nicht vertraut sind.

In diesem Beispiel installieren wir Drupal mit folgenden Schritten:

1.1: Erstellen Sie eine Datenbank für die Multisite-Root-Site, z.B. d8multisite.

1.2: Laden Sie eine Drupal 8-Kopie herunter und entpacken Sie sie in Ihr Webverzeichnis.

1.3: Erstellen Sie eine Virtual-Host-Konfiguration für die Root-Site. Lesen Sie über Virtual-Host-Konfigurationen. Beispiel einer Apache Virtual-Host-Konfiguration; für Nginx siehe das offizielle Rezept.

<VirtualHost *:80>

  # Virtual-Host-Konfiguration für Drupal 8 Multisite Root-Site

  ServerAdmin me@domain.com
  DocumentRoot /var/www/d8multisite
  ServerName d8multisite.com
  ServerAlias www.d8multisite.com

  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

  <Directory /var/www/d8multisite>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/d8multisite_error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/d8multisite_access.log combined

</VirtualHost>

1.4: Installieren Sie Drupal, indem Sie d8multisite.com im Browser besuchen und dem Installationsassistenten folgen.

Schritt 2: Erstellen Sie die erste Site in der Multisite

Nachdem die Root-Site eingerichtet ist, können wir die erste Site mit dem Namen site1 konfigurieren. Hier die Schritte:

2.1: Erstellen Sie den Ordner für site1 in der Multisite: /d8multisite/sites/site1.d8multisite.com

2.2: Erstellen Sie eine Datenbank für site1, z.B. d8multisite_site1

2.3: Kopieren Sie /d8multisite/sites/example.sites.php als /d8multisite/sites/sites.php

2.4: Bearbeiten Sie sites.php, sodass das Ende des Files so aussieht:

# die Root Drupal-Site für site1 bekannt machen:
$sites['site1.d8multisite.com'] = 'site1.d8multisite.com';

2.5: Erstellen Sie einen Virtual Host für site1. Beachten Sie, dass dieser Virtual Host auf die Root-Site zeigt, nicht auf einen Unterordner. Alternativ können Sie auf eine eigene Virtual-Host-Konfiguration verzichten und site1 als ServerAlias für die Root-Site angeben. In diesem Apache-Beispiel erstellen wir jedoch einen separaten Virtual Host für site1:

<VirtualHost *:80>
  ServerAdmin me@domain.com
  DocumentRoot /var/www/d8multisite
  ServerName site1.d8multisite.com

  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

  <Directory /var/www/d8multisite>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/site1-d8multisite_access.log combined

</VirtualHost>

2.6: Kopieren Sie /d8multisite/sites/default/default.settings.php in den neuen Site-Ordner als settings.php:

#from dem Drupal-Stammordner
cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php

2.7: Schließen Sie die Drupal-Installation für site1 ab, indem Sie die Domain site1.d8multisite.com im Browser besuchen.

Sie können diese Schritte wiederholen, um weitere Sites in Ihrer Multisite-Installation anzulegen. Sie können auch Domains wie example.com und site1.anotherdomain.com verwenden. Mehr zu Domains, URLs und Unterordnernamen für Sites.

Schritt 3: Module für jede Site aktivieren

Manchmal möchten Sie, dass eine Site innerhalb Ihrer Multisite eigene Module hat. Dafür erstellen Sie einfach die entsprechenden Ordner im jeweiligen Site-Verzeichnis. Siehe Multisite-Ordnerstruktur in Drupal 8.

In unserem Beispiel erlauben wir site1 eigene Module:

1. Erstellen Sie den Ordner modules im Unterordner site1: /d8multisite/sites/site1.d8multisite.com/modules

2. Geben Sie Apache Schreibrechte für diesen Ordner, z.B. mit chown www-data /d8multisite/sites/site1.d8multisite.com/modules

3. Testen Sie es:
         1) Wechseln Sie aus dem site1-Unterordner in die Root-Site und laden Sie das Modul Pathauto mit drush: drush dl pathauto

         2) Wechseln Sie in den site1-Unterordner und laden Sie das Modul ds mit drush: drush dl ds

         3) Besuchen Sie beide Sites und prüfen Sie:
                            - Pathauto ist auf beiden Sites verfügbar
                            - Display Suite ist nur auf site1 verfügbar

Hinweis: Das Gleiche gilt für Themes, Bibliotheken und Dateien. Hier ist jedoch noch weiteres Testen und Dokumentieren erforderlich.

Drush in Multisite verwenden

Sie können die Option -l verwenden:

drush -l example.com befehl

Oder einen Site-Alias:

drush @alias befehl

Um zu sehen, welche Aliase verfügbar sind, führen Sie aus:

drush site:alias

Ein Beispielauszug könnte sein:

@sub1.dev ':
   root: /var/www/mydomain.com/web
   uri: «https://sub1.mydomain.com»
@default.dev ':
   root: /var/www/mydomain.com/web
   uri: «https://sub2.mydomain.com/»
@third.dev ':
   root: /var/www/mydomain.com/web
   uri: «https://thirddomain.com»

Und ein korrekter Drush-Befehl könnte sein:

drush @sub1 updb

Hinweis: Wir verwenden „.dev“ nicht im Alias.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.