Les configurations multi-sites sont un peu délicates en raison de leur dépendance à la même base de code. Vous pouvez utiliser une configuration multi-sites dans ce scénario, mais gardez à l'esprit que lorsque vous mettez à niveau un module dans sites/all/modules
, cela affectera tous les sites (sauf si remplacé sites/$SITENAME/modules
).
Cela conduit à des problèmes potentiels lorsqu'un de vos sites s'appuie sur la version N d'un module, mais que vous souhaitez utiliser N + 1 sur un autre site. Le module en question pourrait ne pas avoir de chemin de mise à niveau, ou il pourrait avoir radicalement changé sa fonctionnalité entre les versions (pas aussi rare que vous pourriez le penser, étant donné la culture Drupal vers les versions principales).
De plus, si des modifications critiques de la base de données sont nécessaires lors d'une mise à niveau du module, vous constaterez que vous devez supprimer plusieurs sites en même temps pour vous assurer que vous exécutez update.php
.
Donc, pour la plupart des cas d'utilisation, le multisite n'est pas la solution. À moins que vous ne soyez vraiment à court d'espace ou que vous ayez une restriction d'hébergement étrange qui vous empêche de mapper le domaine de chaque site dans un dossier séparé, vous feriez probablement mieux de maintenir des bases de code distinctes et d'utiliser des outils comme Drush et le contrôle de version pour accélérer le code déploiement.
Le cas d'utilisation prototypique du multisite, en dehors de son utilisation comme solution de contournement pour les hôtes restrictifs, est lorsque vous déployez une tonne de sites extrêmement similaires. Vous pourriez être en train d'exécuter un service d'hébergement, ou de créer un tas de micro-sites pour une entreprise, ou quoi de plus. Dans ces cas, vous pouvez rouler votre propre configuration multisite, mais vous devriez également envisager d'utiliser Aegir , qui automatise et résume beaucoup de tracas liés à l'exécution d'une telle configuration.
L'ajout de nouveaux sites à une configuration multi-sites est assez simple: créez un nouveau dossier sous sites
, modifiez sites/sites.php
(Drupal 7 uniquement), copiez- sites/default/default.settings.php
le settings.php
dans ce nouveau dossier et visitez le site dans un navigateur. Drupal devrait commencer le processus d'installation et utiliser le nouveau dossier. Votre nouveau site aura accès à tous les modules sous, sites/all/modules
tout comme vos sites sortants.
git clone [email protected]:/base.git newsite
pour obtenir un environnement propre.J'utiliserais un site multi où vous avez une offre de contenu connexe mais pour différents publics.
Par exemple, nous l'utilisons pour notre intranet qui prend en charge plusieurs marques. Cela permet à chaque marque d'être administrée individuellement avec une option de partage de contenu / utilisateurs (gain de temps énorme sur la réduction de la duplication).
Le fait d'avoir une interface unique (menus / blocs / thématiques) contribue grandement à garantir que les différents services peuvent facilement accéder à ce qui est le plus important pour eux.
De nombreuses fonctionnalités sont disponibles à l'aide de l' accès au domaine, telles que permettre à un utilisateur de définir son site par défaut, différents sites par sous-domaine (vous pouvez donc avoir marketing.intranet.local ou engineering.intranet.local, etc.), rechercher entre les sites, contrôler l'accès, etc. .
la source