mardi 30 avril 2013

Drupal 7 multi-sites, alias via sites.php



L'utilisation de sites.php dans Drupal 7

Une seule installation de Drupal permet de prendre en charge plusieurs sites.

Mais comment gérer les alias de sites pour un domaine donné, et le passage du développement à la production ?

Version "old school", on se fait ça avec des bon vieux liens symbolique (ln -s).

Mais il y a plus propre: tout simplement à l'aide du fichier sites.php dans le répertoire sites de votre installation.

Le fichier n'existe pas ? pas de soucis, il suffit de le créer !

Imaginons que nous avons www.site.com et www.site.fr qui sont simplement le même site avec deux extensions de domaines, et beta.site.com qui est la version test de ce site.

Nous avons créé nos répertoires site et site_beta dans le répertoires sites (avec les installations respectives des 2 sites, voir installation de Drupal multisite par exemple ici)

Nous avons configuré notre fichier host local (/etc/hosts sous debian) et la conf apache pour y créer les serveurs virtuels site.localhost et site_beta.localhost qui pointent sur le dossier d'installation multi-sites de drupal en local.

Il suffit alors de créer le fichier sites.php contenant:

<?php
$sites=array(
  //site1 online
  'www.site1.com'=>'site1',
  'www.site1.fr'=>'site1',
  //site1 local 
  'site1.localhost'=>'site1',

  //site1beta online
  'beta.site1.com'=>'site1_beta',
  //site1 beta local 
  'site1_beta.localhost'=>'site1_beta'
);
?>
Attention: Il faut penser a créer une base de données du même nom et avec le même utilisateur en local qu'en production.



Aucun commentaire: