installation de Drupal en multisite sur un serveur mutualisé type free.fr

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.

Bonjour, je viens vers vous après avoir lu dans tous les sens le forum, mais je bloque, je ne trouve pas de solution à mon problème.

  • je souhaite installer Drupal en mode Multisite sur un serveur mutualisé (gildas.free.fr),
  • j'ai copier le dossier de Drupal 6 dans un repertoire : "gildas.free.fr/drupal/"
  • j'ai créer un dossier pour mon deuxième site :
    "gildas.free.fr/drupal/sites/gildas.free.fr.drupal.site2"
  • j'y est copié le fichier "default.settings.php" du dossier default que j'ai renommé en
    "settings.php" dans: "gildas.free.fr/drupal/sites/gildas.free.fr.drupal.site2/settings.php"

    - lorsque je tape "gildas.free.fr/drupal" dans mon navigateur pour l'installation de Drupal une page me propose de l'installer, j'imagine que c'est une lecture dans le dossier "../sites/default/". Je peux installer une version de drupal qui devient accessible via "gildas.free.fr/drupal"

    - mais, lorsque je saisi "gildas.free.fr/drupal/site2/" j'obtiens une erreur 404 (doc non trouvé...). Je ne peut pas installer mon deuxième site.

    - dans les forums, je cherchais une solution autour des liens symboliques, mais je ne peut pas effectuer une création de lien symbolique sur mon espace.

Merci pour votre aide,

Gildas

Version de Drupal : 

Voici la procédure à suivre.

supposons que ton site drupal est: monsite.com
dont les fichiers sont à la racine du site (example dans le dossier www)

1) configurattion de apache httpd.conf

Maintenant il faut configurer une entrée d'hôte virtuel dans httpd.conf.
c'est nécessaire pour localiser ton second site.

Cela ce fait avec la directive virtualHost..

ServerName monsite.com
ServerAlias *.monsite.com www.monsite.com
DocumentRoot "/home/www"

tu crée des sous domaine pour chaque site: site1, site2 ....
ceci te permetra ce saisir:

http://www.monsite.com -> site principal
http://monsite.com -> idem

http://site1.monsite.com -> 1 site secondaire
http://site2.monsite.com -> 2 site secondaire
....

donc on recapitule
si tu configurer peux apache et
créer des sous domaine avec ton hébergeur c'est parfait.
sinon autre j'ai pas la solution.

par contre tu peux avec le fichier .htaccess envoyé des requète au serveur apache.
regarde dans ce cas comment configurer un virtualHost avec ce fichier...

par contre pour le sous-domaine c'est avec l 'hébergeur vu que tu es en sous domaine chez free (gildas.free.fr) je sais pas si tu peux faire site1.gildas.free.fr ?

2) côté drupal

tu ajoute un nouveau repertoire dans le dossier sites pour chaque sous-site.
Chaque sous-site doit avoir son propre fichier settings.php et son dossier files

ainsi pour ton sous site1 tu dois avoir:

sites/site1.monsite.com/settings.php
sites/site1.monsite.com/files

site1.monsite.com = nom du dossier du sous site1

http://site1.monsite.com
Ainsi en tapant ce lien drupal va rechercher dans le dossier sites le site correspondant et chargé son fichier de paramtères.

Normalement tous dois marcher. cette procédure fonctionne
normalement si tu possède un hébergement web perso avec un nom de domaine perso

Par contre je ne sais pas si ça va marcher avec free vu que tu es déjà en sous domaine.
Au moins tu peux configurer apache avec .htaccess mais pour les sous-domaines je ne sais pas.

Salut Bilonjea et merci pour ta réponse,

En fait je suis hébergé en mutualisé en suisse mais bon ca ne change rien. Le problème c'est que j'ai pas accès à httpd.conf. Mais tu dis qu'il y a possibilité de le faire en htaccess donc c'est par là qu'il faut que je cherche une solution. En local c'est simple mais une fois chez l'hébergeur c'est plus compliqué, à moins de prendre du dédié.

Reésalut

Oui c'est sure qu'en mutalisé ça ce complique vu que tu n'as directement accès à
apache. La solution dans ce cas c'est le fichier htaccess pour configurer apache.

je vais regarde fichier htaccess de drupal peut être il ya une directive dédié
au multisite.

Rebonsoir toutane

J'ai peux etre trouvé la solution a ton pb.

Si tu as pu crée ton multisite en local
en suivant la procédure que je t'ai indiqué.

alors si tu regarde dans le dossier sites/default/files
tu trouvera un fichiers .htaccess que drupal génère automatiquement.

En effet j'ai +sieurs site hébergé en local un site normal et un multisite.
en naviguant dans l'arborescence, j'ai constaté que:

site normale: pas de .htaccess dans sites/default/files
multisite drupal a crée lui même .htaccess dans sites/default/files

j'ai regardé dedans et c'est à ce niveau qu'est gérer les directives
multisite

il suffit de copie ce fichier dans ton site
en respectant bien de le laisser dans sites/default/files/.htacces

en résumé tu as 2 fichier .htacces.
un à la racine de ton site drupal
un dans sites/default/files

Essaie ceci et dis moi si ça marche

ps:
Pour ton second site copie les fichiers
default.settings.php et renomme en settings.php
dans le dossier dédié au second site.

en effet j'ai remarqué que si tu copies directement
le settings de ton site principal
les deux sites seront liés car même settings
ce qui implique même base de données
sans différentier les données des 2 sites.

par contre si tue copie et renomme.
lorsque tu saisiras:
http://site1.monsite.com

Drupal d'offre la possibilité d'installé le second
site avec sa propre base de données
ou la même base mais un un préfixe site1_ par exemple
pour différentier les données des 2 sites.

J'espère que ceci va t'aider.

Salut toutanne

je viens de refaire les testes pour le multisite.

Apriori tu n'aurais pas besoin de configurer apache
ni de toucher au fichier .htaccess ni d'en crée dans
sites/default/files comme indiquer précédemment

Je reprends la procèdure que j'ai suivi

ton : monsite.com
avec les fichiers en racines

1) chez ton hébergeur

tu crée les sous domaine liés
aux sites secondaires.

site1 pour http://site1.monsite.com
site2 pour http://site2.monsite.com

2) côté drupal

ici rien ne change comme la première fois
je rappelle juste.

Dans le dossier sites tu créé un
dossier pour chaque sous-site.
Chaque sous-site doit avoir son propre
fichier settings.php et son dossier files

pour site1 tu dois avoir :
sites/site1.monsite.com/settings.php

sites/site1.monsite.com/files

site1.monsite.com = nom du dossier du sous site1

Ainsi en tapant http://site1.monsite.com
drupal va rechercher dans le dossier sites
le site correspondant et
va charger son fichier de paramtères.

Puis va de lancer la page d'installation
du second site etc.

Salut Bilonjea,

En fait mon problème vient du fait que mes noms de domaine sont différent www.tutu.com et www.kiki.com

ce que j'ai fait c'est que sur l'hébergement de tutu j'ai créer un sous-domaine dev.tutu.com. J'ai tout transféré chez dev.tutu.com et c'est là que je me dis que sans avoir accès au fichier httpdconf je peux pas lui dire que dev.kiki.com doit pointer sur dev.tutu.com

tu vois ce que je veux dire ?

Salut toutanne

Est ce que tu as essayé de faire une redirection web

de dev.kiki.com vers dev.tutu.com

a Priori dans l'interface de gestion de ton hébergement
tu peux faire des redirections web vers tes autres domaines ( c'est le cas avec le mien).

ça peut se faire en claire ou en transparence.

en redirigeant dev.kiki.com vers dev.tutu.com
:
si une personne tape http://dev.kiki.com
il atterri sur http://dev.tutu.com
ça c'est en claire

en transparence si une personne tape http://dev.kiki.com
il reste sur http://dev.kiki.com
mais en réalité
il est sur http://dev.tutu.com

Donc dans ton interface tu peux faire ces redirection ou le faire
avec .htaccess

voila pour les redirection; après je ne vois plus de lien avec le multisite?

salut toutanne

as tu essayé les redirection web

via ton interface de gestion de compte.

Moi je suis en mutualisé également.
Je peux faire des redirections.

Et même je peux faire du drupal multisite sans utiliser .htaccess
pour configurer le serveur apache

Il faut juste suivre la procédure que j'ai indiqué
et ça marche en local comme en ligne (faut juste créer des sous domaine
qui pointe vers la racine)

J'ai fait les test et ça marche sans pb.

Tiens moi informé

a+

Salut Bilonjea,

quand tu dis "faut juste créer des sous domaine qui pointe vers la racine", tu parle du lien $base_url qu'il faut renseigner pour qu'il pointe vers la racine. Peut etre que j'ai oublié un truc à ce niveau

a+

Toutanne

salut toutanne

J'étais un peux absent.

désolé j'ai pas été claire
je voulais dire en fait ceci:

ton site principal par exemple www.monsite.com est dans /www

Maintenant lorsque tu crée un sous domaine
depuis ton interface d’hébergement:
il te demande le dossier cible correspondant au sous domaine
il faut choisir comme dossier cible /www

par exemple site1.monsite.com dossier cible /www

même si ton sous site se trouvera dans /www/sites/site1.monsite.com

tu dois choisir comme cible la racine /www
car drupal se charge de retrouver le sous site
lorsque tu saisiras site1.monsite.com dans le navigateur.

malheureusement je peux pas choisir le dossier cible du sous-domaine. puis dans ma console d'admin du domaine kiki.com j'ai fait une redirection permanente sur tutu.com mais là il reste sur tutu.com.

On est bien d'accord que l'installation ce fait sur un seul domaine tutu.com. Le second domaine lui est simplement redirigé, juste?

si tu ne peux pas, cé bizarre.
est que l'un de tes domaines est attaché à un hébergement web?
c'est ki ton/tes hébergeurs?

peu être que les sous domaine sont par défaut lié au dossier à racine.
sinon si tu as crée ton sous site dans sites/site1.tutu.com avec son dossier files et fichier settings.php alors essayes de taper sur ton browser http://site1.tutu.com
pour voir si drupal reconnais le site.

si tu redirige kiki.com vers tutu.com
alors c'est tutu.com qu'on dois voire. sauf si tu fais une redirection avec l'option
en transparence. on va su tutu.com mais c'est kiki.com qui est visible sur
le navigateur.

oui l’installation est sur un seul domaine tutu.com.
Le second domaine lui est simplement redirigé.

dis les 2 domaines sont hébergé chez des fournisseur différents?

apparemment oui il les installes à la racine.

sinon mes deux sites sont hebergés chez le meme fournisseur. meme IP meme DNS

si je dev.mon1ersite.com ou j'ai fait l'install ca marche.

si je tape dev.mon2emesite.com là il me le trouve pas

Je suis chez swisscenter

c'est normale qu'il ne trouve pas.

car dans ton exemple tu as deux noms de domaines differents:
"mon1ersite.com et mon2emesite.com" et le même sous domaine "dev"

c'est pour quoi ça ne marche. chaque domaine possède son hébergement
Ce qu'il faut faire de créer +sieurs sous-domaines pour chaque domaine.

ainsi pour le domaine mon1ersite.com
tu crées les sous-domaines dev, papa, pierre par exemple
pour tes sous sites.

dev.mon1ersite.com dans le dosier sites/dev.mon1ersite.com
papa.mon1ersite.com site/papa.mon1ersite.com
pierre.mon1ersite.com idem

et là il les retrouvera

c'est ce que j'ai fait me semble t-il

pour mon1ersite
j'ai créer le sous-domaine dev.mon1ersite.com
dans le dossier sites/dev.mon1ersite.com et sites/dev.mon2emesite.com

et c'est là que j'ai tout installé

pour mon2emesite
j'ai créer juste le sous-domaine dev.mon2emesite.com que j'essaie de rediriger

c'est pas la bonne logique ?

ce pas claire tu melanges multisite et redirection web. tu as 2 nom de domaine mon1emesite.com et mon2emesite.com

<

h1>pour mon1emesite.com

<

h1>
pour y faire du multisite
tu installe drupal dans /www
tu crées autant de sous-dom que tu veux liée à mon1emesite.com

exemple : dev, doc ....

dans /www/sites tu crees les dossier de chaque sous-site
attaché au sous-domaine defini:

sites/dev.mon1emesite.com ok
sites/doc.mon1emesite.com ok
Mais:
sites/dev.mon2emesite.com echec
sites/doc.mon2emesite.com echec

cas ok: drupal reconnais mon1emesite.com
puis drupal est installé dans mon1emesite.com
donc il reconnait tous les sous-site
avec la terminaison xxx.mon1emesite.com

cas echec:
drupal ne reconnais pas mon2emesite.com
puis qu ils installé dans mon1emesite.com
alors tous les xxx.mon2emesite.com
ne seront pas reconnus.

<

h1>pour mon2emesite.com

<

h1>
tu installe drupal dans /www
tu crées autant de sous-dom que tu veux liée à mon2emesite.com

exemple : dev, doc ....

dans /www/sites
tu as les dossiers

sites/dev.mon2emesite.com ok
sites/doc.mon2emesite.com ok
mais:
sites/dev.mon1emesite.com echec

Maintenant faire des redirections de dev.mon1emesite.com vers dev.mon2emesite.com
c'est une autre questions et là ça ne dépend pas du multisite ni de drupal.

Du coup je ne comprend plus très ce que tu veux faire?

du coup suis perdu aussi.

en gros moi en local j'ai dezippé drupal j'ai créer directement dans sites/ un dossier www.mon1ersite.com et www.mon2emesite.com. Là j'ai lancé mes deux installs. J'ai ajouté les virtualhosts et ca fonctionne. En ligne du coup suis perdu.

Maintenant effectivement moi je te parlais avec sous domaine car je voulais tester avant de mettre en ligne, mais le principe reste le même.

Finalement si je comprends bien tu veux faire 2 installation de drupal.

Du coup c'est simple.
Tu mets drupal dans /www de www.mon1emesite.com
puis tu lance l'installations

Tu mets drupal dans /www de www.mon2emesite.com
idem

en gros tu installes drupal dans chaque hébergement web.

"du coup tu n as pas besoin de d'utiliser /sites car ce dossier sert
installer +sieurs sous-site sous 1 seul nom de domaine."

ok dans ce cas tu te base sur un seul nom de domaine:mon1emesite.com

Tu copie drupal une seule fois dans /www de www.mon1emesite.com
une fois copie drupal. tu lance l'installation.
si tous es ok.

tu passe à l étape suivante pour partagé le contenu:
dans ton interface d 'hébergement de mon1emesite.com
tu crées au moins un sous-domaines: dev.mon1emesite.com

puis tu vas dans le dossier /www/sites
tu crées le dossier dev.mon1emesite.com

dans ce dossier:
1) tu crées le dossier files
2)et tu copie le fichier default.settings.php et tu le renomme en settings.php
dans le dossier dev.mon1emesite.com

