Configurer WordPress Multisite pour utiliser différents noms de domaine

Utiliser WordPress MU avec des noms de domaine différents

Le but de cet exemple est de démontrer comment utiliser une seule installation de WordPress sur un serveur et faire fonctionner plusieurs sites web ou blog WordPress qui ont chacun leur nom de domaine.
Ce que ça prend

  • WordPress version à jour (février 2011 = version 3.0.5)
  • PHP version 4.3 ou plus
  • MySQL version 4.0 ou plus
  • Apache mod_rewrite (Hébergement linux recommandé)
  • Wildcard CNAME record pour les sous-domaines
  • Marche à suivre pour faire l’activation du Multisite avec l’option sous-domaine
  • Plugin : WordPress MU Domain Mapping
  • Accès à l’interface de gestion des DNS

Étape 1 Activer la fonction multisite avec sous-domaine

Vous pouvez utiliser cette marche à suivre pour activer le multisites sous WordpPress 3.0.5 (avec l’option sous-domaine).

Étape 2 Créer les sites et faire le choix des noms domaine

Dans mon exemple le blog principale sera : www.babillard-scolaire.org et j’ai déjà créé un 2e site qui est testmapping.

  • mon premier site (qui sera gérer sous le même WordPress que babillard-scolaire.org sera :
    testmapping.babillard-scolaire.org et le nom de domaine que je « mapperai » sera www.babillardscolaire.com

WordPress Multisite mapping

Étape 3 Installer le plugin WordPress MU Domain mapping

Vous pouvez télécharger le plugin sur le site de WordPress.org

  1. Créer le répertoire mu-plugins en dessous du répertoire wp-content
  2. Copier le fichier sunrise.php (du plugis WordPress Mu Domain mapping) dans le répertoire wp-content
  3. Copier le fichier domain_mapping.php (du pluginWordPress Mu Domain mapping) dans le répertoire mu-plugins
  4. Éditer le fichier wp-config.php (je suggère d’utiliser NotePad++) et ajouter la ligne suivante:
    define( ‘SUNRISE’,’on’);
    juste au-dessus de la ligne « /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ »

WordPress Multisites création du répertoire mu-pluginsWordPress Multisites configuration wp-config sunrise

Étape 4 Configuration du mapping dans Super Admin (via le tableau de board)

Note : vous devez connaitre l’adresse IP correspondant à votre site web (le mien dans cette exemple est 174.122.132.8). Vous pouvez aussi utiliser un CNAME selon les informations du plugin

Cliquer sur Domain mapping sous Super Admin et entrer l’adresse IP dans le champ Server IP Address et cocher:

  • User domain mapping page
  • Redirect administration pages to site’s original domain (remote login disabled if this redirect is disabled)

WordPress Multisites domain mapping configuration sous Super Admin

Étape 5 Mapper le nom de domaine sur le site

Je veux donc mapper le domaine www.babillardscolaire.com sur le site que j’ai créé testmapping.babillard-scolaire.org.

Aller dans l’administration du site testmapping.babillard-scolaire.org en cliquant sur Sites sous Super Admin et ensuite sur le lien Administration qui est directement sous testmapping.

Wordpress Multisite administration du site

Ceci fait ouvrir le tableau de bord pour la gestion du site testmapping.

Dans ce tableau de bord cliquer sur Domain Mapping sous Outils

WordPress Multisite Domaine mapping du site

et faire l’ajout du domaine que veut mapper

Dans mon exemple je veux mapper le domaine www.babillardscolaire.com c’est donc l’information que j’ai entré dans la champ http:// et on coche Primary domain for this blog et on clique sur le bouton Add.

WordPress Multisites ajout du domaine pour mapping

WordPress Multisites Adminsitration domain mapping

Étape 6 configure le domaine dans CPanel

Pour que le domaine www.babillardscolaire.com fonctionne je dois aussi faire la configuration via CPanel. En utilisant Parked Domains dans la section Domains.

WordPress Multisites parked domain dans Cpanel

On entre le domaine (ici c’est www.babillardscolaire.com) et on clique sur le bouton Add DomainWordpress Multisites parked domain Cpanel add

Note : Il faut au préalable que la zone DNS de votre domaine (mon exemple : www.babillardscolaire.com) pointe vers l’adresse IP où est hébergé votre site web

Je peux maintenant faire la gestion du site www.babillard-scolaire.org et le site www.babillardscolaire.com (testmapping.babillard-scolaire.org) dans le même tableau de bord. Je peux ajouter autant de sites qu’on veut.

WordPress Multisites mapping domain gestion

11 Commentaires

  • Eric Camisullis dit :

    Bonjour et merci pour votre mise en page/explications super claires !

    J’ai mis en place (avec difficulté) l’option MULTISITE sur WordPress 3.4.2–fr_FR (autres données utiles : PHP/MySQL 5.1.61 ; Extension WordPress SEO 1.2.8.7

    MAIS je rencontre le problème suivant :

    Depuis la mise en place de l’option multisite impossible d’accéder aux tableaux de bord des sous-domaines, ni d’afficher ceux-ci dans un navigateur (respectivement erreur 404 et 403).

    Coté Wildcard ça donne ça :
    http://www.netcreationsystem.com/wp-content/gallery/demandes-au-support/virtualadmin-site971-et-etoilesite971.jpg

    Coté WordPress j’en suis là :
    http://www.netcreationsystem.com/wp-content/gallery/demandes-au-support/tableau-de-bord-sites.jpg

    J’ai respecté les réglages du réseau :
    http://www.netcreationsystem.com/wp-content/gallery/demandes-au-support/tableau-de-bord-creation-du-reseau.jpg
    jarry.site971.com ; … etc.

    Vu de FileZilla j’ai réglé le répertoire blogs.dir en 777 :
    http://www.netcreationsystem.com/wp-content/gallery/demandes-au-support/blogsdir-dans-filezilla.jpg

    Si nous revenons vers le contenu des 2 fichiers clefs pour le multisite (wp-config.php et .htacess)

    DANS MON FICHIER /www/wp-config.php il y a ceci :

    [quote]wxCh{.Pu4leEGQ|Sz-:-~o*YmJ+zb0{*[@ 4-LC?W(s/’);
    define(‘SECURE_AUTH_KEY’, ‘t88:-^;}J#W`hl?E,03:U7D:1AzqOf$-+w~5/ KR(d87ZOSLJ!H?9?-)’);
    define(‘AUTH_SALT’, ‘w5GR?zlG}8f_lRdXUUx9;w&eZ)8#*8R/c>uVS4Ky,<{j`F3 _+[XxTpDO5i1U9|Ra#_gnqU1i[?R}S=ANrl');
    define('NONCE_SALT', 'Zw~aoiZ fcKOoT2fE–;#J_rq.W1|h(W.+hz,%sapQsP3@FL&^{!M!-l<O</U[(M');
    /**#@-*/

    /**
    * Préfixe de base de données pour les tables de WordPress.
    *
    * Vous pouvez installer plusieurs WordPress sur une seule base de données
    * si vous leur donnez chacune un préfixe unique.
    * N'utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés!
    */
    $table_prefix = 'wp_site971';

    /**
    * Langue de localisation de WordPress, par défaut en Anglais.
    *
    * Modifiez cette valeur pour localiser WordPress. Un fichier MO correspondant
    * au langage choisi doit être installé dans le dossier wp-content/languages.
    * Par exemple, pour mettre en place une traduction française, mettez le fichier
    * fr_FR.mo dans wp-content/languages, et réglez l'option ci-dessous à "fr_FR".
    */
    define('WPLANG', 'fr_FR');

    /**
    * Pour les développeurs : le mode deboguage de WordPress.
    *
    * En passant la valeur suivante à "true", vous activez l'affichage des
    * notifications d'erreurs pendant votre essais.
    * Il est fortemment recommandé que les développeurs d'extensions et
    * de thèmes se servent de WP_DEBUG dans leur environnement de
    * développement.
    */
    define('WP_DEBUG', false);
    define('WP_ALLOW_MULTISITE', true);
    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true);
    $base = '/';
    define('DOMAIN_CURRENT_SITE', 'site971.com');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    /* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

    /** Chemin absolu vers le dossier de WordPress. */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

    /** Réglage des variables de WordPress et de ses fichiers inclus. */
    require_once(ABSPATH . 'wp-settings.php');[/quote]
    [color=#8DF608][b]ça vous semble correct ?[/b][/color]

    [b]DANS MON FICHIER /www/.htaccess il y a ceci :[/b]

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

    # uploaded files
    RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule . index.php [L][/quote]
    [color=#8DF608][b]ça vous semble correct ?[/b][/color]

    [—]

    Merci d'avance de vos conseils !
    Eric

  • Alain Bonati dit :

    Bonjour,

    J’ai réalisé à la lettre votre tuto et quand j’arrive à la fin où il faut ajouter le site un message d’erreur m’informe que le site en question n’est pas valide.

    Pouvez-vous me dire ce que je dois faire ou corriger ?

    Merci beaucoup de votre aide précieuse.
    Alain

    • annieb dit :

      Bonjour Alain,
      Il est difficile de répondre à votre question car j’ai trop peu d’information.
      Si vous voulez vous pouvez me donner le message d’erreur exacte tel qu’il apparaît dans votre écran.

      Désolée pour le délai de ma réponse 🙂

  • Merci pour le tuyau. Je vous souhaite une longue continuation.

  • Elsa Mondriet dit :

    Voilà donc un bon article, bien passionnant. J’ai beaucoup aimé et n’hésiterai pas à le recommander, c’est pas mal du tout ! Elsa Mondriet / june.fr

Laisser un commentaire

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