[Résolu] Installation drupal 7 multisites local wamp server

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 a tous,

Merci pour ce tuto, même si je n'ai pas compris comment faire les déclarations de virtual host tout de suite. (Tuto drupalfacile :http://www.drupalfacile.org/tutoriel/drupal7/episode-34-realiser-une-ins...)
Après avoir vu de nombreux tutos en ligne et les réponses en commentaire je me retrouve bloque.

Ma configuration:
Windows 64 bit / Wamp 2.2
J'ai change le port de wamp sur 82 et non 80 a cause de skype.

J'ai installe drupal 7.14 et le premier site en principal avec default.
J'ai ensuite créer les sous-dossiers c:\wamp\www\monsitedrupal\sites\sitea
et c:\wamp\www\monsitedrupal\sites\example

Le fichier host a ete modifie (C:\Windows\System32\drivers\etc\host):
127.0.0.1:82 localhost
127.0.0.1:82 sitea
127.0.0.1:82 example

Sur Wamp, les fichier conf et vhost.conf ont ete modifies comme suit:

C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf

Activation de la ligne : (j'ai juste enlever le '#' pour activer la ligne)

Virtual hosts

Include conf/extra/httpd-vhosts.conf

C:\wamp\bin\apache\Apache2.2.21\conf\extra
Ajout des vrituals host:

ServerName example
DocumentRoot c:/wamp/www/monsitedrupal/sites/example

ServerName sitea.com
DocumentRoot c:/wamp/www/monsitedrupal/sites/sitea

Pour les bases de donnees:
Les bases sitea et example sont crees sur phpmyadmin.

Pour les fichiers settings: (J'ai copiez/coller ce qui avait dans les commentaires puis enlever les "/*" pour activer les lignes.)
Example
array(
'driver' => 'mysql',
'database' => 'example',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '',
'prefix' => '',
'collation' => 'utf8_general_ci',
);

Sitea:
array(
* 'driver' => 'mysql',
* 'database' => 'sitea',
* 'username' => 'root',
* 'password' => '',
* 'host' => 'localhost',
* 'port' => '',
* 'prefix' => '',
* 'collation' => 'utf8_general_ci',
* );

Lorsque je me rend sur l’adresse: "www.sitea.com:82" ou "example:82" le site ne s'installe pas et j'ai
comme erreur "Delai d'attente trop long".

Qu'elle est l'etape ou j'ai manque quelque chose ? Ma configuration est-elle mauvaise ?

Merci d'avance

Ps: (J'ai modifie le port en mettant : VirtualHost *:82 et NameVirtualHost *:82, je me retrouve avec "access
forbidden" au server.)

Version de Drupal : 

Bonjour a tous,
Je me repond a moi meme en esperant que cela va aider d'autres personnes a faire des installations multi-sites:
Le tuto est en anglais : http://drupal.org/node/547860

Configuration: Windows 64 et wamp server 2.2

Tout d'abord :
Installer Wamp, et mettre le dossier drupal dans wamp:
C:\wamp\www\drupalmultisite

Creer le sous dossier dans sites:
C:\wamp\www\drupalmultisite\sites\site1.local

Configurer le fichier host:
C:\Windows\System32\drivers\etc
127.0.0.1 localhost
127.0.0.1 site1.local.com www.site1.local.com

Pour un autre port que le 80, ajouter a la fin ":82":
127.0.0.1:82 localhost
127.0.0.1:82 site1.local.com www.site1.local.com

Configurer le fichier suivant:httpd.conf
C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf
Activer la ligne suivante en enlevant le "#":

Virtual hosts

Include conf/extra/httpd-vhosts.conf

Ensuite Configurer le fichier suivant:httpd-vhosts.conf
C:\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf

Mettre les lignes suivantes:
Pour le server admin, vous le trouver dans phmyadmin en cliquant sur privilège.
(Pour un autre port que le 80 mettre: "< VirtualHost *:82 >" et les mêmes informations)
< VirtualHost *:80 >
ServerAdmin drupal_user@localhost
DocumentRoot "c:/wamp/www/drupalmultisite"
ServerName site1.local.com
ServerAlias www.site1.local.com
ErrorLog "logs/site1.local.com-error.log"
CustomLog "logs/site1.local.com-access.log" common
</ VirtualHost >

< VirtualHost *:80 >
ServerAdmin drupal_user@localhost
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost.com-error.log"
CustomLog "logs/localhost.com-access.log" common
</ VirtualHost >

< VirtualHost *:80 >
ServerAdmin drupal_user@localhost
DocumentRoot "c:/wamp/www"
ServerName 127.0.0.1
ServerAlias 127.0.0.1
ErrorLog "logs/127.0.0.1.com-error.log"
CustomLog "logs/127.0.0.1.com-access.log" common
</ VirtualHost >

Retourner dans drupal pour configurer le fichier: exemple.sites
C:\wamp\www\drupalmultisite\sites\exemple.sites
Ajouter la ligne suivante pour definir les repertoires et alias
$sites['site1.local'] = 'site1.local.com';

Creer le sous dossier site1.local:
C:\wamp\www\drupalmultisite\sites\site1.local

Copier "default.settings"
C:\wamp\www\drupalmultisite\sites\default\default.settings
et collez le dans le dossier site1.local
Renommez le en "settings"
Creer le dossier "files" dans site1.local

Relancez Wamp server ("Redemarrer tous les services") devrait suffire.

Allez sur l'adresse site1.local et cela devrait lancer l'installation.
Pour creer un site2 et site3 (etc...)
Répétez la même opération.

En esperant que cela soit claire et aide d'autres personnes, cette procedure a fonctionne pour moi.

Merci

@Orewan Juste pour te dire merci.
J'avais pas idée qu'il y avait un répertoire "etc" dans windows et grâce à sa découverte tu imagines l'avancé que j'ai pu faire dans mon épreuve migratoire remote vers local.

Dans mon cas j'utilise xampp sur win32 mais la manipulation est très proche de la tienne.

J'ajouterai simplement les manipulations additionnelles que j'ai dû effectuées parce que j'avais déjà des bases de données remplies.

  • EN REMOTE

    • 1) utiliser phpmyAdmin pour exporter vers son Disque Dur (DD) chacune de ses bases de données drupal. Cela crée un fichier sql par base de donnée.
    • 2) archiver le dossier sites/... et tout ce qu'il contient c'est à dire (pour moi) sites/all site/default sites/pellote.lachouette.net sites/sourie.lachouette.net dans un gros fichier sites.tgz à télécharger ensuite sur mon DD
  • EN LOCAL

    • 1) installer xampp et dézipper drupal à la racine du server (htdocs). On peut accessoirement le renomer www si on remplace les mots "htdocs" par "www" dans le fichier httpd.conf.
    • 2) décompresser son archive "sites.tgz" dans "www/drupal.7-14/sites/" . ça dois dupliquer l'arboraissance des dossiers qui était en remote.
    • 3) configuer les servers virtuels d'Apache en modifiant le fichier "C:\xampp\apache\conf\extra\httpd-vhosts.conf" pour avoir:
      ...
      #
      NameVirtualHost *:80

      ...
      # ça c'est la config pour le host par défaut
      <VirtualHost *:80>
          ServerAdmin localhost@lachouette.net
          DocumentRoot "C:/www/"
          ServerName localhost
          ServerAlias localhost
          ErrorLog "logs/localhost-host-error.log"
          CustomLog "logs/localhost-access.log" combined
      </VirtualHost>

      #la simulation de http://pelote.lachouette.net
      <VirtualHost *:80>
          ServerAdmin pelote@lachouette.net   
          DocumentRoot "C:/www/drupal.7.14/"
          ServerName pelote.lachouette.net
          ServerAlias pelote.loc
          ErrorLog "logs/pellote-host-error.log"
          CustomLog "logs/pellote-access.log" combined
      </VirtualHost>

      #la simulation de http://sourie.lachouette.net
      <VirtualHost *:80>
          ServerAdmin sourie@lachouette.net
          DocumentRoot "C:/www/drupal.7.14/"
          ServerName sourie.lachouette.net
          ServerAlias sourie.loc
          ErrorLog "logs/sourie-host-error.log"
          CustomLog "logs/sourie-access.log" combined
      </VirtualHost>

    • 4) Ouvrir le fichier "hosts" mentionné dans le thread précédent et l'éditer afin d'avoir les lignes:
      ...
      # commentaires
      127.0.0.1 localhost
      127.0.0.1 pelote.loc
      127.0.0.1 sourie.loc
    • 5) Finalement il reste à renomer le fichier "drupal-7.14/sites/examples.sites.php" en ".../sites.php" et à l'éditer pour qu'il contienne les lignes suivantes:
      ...
      #
      $sites['pelote.loc'] = 'pelote.lachouette.net';
      $sites['sourie.loc']  = 'sourie.lachouette.net';
    • 6) Et ne pas oublier la restauration des bases de données. Pour cela il faut recréer les bases de données en local, un utilisateur et les remplire avec les données qui étaient en remote.
      • 6.a) Les infos essentielles sont dans "sites/pelote.lachoutte.net/settings.php"

        $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'lachouette_sourie_db',
              'username' => 'lachouette_sourie_sr',
              'password' => 'dent2Lait',
              'host' => 'localhost',
              'port' => '',
              'driver' => 'mysql',
              'prefix' => 'dr_',
            ),
          ),
        );

        et "sites/pelote.lachouette.net/settings.php"

        $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'lachouette_pelote_db',
              'username' => 'lachouette_pelote_sr',
              'password' => 'pellote236Souries',
              'host' => 'localhost',
              'port' => '',
              'driver' => 'mysql',
              'prefix' => 'dr_',
            ),
          ),
        );
      • 6.b) Puis dans l'interface sql de phpMyAdmin exécuter:
        create database lachouette_pelote_db;
        create database lachouette_sourie_db;
        grant all on lachouette_pelote_db.* to lachouette_pelote_sr@localhost identified by 'pellote236Souries';
        grant all on lachouette_sourie_db.* to lachouette_sourie_sr@localhost identified by 'dent2Lait';
      • 6.c) Un dernier truc ça été d'ajouter la ligne use lachouette_sourie_db; et use lachouette_pelote_db; en haut des fichiers sql respectifs téléchargés plutôt avant de les importer dans la base de donnée locale.
    • 7) Le 7ème jour on se repose et on s'étonne que ça marche. :) Ouf
    • 8) ou pas :( c'est fou !

En tout cas merci. ;)

Merci Komaka, Ta description est très claire.

Dans ma procédure, il y a une erreur:
Sur wamp pour drupal 7:
Lors de la création du dossier site1.local, ou site1.example.
Il faut créer le dossier vide, et ne pas copier le fichier defaultsettings.php (et ne pa renommer)

Lorsque vous irez sur l'adresse "site1.local" ce fichier va se créer par l'installation de drupal7.

Merci.

Attention: L'erreur est de copier/coller le fichier defaultsettings.php dans les sous dossier.

Ne pas le copier, et leaisser les sous-dossier vide. L'installation va se lancer et creer le fichier settings.php de lui-meme.

Merci.