Hébergement plusieurs sites drupal

Il y a plusieurs raisons pour lesquelles un administrateur ou un développeur de systèmes peuvent choisir d'héberger plusieurs sites sur le même serveur dans une configuration multisite. Par exemple, une telle configuration pourrait:

  • Vous permettre de construire un environnement de développement efficace
  • Permettez-vous de mettre en scène et de tester un site avant qu'il ne devienne publique
  • Laissez-vous exécuter un autre logiciel sur le même site
  • Activez le partage d'une base de code unique sur plusieurs sites
  • Effet de levier hébergement mutualisé
  • Permet d'exécuter des sites similaires sécurisé (HTTP via Secure Sockets Layer [HTTPS]) et standard (HTTP) sur le même serveur
  • Facilité l'administration du serveur

Toutes ces raisons, cependant, sont mieux traitées avec la fonctionnalité multisite de Drupal. Cet article se concentre sur une seule stratégie: comment utiliser le soutien de Drupal multisite intégré pour créer et servir plusieurs sites d'une instance de Drupal.

Hébergement plusieurs sites base de données Drupal, l'installation pourrait

considérations de base

L'utilisation du système de gestion de contenu Drupal (CMS) pour créer une configuration multisite présente plusieurs avantages distincts, dont l'un est qu'il est probablement la configuration la plus facile à installer et à entretenir. Une autre est que la duplication des données est réduite au minimum parce que Drupal est installé dans un seul endroit sur votre serveur. Enfin, Drupal a une multitude de modules ont contribué qui peuvent être utilisés pour augmenter la manutention multisite, offrant des fonctionnalités avancées à tous les sites de l'arrangement. La combinaison des caractéristiques et de l'administration simplifiée serait une aubaine pour tous ceux qui veulent mettre en place et administrer un arrangement multisite. Néanmoins, il y a quelques inconvénients à utiliser une telle configuration, et deux en particulier méritent une mention claire: la sécurité et le partage.

Les sites dans une installation multisite partagent le même code et donc les mêmes fichiers. En conséquence, toute personne qui a accès au système de fichiers du serveur pour un site a également accès à tous les fichiers utilisés pour tous les sites sur cette installation multisite. Par conséquent, dans les cas où différentes personnes gèrent différents sites au sein de l'arrangement, il ne peut pas être tout à fait sûr. Si la sécurité entre les sites est une question primordiale, ou si différentes personnes gèrent les différents sites, la fonctionnalité multisite intégrée de Drupal peut ne pas être la meilleure solution. Au lieu de cela, envisager de donner chaque site sa propre instance distincte Drupal. Bien que les avantages de l'administration plus facile que les offre d'arrangement multisites seront perdues, vos sites seront mieux protégés contre les mésaventures.

La deuxième préoccupation - partage - centres autour de l'accès aux bases de données. Même si les multisites de Drupal partagent le même code source, ils ne partagent pas les mêmes données de base de données. Ainsi, les noeuds, les utilisateurs et les commentaires dans un site ne sont pas accessibles par défaut à partir d'autres sites. Ce comportement peut effectivement être considéré comme une bonne chose, mais dans des situations où l'administrateur peut exiger que tous les sites de partager des informations, il peut être une limitation pour la conception de fonctionnalité multisite de Drupal. Néanmoins, le sweet spot pour le soutien de Drupal multisite intégré est que les modules, les thèmes, et même dans une certaine mesure, les fichiers téléchargés peuvent être partagés entre tous les sites. En outre, les mêmes fichiers ou personnalisés peuvent être conservés dans des dossiers différents correspondant aux différents sites de la configuration. S'il est important que tout le contenu soit partagé, pensez à utiliser une fonctionnalité multidomaine, qui est facilement assurée par un module du même nom.

hébergement

Installation Drupal pour une utilisation multi-sites

