web-dev-qa-db-fra.com

Mappage de domaine (sans plugin) dans multisite 4.5.x?

Utilisation de WP 4.5.2

Même le développeur du plugin WordPress.org pour le mappage de domaine dans un réseau multisite dit de ne plus utiliser le plugin - car core WP inclut désormais les mêmes fonctionnalités.

Est-ce que quelqu'un connaît des instructions de bout en bout sur la façon de faire fonctionner cela? J'ai essayé de définir un pointeur CNAME dans mon registraire sur l'un de mes sites réseau et j'ai remplacé l'URL du site dans admin->network->edit site->info->Site Address (URL) par le nom du domaine enregistré. Il m'aborde quand même sur une page "le site n'existe pas" sur mon hébergement. entreprise.

J'ai l'impression que c'est dû au fait de ne pas avoir d'adresse IP dédiée pour l'instance multisite, mais avant d'acheter un autre plan d'hébergement et de payer pour une adresse IP dédiée, je voulaisVRAIMENTcomprendre comment le mappage de domaine est censé être mis en place, dans WP 4.5 multisite.

Toute aide, idée ou pointeur vers une bonne référence serait très apprécié.

7
C C

Voici un exemple de solution que j'ai configurée, qui laisse le site sur le réseau, mais établit une carte de domaine à partir de n'importe quel domaine enregistré, sur le réseau. Cela donne l'impression que le site réseau est un site totalement indépendant, avec toutes les fonctionnalités (connexion, etc.) intactes.

Objectif:

Mappez le domaine enregistré du client, à la fois www.foosite.com et foosite.com, sur notre réseau multisite mymultisite.com - et simplifiez-le le plus possible sur le client (c’est-à-dire qu’il ne faut pas bricoler avec les enregistrements CNAME ou A chez leur registraire).

Procédure:

Utilisation d'Amazon Route 53 en tant que système DNS.

  1. Avec Amazon AWS Route 53 gère le DNS, nous créons donc d'abord une zone hébergée pour le domaine enregistré du client (foosite.com) avec un enregistrement www CNAME pointant vers www.mymultisite.com

  2. Configurez un compartiment S3 dans Amazon AWS pour les foosite.com et statiquement mappez le client (non-www) avec www.foosite.com

  3. De retour dans la zone hébergée Route 53, créez un enregistrement A pour le (code non-www) foosite.com et spécifiez-le comme un alias, en le pointant sur le compartiment créé à l'étape 2. Cela garantit que www.foosite.com et foosite.com finiront par pointer vers www.mymultisite.com

  4. Sur le réseau multisite, accédez au site du client dans l’administrateur du réseau et modifiez l’URL du site en le remplaçant par www.foosite.com.

  5. Dans le compte d'hébergement hébergeant mymultisite.com, spécifiez un domaine complémentaire (ou un domaine parqué) appelé foosite.com et pointez-le sur public_html (ou à l'emplacement où vous avez installé WP). Cela crée effectivement un enregistrement d'hôte virtuel dans Apache config, pour le site mappé entrant.

( remarque: Si le multisite est hébergé sur une adresse IP statique et qu’il est le seul site à cette adresse, et que la société d’hébergement autorise le mappage dynamique des domaines entrants sur la racine du document du site ... alors vous ne le faites pas. pas besoin d’utiliser des domaines complémentaires ou garés. Consultez votre hébergeur si vous n’êtes pas sûr).

  1. Dans votre wp-config.php pour le multisite, vous devez ajouter une ligne: define('COOKIE_DOMAIN', $_SERVER['HTTP_Host'] ); Si vous rencontrez des problèmes avec ce paramètre, vous pouvez vouloir essayer define('COOKIE_DOMAIN', '');).

Résultat:

Vous avez mis en place une solution DNS complète pour le domaine mappé. Tout ce que vous avez à faire est de dire au client de mettre à jour son registraire pour son domaine, en spécifiant les serveurs de noms Amazon enregistrés dans votre zone hébergée sur Route 53 en tant que DNS. Vos clients ne doivent absolument pas manipuler les enregistrements CNAME ou A - vous gérez complètement le mappage sur Route 53. En outre, en raison du magic de l'enregistrement AWS Alias, votre multisite ne t même besoin d’être sur une adresse IP statique (même si je la garde sur une, juste pour être sûr).

Si vous utilisez un autre système en tant que serveur de noms (par exemple, Enom ou GoDaddy), vous devez configurer un enregistrement A pour leur domaine qui pointe vers l'adresse IP statique de mymultisite.com. C'est une bonne réponse, mais il y a un risque que si votre adresse IP statique change jamais, vous devez dire à vos clients d'aller mettre à jour l'enregistrement A auprès de leur registraire.

J'aime beaucoup mieux la solution Route 53. J'ai également établi un ensemble de noms de domaine "en marque blanche" chez AWS en suivant les instructions fournies dans cet article . C’est maintenant extrêmement simple: il vous suffit de dire aux clients que vos nouveaux serveurs de noms doivent être définis chez votre registraire, et que tout du côté WP fonctionne parfaitement. Pas besoin de maintenir une adresse IP statique dans un enregistrementA.

Voici à quoi ressemble la zone hébergée sur foosite.com:

foosite.com     A     ALIAS <name of S3 bucket>
footsite.com    NS    ns1.vanityns.com; ns2.vanityns.com; ns3.vanityns.com; ns4.vanityns.com
foosite.com     SOA   ns1.vanityns.com hostmaster.vanityns.com x x x x
www.foosite.com CNAME www.mymultisite.com

Configurer le serveur de noms vanity est trop compliqué pour entrer ici; suivez les instructions de cet article que j'ai lié. Un point supplémentaire à ce sujet: assurez-vous que pour les entrées de serveur de noms du serveur de noms vanity lui-même, vous spécifiez la liste des serveurs de noms vanity avec glue records en se connectant aux adresses IP réelles des serveurs de nom effectivement assignés à AWS dans votre délégation réutilisable. ensemble.

Cela se résume à environ 20 heures de recherche/expérimentation dans ce qui a fonctionné pour moi.

4
C C