logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement
05/07/2025, by Ivan

Le guide suivant couvre les étapes nécessaires à la configuration d’un multisite Drupal 8. Ce guide est en cours de développement, seuls quelques exemples de configurations sont présentés. D’autres options sont disponibles, telles que HTTPS, d’autres serveurs web et bases de données, ainsi que des configurations de virtual hosts plus avancées, etc.

Cependant, il convient de noter que l’utilisation du système d’hébergement Aegir est recommandée. Il effectue tout le travail lourd pour vous, en utilisant des pratiques modernes sécurisées, incluant la configuration automatique des virtual hosts pour Apache et Nginx, l’ajout du support HTTPS, l’exécution de commandes Composer, etc. Voir la documentation sur la configuration des « plateformes », terme Aegir pour base de code multisite.

Vue d’ensemble du processus :

1. Installez une instance Drupal 8 qui servira de site racine pour votre instance multisite. Dans notre exemple, le site racine s’appellera d8multisite, sera accessible via d8multisite.com et sera installé dans /var/www/d8multisite.

2. Créez un site multisite nommé site1, accessible via site1.d8multisite.com

3. Configurez site1 pour qu’il dispose de ses propres modules en dehors du site racine.

Étape 1 : créer le site maître

Pour commencer, installez une copie de Drupal 8 sur votre serveur. Consultez les documents d’installation de Drupal 8 si vous n’êtes pas familier.

Dans cet exemple, nous installons Drupal avec les étapes suivantes :

1.1 : Créez une base de données pour le site racine multisite, par exemple : d8multisite.

1.2 : Téléchargez et extrayez une copie de Drupal 8 dans votre répertoire web.

1.3. Créez une définition de virtual host pour le site racine. Lisez à propos des configurations de virtual hosts. Exemple de configuration Apache VirtualHost : pour Nginx, voir la recette officielle.

<VirtualHost *:80>

  # Configuration du virtual host pour le site racine multisite Drupal 8

  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 : Installez Drupal en visitant d8multisite.com et en suivant l’interface d’installation.

Étape 2 : configurer le premier site multisite

Maintenant que le site racine est configuré, nous pouvons commencer à configurer notre premier site nommé site1. Voici les étapes :

2.1. Créez un dossier pour site1 dans votre multisite : /d8multisite/sites/site1.d8multisite.com

2.2 : Créez une base de données pour site1, par exemple : d8multisite_site1

2.3. Copiez /d8multisite/sites/example.sites.php en /d8multisite/sites/sites.php

2.4 : Modifiez sites.php pour que la fin du fichier ressemble à ceci :

# faire connaître le site racine Drupal au site1 :
$sites['site1.d8multisite.com'] = 'site1.d8multisite.com';

2.5 : Créez un virtual host pour site1. Notez que ce virtual host doit pointer vers le site racine, pas vers son sous-répertoire. Notez également que vous pouvez ne pas créer une nouvelle configuration virtual host et simplement utiliser site1.d8multisite.com comme ServerAlias du site racine. Dans cet exemple Apache, nous créons cependant un virtual host séparé pour 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. Copiez /d8multisite/sites/default/default.settings.php dans le répertoire du nouveau site sous le nom settings.php :

# depuis le dossier racine Drupal
cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php

2.7 : Terminez l’installation Drupal pour site1 en visitant le domaine du site.

Vous pouvez répéter ces étapes chaque fois que vous souhaitez créer un site dans votre multisite. Vous pouvez également utiliser des domaines tels que example.com et site1.anotherdomain.com. Pour en savoir plus sur les domaines, URL et noms de sous-répertoires des sites.

Étape 3 : activer des modules pour chaque site

Dans certains cas, vous pouvez vouloir qu’un de vos sites multisites ait ses propres modules. Pour ce faire, il suffit de créer les dossiers correspondants dans le dossier du site ciblé. Voir Structure des dossiers multisite dans Drupal 8.

Dans cet exemple, nous permettons à site1 d’avoir ses propres modules :

1. Créez un dossier « modules » dans le sous-répertoire site1 : /d8multisite/sites/site1.d8multisite.com/modules

2. Donnez à Apache un accès en écriture sur ce dossier avec la commande chown www-data /d8multisite/sites/site1.d8multisite.com/modules

3. Testez ceci :
         1) Depuis le sous-répertoire site1 (donc dans le site racine), installez le module Pathauto avec Drush : drush dl pathauto

         2) Allez dans le sous-répertoire site1 et installez le module ds avec Drush : drush dl ds

         3) Visitez les deux sites et vérifiez :
                           - Pathauto est disponible sur les deux sites
                           - Display Suite est disponible uniquement sur site1

Note : on suppose que cela fonctionne aussi avec les thèmes, bibliothèques et fichiers. Un test et une documentation supplémentaires sont nécessaires ici.

Utilisation de Drush dans un multisite

Vous pouvez utiliser l’option -l :

drush -l example.com commande

ou un alias de site :

drush @alias commande

Pour vérifier les alias disponibles, exécutez :

drush site:alias

Un exemple de sortie pourrait être :

@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»

Une commande Drush appropriée pourrait être :

drush @sub1 updb

Note : nous ne mettons pas « .dev » dans l’alias.