Marque-pages récents

WordPress 3.4 multi-sites sur OVH, avec sous-domaines et domaines indépendants

Ayant un peu galéré pour mettre en place WordPress 3.4.2  en multi-sites sur OVH, voici un petit retour d’expérience et un aide-mémoire avec les étapes importantes pour aller plus vite à l’avenir.

Mon besoin

Je loue sur OVH un nom de domaine perso de type mon-nom.name, sans offre d’hébergement, ainsi qu’un hébergement mutualisé « pro » sur un nom de domaine hebergement.fr, avec 100 Go d’espace disque . L’idée est de pouvoir héberger sur ce dernier les blogs nomnom.name , hebergement.fr et les sous-domaines de ceux-çi, comme unsite.hebergement.fr .

Le fait d’utiliser une seule installation de WordPress devrait par ailleurs simplifier les tâches d’administration.

Installation WordPress en multi-sites avec sous-domaines

Ce n’est pas le plus compliqué, mais il y a quelques prérequis :

  • d’abord, il est important d’installer WordPress (procédure d’installation classique) dans la racine de l’hébergement, à savoir dans le répertoire /www de son espace OVH
  • pour éditer les fichiers .htaccess et wp-config.php situés dans le répertoire /www , utiliser notepad++ ou tout autre éditeur qui respecte l’encodage d’origine

Une fois WordPress installé, aller dans le tableau de bord puis suivre les instructions données dans le menu Réglages > Création du réseau

  • Créez le dossier blogs.dir dans /www/wp-config
  • Modifier les fichiers wp-config et .htaccess dans /www :