Après avoir téléchargé l'archive Drupal (voir les rubriques connexes pour un lien), extraire le fichier et copiez le dossier résultant à la racine de documents de votre serveur web. Cette tâche n'est pas difficile avec un client FTP approprié; avec accès Secure Shell (SSH) à votre serveur, la tâche est encore plus facile. Il suffit de lancer une commande wget pour télécharger le fichier d'archive à partir du référentiel, et l'extraire pour produire le dossier d'installation de Drupal. (Si votre environnement de développement est local, en se pour plus d'options.) Nommez le dossier d'installation / goodsite.

Trois sites seront créés pour cet exercice; Par conséquent, il faut trois bases de données différentes - un pour chaque site. En utilisant phpMyAdmin du cPanel de votre serveur, cette tâche est facile à réaliser. Ensuite, installez le cadre. Cependant, deux tâches doivent être effectuées, avant d'utiliser votre navigateur Web pour exécuter le programme d'installation:

  • Fournir Drupal avec les informations dont il a besoin sur les sites que vous souhaitez exécuter.
  • Transmettre les données de configuration spécifiques au site de Drupal à tous les sites.

Pour atteindre la première tâche, créez un répertoire spécial pour chaque site. Pour la seconde, recherchez un fichier de paramètres dans chaque répertoire. L'objectif est de mettre en place une installation maître avec deux sous-sites. Chaque sous-site partage les mêmes fichiers que le noyau, mais chacun aura son propre URL et base de données séparée. Les URL des sites à créer sont les suivants:

Installation du premier hôte

Après avoir placé le code source Drupal dans la racine du document et créé les bases de données MySQL, commencez l'installation du premier site et le domaine maître.

Le domaine maître

Ce nom de domaine maître est l'URL à partir de laquelle le site principal sera accessible (dans cet article, goodsite.com). Le but principal du domaine principal est d'organiser l'installation de la base Drupal. Peu importe si ce domaine est utilisé comme l'un de vos sites, le cas échéant sous-sites échoue, leurs URL par défaut le domaine maître; Par conséquent, il est une bonne idée que ce site contient des informations pertinentes aux sous-sites, tels que les informations de contact.

Comme mentionné précédemment, un sous-dossier doit être créé dans le dossier principal Drupal pour chaque sous-site. Ce que beaucoup pourrait imaginer la tâche la plus difficile dans l'installation multisite Drupal est tout simplement la routine: Que Drupal savoir quels sites vous souhaitez héberger, et il suffit de créer des sous-dossiers pour ces sites dans le dossier / sites.

Dans le dossier racine principal Drupal est un répertoire appelé / sites. Si vous avez administré Drupal, vous savez tout le code non-core devrait résider dans ce dossier. Dans l'installation par défaut de Drupal, le dossier / sites contient deux répertoires. Le premier, appelé tout /, est l'endroit où vous devez mettre les thèmes et les modules téléchargés. Le all / est l'emplacement pour des informations partagées sur tous les sites. Le deuxième dossier, le nom / par défaut, est l'endroit où les fichiers de configuration doivent être conservés, ainsi que des thèmes et des modules non stratégiques et personnalisés. Drupal recherche généralement par défaut / répertoire des informations de configuration du site, à moins qu'il est chargé autrement. Notez toutefois que ce sont des hypothèses pour un générique, un seul site hôte - pas nécessairement pour une installation multisite.

Création des sous-dossiers et fichiers

Un grand conseil pour la construction multisite Drupal est que, en dehors de la all / et default / dossiers, d'autres dossiers peuvent être créés dans / sites et Drupal leur attribuer une signification particulière. Plus précisément, Drupal suppose que tous les autres répertoires trouvés dans le dossier / sites représentent un nom d'hôte ou un motif de nom d'hôte.

Vous créez un sous-dossier dans le motif / goodsite / sites / dans le dossier / sites pour tous les sous-sites, en remplaçant votre URL destinée au nom de chaque dossier sous-site. Dans cet exemple, vous avez les sous-sites suivants, comme le montre la figure 1.

