Configurer WordPress Multisite en utilisant des sous-domaines

Les pré requis :

  • Avoir la version de WordPress la plus récente (ici WordPress version 3.0.5 est dernière version en français – février 2011)
  • Idéalement un WordPress qui n’a pas encore été utilisé, donc une nouvelle installation de WordPress
  • Si possible avec un hébergeur qui vous offre la possibilité d’utiliser CPanel (et non PLESK)(PLESK fonctionne aussi mais il peut y avoir des différences au niveau de la configuration, j’y reviendrai). référence en anglais
  • un hébergeur qui supporte le « wildcard subdomain » référence en anglais
  • Accès à la configuration de vos zones DNS
  • Utile : logiciel FTP (moi j’utilise FileZila c’est gratuit et il fonctionne très bien)
  • Un éditeur qui permet d’enregistrer les fichiers sans créer d’espace « BOM » (ce qui créé des bugs) (moi j’utilise Notepad++ )

Donc je débute mon exemple pour créer une installation multisites WordPress avec un WordPress qui vient tout juste d’être installé. Je ne l’ai pas encore utilisé. Mon exemple est un multisites avec des sous-domaines du genre : ecole1.babillard-scolaire.org, ecole2.babillard-scolaire.org, etc.

Étape 1 – créer un fichier .htaccess

J’ai besoin de créer un fichier .htaccess et pour qu’il se créé automatiquement je vais modifier les Permaliens (ce que je suggère de faire lors d’un installation WordPress). Ceci permet d’avoir des liens plus compatibles pour les moteurs de recherche comme google. Nous allons avoir des liens du genre www.babillard-scolaire.org/2011/02/monsujet AU LIEU DE www.babillard-scolaire.org/?page_id=100.

Donc dans le tableau de bord on clique sur PERMALIENS qui est situé sous la catégorie RÉGLAGES et par le suite je choisis « mois et titre » (j’aurais pus prendre n’importe lequel sauf valeur par défaut) et on clique sur le bouton ENREGISTRER LES MODIFICATIONS:

WordPress Multisites étape 1

En utilisant FileZilla, je me suis connecté sur le serveur et je vois maintenant le fichier .htaccess directement dans le répertoire racine de mon site web WordPress (il est possible que vous ne puissiez pas voir le fichier .htaccess à ce moment il faudrait communiquer avec votre hébergeur pour voir quelles sont les solutions pour pouvoir le modifier) :

Wordpress Multisites listes fichiers

Étape 2 activation de la fonction Multisites – allow multisite

Il faut éditer le fichier wp-config.php (qui est situé juste à la racine au même endroit que le fichier .htaccess) et ajouter ceci :

define('WP_ALLOW_MULTISITE', true);

Juste au-dessus de la note qui dit /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ (j’ai la version française de WordPress – en anglais il faut chercher la phrase /* That’s all, stop editing! Happy blogging. */)

Note : pour éviter les problèmes d’édition de fichier PHP, je vous suggère d’utiliser Notepad++ qui est un éditeur qui permet d’enregistrer les fichier sans créer de « BOM » comme le fait le NotePad de Windows. Les « BOM » sont des espaces (non visibles dans le bloc-note « Notepad ») qui sont créés pour spécifier certaines choses pour des fichiers. Donc pour s’éviter des problèmes je recommande l’utilisation de Notepad ++ (ou autre éditeur qui permet de spécifier No bom).

Éditer et enregistrer wp-config.php

WordPress multisites modification du fichier wp-config.php

Étape 3 – Configurer le « Réseau » via le tableau de bord de notre WordPress

Dans le tableau de bord de notre WordPress cliquer sur RÉSEAU (qui vient tout juste de s’ajouter) sous la catégorie OUTILS.

  • Choisir Sous-domaines
  • Entrer le nom de votre choix pour le réseau : moi j’ai choisi Réseau babillard scolaire
  • Entrer une adresse courriel valide dans le champ Adresse contact de l’administrateur
  • Cliquer sur le bouton INSTALLER

WordPress multisites activer sous-domaine

Étape 4 – 2ieme modification des fichiers wp-config.php et .htaccess

Après avoir cliqué sur le bouton INSTALLER, vous obtenez des informations qui ressemblent à ceci :

Wordpress Multisites configuration sous-domaine

Édition du fichier wp-config.php

Il s’agit de suivre les instructions soit de copier le texte de la boîte pour le copier dans le fichier wp-config.php. Juste au-dessus du texte /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'babillard-scolaire.org' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

WordPress Multisites édition du fichier wp-config

Édition du fichier .htaccess

La 2ième boîte est pour la modification du fichier .htaccess :

WordPress Multisites fichier htaccess modifié

Une fois les fichiers wp-config.php et .htaccess modifiés, cliquer sur le lien Se connecter qui apparait juste dans le bas sous les instructions qui nous a permis de modifier les fichiers.

Étape 5 – Configurer le votre zone DNS pour le « wildcard »

  • Il faut connaître l’adresse IP du serveur où votre site web est hébergé dans mon cas c’est 174.122.132.8
  • Mes DNS sont gérés chez DurableDNS. Je suis donc modifier la zone dns afin que mon domaine babillard-scolaire.org accepte les sous-domaines ( *.babillard-scolaire.org):

WordPress Multisites modification de la zone DNS

Il faut aussi faire l’ajout d’un sous-domaine « wildcard » via le panneau de contrôle (dans mon cas CPanel).

Dans la section DOMAINS, cliquer sur subdomains et faire l’ajout du sous-domaine *.votredomaine.com et choisir le répertoire où est votre fichier wp-config.php (ici c’est /public_html/

WordPress Multisite CPanel wildcard

Étape 6 – ajouter les sites

Vous vous reconnectez au tableau de bord avec votre identifiant et votre mot de passe.

WordPress Multisites Tableau de bord Super Admin

C’est dans la section Super Admin que vous pourrez faire la gestion des différents sites de votre réseau.
Pour ajouter un nouveau blog cliquer sur le lien Créer un nouveau site :
Entrer l’adresse du nouveau site pour mon exemple c’est testmapping.babillard-scolaire.org et mon titre est Je fais un test (original n’est-ce pas?)WordPress Multisite créer un nouveau site

Ressources :

22 Commentaires

  • Lancelot dit :

    Cet article m’a été très utile. Merci beaucoup !

  • Latiti dit :

    define(‘WP_ALLOW_MULTISITE’, true);
    … et pas…
    define(‘WP_ALLOW_MULTISITE’, true);

    On ne voit pas la différence mais si on fait un copier-coller de cette ligne qui est en haut dans le post, ça copie des quotes à la Word qui ne marchent pas une fois collé dans wp-config.

    Donc attention, ce détail peut faire perdre quelques heures à un débutant qui se demande « Bah pourkoi ya pas réseau qui apparait dans mon admin WP ? ».

    Bref

  • Charlotte dit :

    Bonjour, j’ai suivi ce tuto avec succès ! (en version sous dossier) mais le tableau de bord de mon sous dossier est EN ANGLAIS… cela peut être pédagogique mais c’est déroutant de passer de l’un à l’autre. (http://www.camcha.be/portefolio)

    J’ai vérifier mes fichier la ligne de dessous est présente dans mon fichier wp-config.php

    define(‘WPLANG’, ‘fr_FR’);

    Voici le reste du code
    define( ‘WP_ALLOW_MULTISITE’, true);
    define( ‘MULTISITE’, true );
    define( ‘SUBDOMAIN_INSTALL’, false );
    $base = ‘/’;
    define( ‘DOMAIN_CURRENT_SITE’, ‘www.camcha.be’ );
    define( ‘PATH_CURRENT_SITE’, ‘/’ );
    define( ‘SITE_ID_CURRENT_SITE’, 1 );
    define( ‘BLOG_ID_CURRENT_SITE’, 1 );

    code du fichier htacces :

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]

    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]

    Y a t il une solution ?
    Merci d’avance

    • admin dit :

      Bonjour Charlotte,
      Merci de votre visite sur esiteweb.net.

      Pour répondre à votre question, il est possible de modifier la langue par défaut dans le menu SUPER ADMIN. Vous cliquez ensuite dans OPTIONS et dans le bas de la page OPTIONS il y a une boîte de sélection qui permet de choisir la langue par défaut. Le choix des langues disponibles dépend des fichiers lang qu’il y a dans le répertoire wp-content/languages.

      J’espère que ça pourras vous aider. Si ce n’est pas le cas dites-le moi, je me ferai un plaisir de tenter de trouver la solution.

      Annie

  • doodle dit :

    C’est possible d’automatiser la création des noms de domaine à partir d’un csv ?

    • admin dit :

      Bonjour doodle,
      Je suis désolée votre commentaire m’a échappé.
      Je n’ai jamais tenté l’automatisation, c’est une excellente idée. Si vous avez tenté l’expérience, j’aimerais bien savoir si cela a été un succès.

      Annie

  • loloxine dit :

    Bonjour,
    J’ai suivie votre tuto, mais rencontre un problème.
    Lorsque je créer un nouveau site et que je l’affiche, seul un index vide s’affiche.
    Je n’ai également pas accès au tableau de bord du site, il me dit page non trouvable, et affiche une page dépourvue de CSS.

    • admin dit :

      Bonjour loloxine,
      C’est difficile pour moi de vous aider. Il me faudrait plus d’information. Si vous pouvez me montrer votre wp-config.php et votre .htaccess j’aurais peut-être des pistes pour vous aider.

      Annie

  • Mathieu dit :

    Bonjour, merci pour cet article tres interessant et tres instructif ! pensez vous que cela puisse s’appliquer avec la création d’un site multilingue (ex fr.monsite.net; en.monsite.net, es.monsite.net …) ?

  • fredy dit :

    Bonjour

    J’ai suivie votre tuto cela se passe bien.

    lorsque j »ajoute un nouveau site ex: 1234.mybuzing .com, je n’arrive pas à me connecter au tableau de bord.

    Le message est le suivant : Not Found

    The requested URL /wp-admin/ was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

    Auriez vous une solution

    Cordialement

    JF B

    • admin dit :

      Bonjour Fredy,

      Selon le message d’erreur que vous me donner, le problème semble être au niveau du « wildcard », peut-être vérifier à nouveau si l’étape 5 – Configurer le votre zone DNS pour le « wildcard » ne contient pas d’erreur.

      Annie

  • Yann dit :

    Bonjour,

    j’ai une instal de wordpress MU subdomains qui marche parfaitement.
    Cependant, pour des soucis de SEO et Pageranking (pour lesquels les conseils sont bienvenus – je suis un ptit nouveau) je souhaite balancer de subdomains a MU normal (a savoir au lieu de sous-site.site-principal.fr je voudrais site-principal.fr/sous-site).
    Est-ce utile? Est-ce possible? Comment?

    Merci !

  • aidan dit :

    Bonjour, en fouillant le web à la recherche d’une solution depuis 3 jours, je n’ai trouvé que cette page qui se rapproche de ce que je cherche.
    Vous semblez être une crack de wordpress peut-être pourrez vous m’aider svp.
    J’ai un site wordpress (multi-sites) et récemment j’ai acheté un nom de domaine pour faire pointer mon sous domaine dessus.
    Ces deux sites n’ont rien à voir l’un avec l’autre, j’ai donc opté pour un wordpress multi sites avec sous domaines.
    J’ai du faire une mauvaise manip en essayant de diriger le sous domaine vers le nouveau nom. Il se trouve que je ne peux plus accéder à aucun site que je crée sous wordpress, tableau de bord compris.
    Je n’ai touché qu’au .htaccess et au wp-config.php.
    J’ai perdu ce second site du coup j’ai essayé d’en créer d’autres, pareil. Aucun des sites que je crée n’est accéssible. Je suis bloquée, je cherche depuis 3 jours.
    J’ai désinstallé mu_mapping… pour revenir sur wordpress nu mais rien à faire.
    si je clique sur le site, je me retrouve dans le dosier du sous domaine qui est vide. Si je clique sur le tableau de bord. erreur 404, dans la barre d’adresse il semble chercher le fichier wp-admin dans le dossier vide du sous domaine.
    Je suis en panique, je ne trouve plus d’idées. G essayé les redirections, toutes sortes de choses, rien !
    Pourriez vous m’aider svp.
    Le .htaccess semble normal et le wp-config.php aussi !!!

    • annieb dit :

      Bonjour Aidan,

      Je n’ai pas beaucoup de détails pour vous aider.

      La marche à suivre de cet article fonctionne si vous utilisez CPanel. Est-ce que vous utilisez Cpanel? Si oui, je suis suggère de refaire la démarche depuis le début.

      Désolée de ne pouvoir vous aider davantage.

      Annie

  • olivier dit :

    bonjour,

    mais si WordPress est installé dans un sous domaine, est ce que votre solution fonctionne encore ?

    ex: mondomaine.com

    wordpress est installé dans :
    wp.mondomaine.com

    c’est à dire que dans / de mon domaine, j’ai :
    www
    wp

    question subsidiaire : où dois-je mettre mes sous domaines (un par blog)
    Merci
    cordialement
    Olivier

  • cacoweb dit :

    Merci pour cet exemple.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *