[resolu] Drupal Multisites Je rame...

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,

Etant un newbie sur druapl, je rame pour faire une installation multi-site de drupal.

J'ai essayé de suivre à la lettre un autre tuto du site mais il me manque quelque chose.

Alors voilà comment je procède :

Je prépare mon install de drupal comme d'habitude avec BDD et dossiers de base. (Au passage j'ai essayé d'installer la version 6.14, mais je n'arrive carrément pas installer les tables pour drupal alors qu'avec la 6.13 aucun pb, faut que je regarde si quelqu'un a déjà le problème, si vous avez une idée...)

je créé un dossier site1 et un dossier site2 dans le dossier sites et je copie le contenu du dossier default dans les deux.

J'efface le dossier default et je me rend sur l'adresse suivante : http://localhost/drupal/sites/site1 pour voir les droits et là erreur 403. J'ai donc regardé quelques forums qui disaient de mettre les droit en écriture sur les dossiers donc me voici dans windows à faire click droit et je change les droit à la mano et là rien (puisque qu'apache si j'ai bien compris ne permet pas le changement de droit dans des dossiers se trouvant dans www, ou un truc du genre).

Bref, j'ai vu qu'il fallait créer un fichier .htaccess et mettre dans le dossier un truc du style allowoverride all et redémarrer le serveur toujours pas d'écriture possible, donc là la panique....

Je rajoute à cela que je ne vois pas comment changer le répertoire d'installation sachant qu'il va toujours dans default. Est-ce que quelqu'un à la solution ultime à mon problème : droits, installation...

Thanks a lot.

Forum : 
Version de Drupal : 

A ma connaissance, pour faire du multi-site sur le même non mais avec deux chemins différents, il faut que tu crées deux aliases apache comme ceci :

<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /var/wwwdrupal/v6

        ErrorLog /var/log/httpd/errors.log
        CustomLog /var/log/httpd/access.log combined

   alias /site1 /var/www/drupal
   alias /site2 /var/www/drupal
   <Directory /var/www/drupal>
          Allow from all
     </Directory>
</VirtualHost>

Si cela coince toujours avec cela, tu peux "debugger" en allant dans include/bootstrap.inc dans la procédure conf_path. C'est là que le choix de la configuration est faite. Tu peux par exemple coller des "print" pour faire apparaître les tentatives.

Bonjour,

C'est pas comme ça que l'on fait ? Il faut faire pointer sur un autre dossier qui n'est pas "default" ? Je crois que j'ai pas bien compris le truc en fait...

Sur un tuto, il est dit de ne pas lancer l'installation à partir du dossier default mais plutôt du premier que l'on veut et donc il faut copier le contenu du dossier default dans mon nouveau dossier "site1" et essayé de lancer l'installation de drupal avec les droits d'écriture sur le dossier site1 (et je n'arrive pas à changer les droits vu mon incompétence sur apache). Voilà en gros.

J'avais toujours testé avec deux noms (DNS) différents, jamais avec deux dossiers. J'ai donc monté rapide une petite plateforme de test.Pour info, j'utilise Drupal 6.14, Apache 2 et des brouettes, et GNU/Linux.

1/ J'ai créé le vhost sous apache tel que donné plus haut, avec les deux aliases. Le coup des deux Alias dans le vhost est déterminant pour que ça marche. C'est ce qui fait que la variable CGI $_SERVER['SCRIPT_NAME'] passe de la valeur index.php (normal pour du mono-site ou du multi-site avec plusieurs DNS) à site1/index.php et site2/index.php. Et c'est cette variable qui sert à Drupal (procédure conf_path dans include/bootstrap.inc) pour trouver le bon dossier dans sites.

2/ J'ai créé les dossiers sites/site1 et sites/site2. Chacun des dossiers contient le default.settings.php et sa copie settings.php (non modifée, juste une copie). Chacun des dossiers (et ce qu'il contient) est accessible en écriture à apache. Et pour finir, je n'ai gardé aucun dossier "default",

3/ J'ai créé les deux bd qui vont bien, puis lancé la procédure d'installation sur chacune des deux URL (http://XXX/site1/install.php puis http://XXX/site2/install.php). Installation sans soucis dans les deux cas et les deux sites accessibles.

Voilà, j'espère que c'est plus clair ainsi.

Alors déjà merci pour tes conseils, ensuite ça avance ça avance...

C'est à dire que j'ai créé les alias via la console dos qui est proposée par wamp (Apache->Alias Directories->Add Alias)

Nous avons donc http://localhost/site1.com et http://localhost/site2.com, je copie les fichiers de settings dans les répertoire qui vont bien.

Puis je lance la première installation en tapant : http://locallhost/site1.com/index.php

Donc ça débute, mais ça s'arrête vite car il me cherche encore et toujours le dossier default (que j'ai préalablement effacé auparavant et qu'il me recrée ensuite avec un dossier files dedans) et du coup ben bloqué encore.

Je ne suis pas loin mais qu'est ce qu'il me manque ?

Merci

on est alors bien d'accord sur le fait que tes deux dossiers s'appellent sites/site1.com et sites/site2.com ?

Sinon moi, wamp, je connais pas, tu as essayé de mettre une trace dans conf_path() histoire d'avoir la valeur de $_SERVER['SCRIPT_NAME'] ?

On est bien d'accord.

Alors j'ai mis une trace en faisant echo $_SERVER['SCRIPT_NAME'] ;

et j'ai en haut de ma page (pour la première page choix de langue)

/site1.com/install.php

et ensuite sur la page qui bloque (suppression de default.settings.php), j'ai :

/site1.com/install.php/site1.com/install.php ???

Voilà.