Configuration d'un multi-site

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut tlm

J'aimerais de l'information sur la configuration de drupal avec une session multisite. Je suis aller voir dans la documentation (http://www.drupalfr.org/document/configurer_plusieurs_sites_avec_la_meme...) mais il me manque un bout.

J'explique :
1. J'ai trois sites que j'aimerais placé dans une même installation de drupal
- par default : drupal.virtu-ose.net (sites/default/settings.php)
[code]
<?php
// $Id: settings.php,v 1.27 2006/04/24 19:25:37 dries Exp $

/**
* @file
* Drupal site-specific configuration file.
*/

/**
* Database settings:
*/
// Aide : http://gimpe.com/node/3
$db_url = 'mysql://user1:wordpass1@localhost/drupalvonet';
$db_prefix = '';

/**
* Base URL (optional).
*/
$base_url = 'http://drupal.virtu-ose.net'; // NO trailing slash!

/**
* PHP settings:
*
* To see what PHP settings are possible, including whether they can
* be set at runtime (ie., when ini_set() occurs), read the PHP
* documentation at http://www.php.net/manual/en/ini.php#ini.list
* and take a look at the .htaccess file to see which non-runtime
* settings are used there. Settings defined here should not be
* duplicated there so as to avoid conflict issues.
*/
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 2000000);
ini_set('session.gc_maxlifetime', 200000);
ini_set('session.save_handler', 'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags', '');
[/code]

- 1er site : test.cldhsl.ca (sites/test.cldhsl.ca/settings.php)
[code]

<?php
// $Id: settings.php,v 1.27 2006/04/24 19:25:37 dries Exp $

/**
* @file
* Drupal site-specific configuration file.
*
*/

$db_url = 'mysql://user2:wordpass2@localhost/cldhslca';

$db_prefix = '';

$db_prefix = array(
'default' => 'cldhslca.',
'users' => 'drupalvonet.',
'sessions' => 'drupalvonet.',
'role' => 'drupalvonet',
'authmap' => 'drupalvonet.',
'sequences' => 'drupalvonet.',
);

/**
* Base URL (optional).
*/
$base_url = 'http://test.cldhsl.ca'; // NO trailing slash!

/**
* PHP settings:
*
* To see what PHP settings are possible, including whether they can
* be set at runtime (ie., when ini_set() occurs), read the PHP
* documentation at http://www.php.net/manual/en/ini.php#ini.list
* and take a look at the .htaccess file to see which non-runtime
* settings are used there. Settings defined here should not be
* duplicated there so as to avoid conflict issues.
*/
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 2000000);
ini_set('session.gc_maxlifetime', 200000);
ini_set('session.save_handler', 'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags', '');

[/code]

= 2e site : mrchsl.com (sites/mrchsl.ca/settings.php)
[code]

j'attends savoiri comment faire pour le créer. :)
[/code]

La question est la suivante :
Quand je tape mon adresse url, où je dois diriger le répertoire (de bases web ou web home directory) dans mon serveur! Est-ce que je dois pointer test.cldhsl.ca sur sites/test.cldhsl.ca/ ou je le redirige vers le répertoire racine et drupal prend en charge le settings.php ?

Je ne sais pas si ma question est claire mais bon je comprends très bien l'exemple mais il me manque un bout pour brancher le répertoire de base à partir du dns. :)

salutation et bonne journée !

fred s.

Version de Drupal : 

Bonjour,
J'ai le même problème, pour la version 5.x

J'ai beau regarder les tutos en versions française et anglaise, je ne comprends pas très bien vers quoi faire pointer mes DNS :

J'ai installé mon site principal sitenumeroun.com sur mon serveur distant, dans mon répertoire /www/ . Il fonctionne bien.
J'ai rajouté un répertoire /www/sites/unautresite.com en respectant donc l'écriture du répertoire conforme à mon nom de domaine, et en y plaçant le fichier settings.php, édité avec les codes de connexion mysql et la ligne mentionnant sitenumeroun.com décommentée (dièse enlevée)

Mais là, je n'ai pas compris vers quoi je dois faire pointer mes DNS pour obtenir cet autre site unautresite.com :
- également vers /www/, sachant que Drupal doit reconnaître automatiquement le nouveau site ? --> c'est toujours sitenumeroun.com qui s'affiche
- vers /www/sites/ en espérant ce pointage automatique ? --> c'est le contenu du répertoire qui s'affiche
- vers /www/sites/unautresite.com/ --> c'est encore le contenu du répertoire qui s'affiche...

Merci pour les infos si vous avez résolu le problème (je vous le souhaite, car depuis un an...)

lionel

J'avais déjà les DNS du domaine qui pointaient vers le serveur. Je suis chez Nexen. Mais je n'ai pas accès à leur fichier host. (À moins que ce ne soit un fichier host de drupal, ce que je ne crois pas, et bien que je n'en ai pas trouvé.)

La possibilité chez nexen est de faire pointer chacun de mes domaines vers n'importe quel sous-répertoire. Et là, je ne sais pas vers quel sous-répertoire de Drupal.

Merci en tout cas

alors tu le fais pointer vers le meme répertoire que ton site principal

l objectif du multisite est d utiliser les meme fichiers que le site principal, comme cela une seule mise a jour et tous les sites le sont

Bonjour,
effectivement, c'est la solution, il faut que les redirections pointent dans la racine où il y a Drupal, et que le repértoire sites/ contienne des sous-répertoires dont le nom est identique au nom de domaine.

En cas de sous répertoires, rajouter des points supplémentaires.

Par exemple :
monsite.com/fr/ --> monsite.com.fr
monsite.com/en/ --> monsite.com.en
monsite.com/de/ --> monsite.com.de

En revanche, ce système semble introduire des erreurs au niveau des groupes et des accès. J'ai, pour mon cas, perdu ma page principale, inaccessible depuis une semaine (mais ça fera l'objet d'un autre post).

Pour ceux qui veulent approfondir :
* http://drupalfr.org/node/835 : Droits d'une BDD dans un multisite
* http://drupalfr.org/node/847 : Explications au sujet du fonctionnement multisite de drupal (bonnes explications d'Alfred)
* http://drupalfr.org/node/2049 : multi-sites sur le même nom de domaine
* http://drupalfr.org/node/2157 : multi-boutiques avec partage de base de données
* (http://drupalfr.org/forum/support/452-multisite_chez_un_hebergeur)