tu as donc
/www/sites/dev.mon1emesite.com/files
/www/sites/dev.mon1emesite.com/settings.php

Maintenant tu tape sur le navigateur:
http://dev.mon1emesite.com

il d'ouvrira une page d'installation du
second site (là tu choisi une base de donnée différente ce qui est conseillé)

Maintenant tu as 2 sites qui partage 80% des données vu que
tu as une seule copie de drupal.

tes 2 sites sont:
http://www.mon1emesite.com
http://dev.mon1emesite.com

si tout est ok

après fait moi signe

Maintenant que drupal est installés et que
tes 2 sites:partage 80% des données:
tu as donc
le site http://www.mon1emesite.com mis dans /www
le site http://dev.mon1emesite.com mis dans /www/sites/dev.mon1emesite.com

ceci dit, tu reparts dans le dossier /www/sites
tu crées le dossier mon2emesite.com

dans ce dossier :
1) tu crées le dossier files
2)et tu copie le fichier default.settings.php

et tu le renomme en settings.php
dans le dossier mon2emesite.com

tu as donc
/www/sites/mon2emesite.com/files
/www/sites/mon2emesite.com/settings.php

Maintenant tu tapes sur le navigateur :

http://mon2emesite.com

il t’ouvrira une page d’installation

essaye cela et tien moi au courant.
Normalement ça devrais marché tous seul

a priori non vu que les 2 domaines sont chez le même hébergeur
et que tu peux les utilisés pour héberger des sites attaché a chaque
domaine avec le même espace d'hébergement.

donc a priori pas de souci à ce faire.

donc tester la config et di moi si ça marche?

je te confirme que ya aucun souci si ton hébergeur
d'offre la possibilité d'un hébergement multi-domaines
c'est a dire plusieurs nom de domaines attaché au même espace disque.

moi je suis chez ovh et j'y possède 3 domaines et ça fonctionnent.

Or je viens de vérifier que ton hébergeurs

offre du multi-domaines.
tu peux voir ce lien
http://www.swisscenter.com/fr/web-hosting/multi-domains.html

donc pas de souci fait juste la manipe et dis moi?

alors, pour mon1ersite.com je suis en multisite.
il faudrait que je transfert mon2emesite.com chez mon 1ersite.com et là, comme tu dis, ca devrait jouer.

Mais avec tout ça je vais voir si je vais pas plutôt partir sur du dédié.

Alors dès lundi je saurais si dédié ou pas. Sinon je pars sur le multisite et te redis si ca a fonctionné.

Je voulais également te remercier pour ton aide et ta patience. J'ai trouvé très cool tes explications et tout.

Donc mille MERCI !! ;)

Merci, Ce gentil.

Normalement en mutualisé ça devrait marché. sans pb
Il suffit que ton offre d'hebergement ait l'option multi-domaine
or c'est le cas (swisscenter:)

puis il faut que des deux noms de domaines
tu les a acheté chez le même hébergeur.
Or il me semble des deux domaines sont chez swisscenter n'est-ce pas?
sinon si mon2emesite.com est chez un autre hébergeur: alors il faudra
changer les dns de celui-ci mettre ceux de l' hébergeur actuelle.

Puis il faudra dans ton espace de gestion activer peut être
l'option multi-domaine sur mon2emesite.com en choissant comme dossier cible /www
(là voie avec ton hebergeur comment activer le multi-domaine
la procédure peut varier selon les hébergeur)

puis aller si tu as créer les bons dossier dans /www/sites.

bon courage pour la suite
j'espère que ça va marcher