Pour chaque sous-site, procédez comme suit:

  1. Copiez le fichier default.settings.php à partir de sites / défaut à chaque dossier sous-site, et le renommer settings.php.
  2. Utilisez chmod pour définir l'autorisation sur settings.php à 644, si ce n'est pas l'autorisation actuelle.
  3. Pour une installation Drupal, la version 6, créez un dossier nommé fichiers dans chaque sous-site, et utiliser chmod pour modifier l'autorisation de 755.

Ceci est un dossier dans lequel Drupal est capable d'écrire le contenu - généralement, fichiers téléchargés, les vignettes d'images, agrégée feuille de style en cascade (CSS), et les fichiers JavaScript. Ces fichiers ne sont pas stockés dans la base de données, mais plutôt dans le système de fichiers, vous devez donc avoir un répertoire dans lequel ces fichiers peuvent résider.

Par défaut, Drupal cherche un sous-répertoire nommé fichiers / dans le répertoire de chaque site. Dans une installation par défaut de Drupal, ce dossier serait dans les sites / default / files /.

  • Créez un dossier appelé modules pour chaque sous-site.

    Ceci est le dossier dans lequel des modules spécifiques à ce sous-site résident. Tous les modules que tous les sites utiliseront devraient résider dans les sites / all / modules dossier.

  • Créez un dossier thèmes pour chaque sous-site.

    C'est là des thèmes propres à ce sous-site sont placés. Tous les thèmes que tous les sites utiliseront devraient résider dans des sites / all / thèmes.

    Maintenant, pointez les URL sous-site à votre serveur Web, si elles ne sont pas gérés par la même société d'hébergement. Si vous utilisez des hôtes différents pour les différents sites, vous aurez besoin de modifier les informations système de noms de domaine (DNS) (les deux bureaux d'enregistrement et les sociétés d'hébergement devraient être en mesure de vous dire comment le faire). Par la suite, vous devrez « garer » ce domaine au-dessus de votre domaine principal - dans ce cas, goodsite.com. De ce point, vous avez quelques alternatives, plus difficile qui implique l'utilisation de ce qu'on appelle un lien symbolique. Le stationnement est cependant beaucoup plus simple,; donc dans votre cPanel, cliquez sur Domaines parqués. Ajouter bettersite.com et bestsite.com dans un nouveau nom de domaine. puis cliquez sur Ajouter un domaine.

    Création des multisites

    Il y a plusieurs façons d'aller d'ici, mais encore une fois, nous allons prendre la route la plus facile: charger directement la base de données pour chaque sous-site avec les tables créées dans l'installation du site principal. Pour ce faire, vous devez créer un dump des tables de base de données de l'installation du site principal et l'enregistrer localement. Ensuite, soit télécharger ce fichier avec phpMyAdmin ou l'ouvrir dans un éditeur de code. Pour utiliser la deuxième option, effectuer ces tâches dans phpMyAdmin:

    1. Accédez à la base de données créée pour le sous-site.
    2. Aller à SQL. puis coller tout le code de la Structured Query Language (SQL) de vidage là-bas.
    3. Cliquez sur Go.
    4. Cette procédure reproduit les tables de base de données du site principal dans la base de données sous-site.

      Ensuite, ouvrez le fichier settings.php pour chaque sous-site, et recherchez la ligne suivante:

      Modifier cette base de données chaîne de connexion pour refléter les paramètres de la base de données sous-site (nom d'utilisateur, mot de passe, nom d'hôte, nom de base de données). Maintenant, si vous allez à bettersite.com, vous devriez obtenir la norme « Bienvenue sur votre nouveau site Drupal » page, comme le montre la figure 2. Répétez ces étapes pour tous les sites.

      Création d'multisites de sous-domaines

      Il y a une autre façon de créer rapidement multisites par d'abord les détails comme sous-domaines de la cPanel. Dans cette méthode, cependant, vous devez d'abord créer des dossiers pour chaque site sous / goodsite / sites, cette fois en utilisant la convention suivante (voir figure 3):

      Notez que les dossiers de sous-domaine doivent avoir les mêmes noms que les sous-domaines eux-mêmes. Comme précédemment, mettre une copie de default.settings.php dans chaque dossier sous-domaine, changer le nom du fichier à settings.php. et numéro chmod pour modifier l'autorisation de 644.

      Maintenant, retournez à Cpanel et créer deux sous-domaines:

      Créer un lien symbolique

      Un lien symbolique est un fichier qui contient une référence à un autre fichier ou répertoire sous la forme d'un chemin absolu ou relatif et est conçu pour affecter la résolution du nom de chemin d'accès. Utilisez un éditeur de code pour créer un fichier appelé symlink.php. puis ajouter un code similaire à ce qui suit:

      Dans ce cas, le fichier ressemblerait à quelque chose comme ceci:

      Mettez ce lien symbolique dans le répertoire principal du site principal, et l'exécuter à partir de la goodsite.com/symlink.php URL. Si la syntaxe de code est bon, vous devriez voir une page blanche; sinon, vous verrez des messages d'erreur. Tweak le code dans ce fichier jusqu'à ce qu'il soit correctement.

      configurer .htaccess

      Maintenant, ouvrez le fichier .htaccess dans un éditeur de code. Recherchez la ligne suivante:

      Supprimez le signe dièse (#), et ajoutez la ligne suivante avant d'enregistrer les changements:

      Voici ce que .htaccess devrait ressembler lorsque vous avez terminé:

      Cette redirection permet à la fois goodsite.com/bettersite et bettersite.goodsite.com pour être redirigé vers le même site. Si tout a été fait correctement, vous serez redirigé vers la page d'installation lorsque vous accédez au sous-site URL bettersite.goodsite.com et bestsite.goodsite.com.

      Avec tous les sites installés, il est facile de l'Cpanel d'associer le bettersite.goodsite.com du site en utilisant une redirection vers la bettersite.com URL.

      Multisites sur un hôte local Ubuntu en cours d'exécution

      Exécution d'une installation multisite sur Ubuntu est un peu plus compliqué que ce que vous avez fait jusqu'à présent pour l'hébergement à distance. Une installation multisite peut facilement être configuré en utilisant le procédé décrit dans les sections suivantes.

      Créer un nouveau dossier hôtes

      Commencez par créer un dossier appelé goodsite dans votre dossier de base en utilisant le code suivant:

      Le résultat devrait être -> / home // Goodsite.

      Maintenant, copiez tous vos fichiers Drupal dans ce dossier.

      Modifiez le fichier hosts

      Éditer le fichier d'hôtes en ouvrant une fenêtre de terminal avec la commande suivante:

      Vous pouvez ensuite ajouter un nom de site dans le format 127.0.0.1 mysite.com. Pour cet exemple, ajoutez les lignes suivantes:

      Modifier les emplacements disponibles

      Maintenant, allez dans le dossier sites disponibles pour créer un fichier appelé goodsite.com en utilisant les commandes suivantes:

      La première commande va dans le dossier des sites disponibles; la deuxième commande copie le fichier par défaut et rebaptise goodsite.com. La troisième commande ouvre le fichier goodsite.com pour l'édition. Ajoutez le code dans le Listing 1 au fichier.

      Enregistrer goodsite.com, activer, puis recharger Apache en utilisant les commandes suivantes:

      Créer des sous-dossiers site

      Créez votre sous-site dans le dossier / sites / home / [votre nom de connexion ubuntu] /goodsite/sites/bettersite.com, puis ajoutez settings.php dans le nouveau dossier. Si vous avez déjà navigué aux sites /, copiez le fichier settings.php avec la commande suivante:

      Exécuter l'installation sous-site

      Ouvrez votre navigateur, puis tapez bettersite.com. Vous devriez voir la page de configuration d'installation. Faire de la lecture seule à nouveau fichier settings.php pour éviter les messages de sécurité, puis exécutez l'installation sous-site.

      Ensuite, créez un dossier de site et exécuter l'installation de bestsite.com ainsi que tous les autres sous-sites mentionnés dans votre configuration des hôtes.

      modules multisites

      Les modules sont utilisés pour étendre les fonctionnalités d'une installation Drupal de base et sont disponibles dans diverses catégories, de fonctionnalités d'administration à la performance réelle amélioration. Plusieurs modules peuvent aider à créer une configuration multisite ou similaire. Pour plus de détails sur l'utilisation de ces modules, consultez la documentation d'installation pour chaque module.

      Les modules de domaine d'accès

      Les modules de domaine d'accès (voir Rubriques connexes pour un lien) permettent la création d'un multisite à l'aide d'une base de code unique, une base de données utilisateur partagé et signe sur les bases de données, mais avec différents contenus partagés. Une telle configuration est différente de ce que nous avons fait dans cet article. Domaine d'accès est en fait décrit comme un ensemble de modules qui facilitent l'exécution d'un groupe de sites à l'aide d'un code Drupal de base installé à l'intérieur d'une seule base de données partagée. Ces modules permettent tous les sites de partager les utilisateurs, le contenu et les paramètres si elles ont été préconfiguré pour fonctionner de telle façon. Les modules de domaine d'accès utilisent système d'accès aux nœuds de Drupal pour établir le contenu qui doit être mis à disposition sur chaque site dans l'arrangement multisite. Les modules, contrairement à d'autres modules multidomaines, contrôlent également l'accès des utilisateurs sur la base du domaine actif, l'utilisateur visualise, non sur la base du groupe ou d'un site auquel appartient l'utilisateur.

      Le module Gestionnaire multisite

      Le gestionnaire multisite (voir Rubriques connexes pour un lien) est un module qui permet la création a contribué de nouveaux sites Drupal à partir d'une base de site Drupal sans avoir besoin d'accéder à la base de données d'installation. Par défaut, le nouveau site est installé dans la même base que l'installation de base, mais avec un préfixe différent. Dans le cas contraire, si l'utilisateur a l'autorisation d'accès pour créer une base de données, l'installation pourrait être fait dans cette base de données.

      Conclusion

      Cet article a exploré comment créer une configuration multisites utilisant Drupal comme base CMS. Vous avez installé le site principal et localisé les sous-sites dans sa structure de répertoire. Vous avez appris à exécuter des installations multisites sur un serveur distant en utilisant les services administratifs de votre société d'hébergement fournit. Vous avez également appris comment créer une installation multisite sur une machine locale - en particulier, sur un ordinateur exécutant Ubuntu Linux®. Cet article a également introduit deux modules Drupal qui peuvent vous aider dans la création des deux configurations multi-sites et multi-domaines.

      Articles Liés

      Multi sites d'hébergement drupalSi vous utilisez plus d'un site Drupal, vous pouvez simplifier la gestion et pouvez mettre à jour vos sites en utilisant la fonction multi-site. Multi-site vous permet de partager un seul Drupal ...
      Deux sites d'hébergement sur un serveur wordpressfonction multisite Si vous voulez plusieurs blogs utilisant WordPress, utilisez la fonction multisite pour créer ce qui a été appelé un réseau de sites. Cette fonctionnalité a été mise en œuvre par la fusion WordPressMU ...
      pages Printer friendly d'hébergement drupalDrupal est un système de gestion de contenu robuste qui fonctionne sur un serveur LAMP. Le serveur LAMP utilise MySQL par défaut, mais PostgreSQL peut également être utilisé avec Drupal. Il peut accueillir des blogs, des forums et un ...
      Tous les modules d'hébergement drupal31 janvier 2017 j'avais commencé cette série avec un poste sur les fonctionnalités seront évaluées lors de la sélection des solutions d'hébergement de bricolage Drupal. Nous allons commencer par le plus simple et le plus tôt ...
      hébergement de site Drupal multiplesBonjour et bienvenue. Je suis en plusieurs sites en utilisant la fonction multisite de Drupal, et a remarqué l'absence d'un groupe pour discuter des diverses questions et comment-tos liés à faire. Si quelqu'un a ...