wp-config.php :en dehors des infos de configurations de site classiques dans une installation WordPress, insérer les lignes suivantes avant /*c’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ (j’ai mis SUBDOMAIN_INSTALL à true pour pouvoir utiliser des domaines de type unsite.hebergement.fr avec cette instance WordPress)

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'hebergement.fr');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define( 'SUNRISE', 'on' );
/* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

.htaccess : (les deux premières lignes viennent de l’installation de base)

SetEnv PHP_VER 5_TEST
SetEnv REGISTER_GLOBALS 0

# Pour multisite
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]
  • Paramétrer le Domain Mapping en indiquant dans le menu Réglages > Domain Mapping le nom  DNS du site WordPress qui héberge tous les autres : hebergement.fr dans notre cas.

On peut aussi mettre l’adresse IP du serveur mais il me semble plus souple de donner le nom.

 

 

Installation du plugin Mu Domain Mapping

  • Récupérer le plugin WordPress Mu Domain Mapping : http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/et mettre l’ensemble des fichiers dans /www/wp-content/plugins/wordpress-mu-domain-mapping
  • Créer un répertoire /www/wp-content/plugins/mu-plugins et y mettre le fichier domain_mapping.php du plugin
  • Déplacer le fichier  sunrise.php du plugin sous /www/wp-content
  • Vérifier qu’on a bien mis define( ‘SUNRISE’, ‘on’ ); dans le fichier /www/wp-config.php
  • Activer le plugin dans le menu Extensions > Extensions installées du Tableau de bord de hebergement.fr

Création des noms DNS dans OVH

Dans notre exemple, on doit créer le nom DNS unsite.hebergement.fr : dans le manager OVH, aller dans la configuration DNS de hebergement.fr et créer un champ A pour unsite.hebergement.fr

 

Création du site unsite.hebergement.fr

  • Aller dans le menu Sites > Ajouter, et compléter le formulaire pour créer unsite.hebergement.fr,
  • Revenir dans le menu Sites > Tous les sites pour noter l’ID du site nouvellement créé, dont on va avoir besoin. Pour cela, cliquer sur le lien du site et noter dans l’URL de la page ouverte le nombre qui suit id=:

http://hebergement.fr/wp-admin/network/site-info.php?id=8

 

  • Il reste maintenant à associer le site avec le nom DNS : aller dans le menu Réglages > Domains : entrer l’ID du site et le nom de domaine et cocher l’option Primary

En revenant dans le menu Sites > Tous les sites, l’association doit apparaître entre le site et le nom DNS (ce dernier doit apparaître dans la colonne Mapping)

Normalement, si on clique maintenant sur le lien d’ouverture du site, ça devrait marcher … Si ce n’est pas le cas, voir les références en annexe ci-dessous pour élucider le problème…

Création du site mon-nom.name

Même chose que ci-dessus à peu de choses près :

  1. dans le menu Sites > Ajouter créer un site mon-nom.hebergement.fr
  2. modifier le site et changer son url en mon-nom.name . Noter son ID
  3. Faire l’association DNS avec le menu Réglages > Domains

Références

13 comments to WordPress 3.4 multi-sites sur OVH, avec sous-domaines et domaines indépendants

  • sebastien

    et tu as fait ça avec quelle version de wp exactement ? 3.4.2 ?

  • lio

    bonjour merci pour le tuto mais franchement, au secours, je n’y arrive pas,quand je modifie le fichier, le site n’existe plus
    je ne trouve pas un seul tuto assez clair pour moi, je suis un boulet:(

    pourquoi jn’ai plus de site ?

  • J’ai eu beaucoup de mal aussi à faire fonctionner le bouzin, après pas mal d’essais infructueux. Si tu lis un peu l’anglais, ce sont ces deux tutoriaux qui m’ont dépanné : WordPress 3 Multi-Site Installation et WordPress 3 Multi-Site Domain Mapping

  • sebastien

    je ne suis pas sûr de comprendre. En fait tu décris comment installer un wp multi et mapper un ndd sur un site de la plateforme, c’est bien ça ?
    Si c’est bien ça, tu pourrais me dire quel offre d’hebergement tu as prise pour pouvoir faire ça stp ?
    merci beaucoup :-)

    • Oui, c’est bien ça. J’ai pris un hébergement mutualisé (pro = 100 Go de disque) sur lequel j’ai mappé les noms de domaine de sous-domaines associés à cet hébergement plus deux autres qui n’ont rien à voir (domaines « secs » pris sur OVH aussi, et pour lesquels l’espace d’hébergement est ridicule)

  • Benny Greene

    Hello ! Je suis chez amen (nom de domaine et hébergement chez free) et je pensais aller chez 1and 1 pour le domaine et l’hébergement mais je viens de lire plein d’avis négatifs ! Bon je me dis que ça n’est pas cher et que ça doit être tout de même mieux que free ! Mais du coup, je ne suis plus certain et j’hésite entre 1and1 et ovh mais ce dernier est plus cher (au niveau hébergement et il faut payer en plus le nom de domaine) et j’ai aussi vu des mécontents alors… Mais ce qui me dérange le plus chez 1and1 c’est que j’ai lu que les comptes pop sont en pop.1and1.fr et non pop.domaine.com, c’est vrai ça ? Et le plus embêtant, c’est que les serveurs sont en allemagne et si dans google on fait une recherche dans france, le site n’apparaîtra pas… C’est vrai aussi ?

  • David

    Salut ! Super tuto, mais une question me taraude : au début de la procédure, faut installer WP dans un dossier racine « www ».
    Si je ne souhaite pas utiliser de sous-domaine « www », est-ce quand même nécessaire, ou je peux l’installer dans un dossier qui porte un nom différent ? Quelles conséquences ?

  • Bonjour, merci pour ce tuto qui m’a l’air plutôt clair. Mais avant de m’y lancer je voulais savoir si il était possible d’avoir deux thèmes wordpress différents sur chaque site ? J’ai actuellement un site internet (http://seiltanzer.fr) et j’aimerais créer sur le même hébergement un site test pour tester thème, extensions etc.

  • astro

    super tuto,
    je suis aussi chez ovh.

    mais à la fin lorsque j’essaye de cliquer sur mon site mappé, j’arrive sur la page des webmail
    Avant de faire le type A du dns j’avais une erreur donc cela progresse mais je ne vois pas le site

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


9 − = quatre