Art 2 - LogoInstallation multisite de Drupal

L’un des atouts majeur de Drupal réside dans la possibilité de faire du multisite, c’est à dire d’avoir plusieurs site qui tournent sur une seule installation de Drupal et surtout sur une seule base de donnée. Qu’est ce que ça change d’avoir une seule installations pour 15 sites et non 15 installations pour 15 sites?
Et bien ça change beaucoup de choses.

Tout d’abord la maintenance est beaucoup plus aisée: les mises à jour ne sont à appliquer qu’une seule fois pour l’ensemble des sites, ce qui fait un gain de temps considérable! Les mises à jour majeures de Drupal, les mises à jour des modules (régulières et nombreuses), les mises à jour des thème, ne sont à effectuer qu’une seule fois.
Ensuite cela peut faire des économies d’hébergement: les forfaits avec une base de donnée ne sont pas au même prix que ceux avec 10 bases. De plus, il y a un gain d’espace notable.
Enfin, le partage des ressources est facilité car vos modules et thèmes seront partagés par vos différents site. Sans oublier que l’ajout d’un site supplémentaire est vraiment très simple.

Mise en place:

- Installation d’un site principal:
Jusqu’ici rien de sorcier, il suffit d’installer un site basique comme nous l’avons vu dans le premier tutorial.

- Modification du fichier host/configuration DNS: host

Cette étape n’est nécessaire que si vous êtes en local: Il faut éditer le fichier host afin de faire pointer le nom de votre site sur votre machine. Lorsque vous serez en production, c’est le serveur DNS qui se chargera de tout ça. Modifiez donc le fichier /etc/hosts sous mac et unix, C:\Windows\system32\drivers\etc\hosts sous windows (voyez la simplicité unix !) et ajoutez la ligne

127.0.0.1 nom_de_votre_site

- Modification du fichier httpd.conf: httpd
Il faut ensuite ajouter un VirtualHost dans httpd.conf. Rendez vous à la fin de votre fichier de configuration de apache et ajoutez ceci:

{VirtualHost nom_du_site:port}
DocumentRoot /Chemin/vers/repertoire/drupal
ServerName nom_du_server
{/VirtualHost}

(remplacer les accolades par des chevrons, le filtre UTR les bloque :) )
N’oubliez pas de redémarrer votre serveur Apache pour que la manipulation soit prise en compte.

- Création du répertoire de votre nouveau site dans le dossier site:
Ce répertoire doit contenir un fichier settings.php qui vient d’être copié depuis le default.settings.php. Vous pouvez dès maintenant créer les dossiers modules et themes qui contiendront les modules et thèmes propres à votre site.

prefix_
Vous n’avez alors plus qu’à vous rendre à l’adresse de votre nouveau site et de lancer le processus d’installation. Attention, il y a cependant une différence avec une installation classique. Sur l’écran de configuration de votre base de donnée, dans les options avancées il faut spécifier un préfixe, c’est ce qui permettra à Drupal de différencier les tables d’un site à l’autre dans votre base. Ce préfixe est de la forme nom_du_site_ .

Ça y est, une fois l’installation terminée vous avez fini de mettre en place votre architecture multisite.
L’ajout d’un nouveau site se fera ensuite exactement de la même façon que précédement. Vous pouvez utiliser dès à présent le dossier all pour y placer les modules et themes que vous partagerez avec toutes vos installations. Les modules et themes propres seront quant à eux dans le répertoire spécifique du site.

Le résumé en vidéo:

J’attends vos questions/remarques/suggestions!