Artisan Développeur

Qualité, amélioration continue, agilité.

WordPress multi site, mod vhost alias et sous domaines

WordPress multisite, apache, mod_vhost_alias

Comment utiliser mod_vhost_alias avec wordpress en mode multisite

Si comme moi, cher lecteur (j’ai toujours voulu écrire ça ^^ ) tu aimes bien avoir la possibilité d’avoir automatiquement un sous domaine lorsque tu crées un répertoire à la racine de ton site, tu dois connaître ou utiliser (sans connaître) mod_vhost_alias. Et dans les directives de ton vhost avoir une ligne de ce genre :

[pastacode lang= »bash » message= »virtualdocumentroot » highlight= »1″ provider= »manual »]

VirtualDocumentRoot /var/www/monjolisiteweb/htdocs/%1

[/pastacode]

J’étais très heureux comme ça ! Un jour, j’ai commencé à écouter ce que disent, entre autre, les gens de the family (http://www.thefamily.co/)  sur le growth hacking.

(Un super MOOC proposer par IONISx est disponible d’ailleurs.)

Entre temps j’ai retenu une chose il faut segmenter pour communiquer plus précisément, cibler, adapter le discours, avoir du feedback … Pour notre projet de startup ([maj 2016 ]qui n’a pas abouti), en version lean, low cost, on a opté pour un template wordpress « tout fait » (c’est très moche ce que la pauvreté du début de l’aventure te fait faire ^^ mais faut être pragmatique ! ). Une flat page, responsive très à la mode, mais comment je fais pour segmenter ?

Avec wordpress je savais que le mutisite (network) était possible, donc go sur le codex (comment configurer le multisite), j’ouvre mon wp-config.php, j’ajoute la ligne

[pastacode lang= »php » message= » » highlight= » » provider= »manual »]

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

[/pastacode]

bref je suis le tuto du codex.

Évidemment, les sous répertoires, c’est moches, moi j’aime pas les sous répertoires – comme dirait le schtroumpf grognon, wiki.kaizendo.fr est mieux que kaizendo.fr/wiki, ça n’engage que moi, mais comme c’est moi qui décide « that’s it ! ».

Le multisite aussi me permettra, à terme, d’avoir des personnes différentes qui s’occuperont indépendamment des segments, en tout cas je l’espère.

J’active le multi-site wordpress, je crée le 2ème site de mon réseau wordpress, j’essaye d’afficher la page et là, c’est le drame… Erreur 404.

Après cinq minutes à me creuser la tête, un petit tour par la zone dns, deux trois tests, je repense à mes sous domaines automatiques ! La solution est d’avoir un vhost spécifique pour le WordPress network qui va contenir les alias nécessaires, un alias par site.

Je crée un vhost avant la directive VirtualDocumentRoot, avet comme document root l’install wordpress. Pour chaque site de mon WordPress network il faudra faire un alias à ce vhost.

[pastacode lang= »bash » message= »Vhost wordpress multi site » highlight= » » provider= »manual »]


ServerName sousdomaine.kaizendo.fr
ServerAlias autreSousDomaine.kaizendo.fr
DocumentRoot /var/www/monjolisiteweb/htdocs 

Options ExecCGI FollowSymlinks
AllowOverride all
Order allow,deny
Allow from all


[/pastacode]

Quand le requête est traitée, le vhost est trouvé, renvoyé vers le document root du wordpress master, et ça fonctionne ! Comme ça je garde la flexibilité des sous domaines automatiques et j’utilise la capacité multisite de wordpress.

 

Comments ( 2 )

  1. / Replylocalize
    Je deterre ce vieux post car je suis en plein dedans actuellement. Et j'ai le meme probleme : je peux creer les sites mais pas acceder a l'url (error). Ce n'est pas automatique la creation de sous sites avec wp multisite ? Le fait de proposer en front end a ses lecteurs de creer leur site est le principe de base de wpmu.
    • / ReplyNicolas
      Bonsoir ! Il y a une partie qui est forcément liée à la configuration du serveur. Quelle est l'erreur ? La conf apache ? (ou autre) Worpress gère le multisite à condition qu'Apache (ou autre) traite correctement la requête

Leave a reply

Your email address will not be published.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.