Fermer

juillet 15, 2022

Configuration de plusieurs sites à exécuter sur Sitecore dans des conteneurs Docker

Configuration de plusieurs sites à exécuter sur Sitecore dans des conteneurs Docker


J’ai récemment mis en place Démo Lighthouse de Sitecore . Alors que j’ai trouvé la documentation sur la configuration des choses bien, avec plusieurs Blog des postes qui le décrivent plus en détail, une fois que les choses fonctionnaient et que je pouvais voir le site Lifestyle Lighthouse sur l’url du CD. Mais lors de la connexion au serveur CM, j’ai remarqué qu’il y avait en fait plusieurs autres sites dans l’arborescence de contenu.

Arborescence du contenu de la démo Lighthouse

Plus tard, j’ai réalisé que chaque site était mappé sur un répertoire virtuel sur l’url du CD (par exemple /financial), mais à ce moment-là, j’ai déjà commencé à essayer de comprendre comment mapper chacun de ces sites sur leurs propres URL. Pour ce faire, vous devrez suivre plusieurs étapes : certaines auxquelles vous êtes probablement habitué et quelques étapes supplémentaires, car tout fonctionne dans docker. Ces étapes fonctionneront pour les sites de démonstration Lighthouse ainsi que pour toute autre solution multisite que vous exécutez sur Docker et qui utilise Trafeik comme proxy inverse.

Étape 1 : Entrées de l’hôte

La première chose que nous devons faire est d’ajouter quelques URL à notre fichier hôte, situé sous c:\windows\system32\drivers\etc\

Fichier des hôtes du phare

Étant donné que mon plan était de laisser le site lifestyle mappé à l’url du cd, j’ai seulement ajouté des urls pour les sites financiers, de santé et cumulus.

Étape 2 : configuration SXA

Comme ce sont tous des sites SXA, la prochaine chose que nous devons faire est de configurer les groupements de sites pour les trois nouveaux sites. Sous chaque site, nœud de réglage, il y a un dossier « Groupement de sites », avec une entrée pour ce site en dessous. Sur cet élément, vous devez remplir un nom d’hôte et supprimer le paramètre de dossier virtuel.

Paramètres de regroupement de sites Lighthouse

Sitecore - Comprendre les approches de développement : une perspective de Sitecore

Pour m’assurer que cette configuration avait l’air bien et que les sites supplémentaires n’étaient pas affectés par la configuration générique du site lifestyle, j’ai vérifié le gestionnaire de site SXA. Tout avait l’air bien, mais si vous voyez des problèmes ici, vous devrez peut-être simplement réorganiser les sites pour vous assurer que la correspondance générique se produit après la résolution des autres sites.

Responsable du site Lighthouse Sxa

Pendant que vous êtes ici, c’est probablement une bonne idée d’appuyer sur le bouton de publication et de vous assurer que les définitions du site sont publiées.

Étape 3 : Configurer Traefik

Si vous vous arrêtez là et essayez d’adresser les URL que vous avez saisies, vous obtiendrez une simple erreur 404.

C’est ici que les choses se compliquent. Étant donné que tout s’exécute dans docker, nous devons indiquer à l’instance docker Traefik d’acheminer nos nouvelles URL d’hôte vers l’instance de CD. Pour ce faire, nous devrons modifier la règle dans le fichier docker-compose qui configure nos instances de CD. Si nous regardons dans le fichier « docker-compose-xp1.override.yml », vous remarquerez que la règle qui contrôle le mappage se trouve dans les étiquettes de la définition du cd. Vous y verrez :

 - "traefik.http.routers.cd-secure.rule=Host(`${CD_HOST}`)"

À la recherche de la meilleure façon d’ajouter notre hôte supplémentaire, j’ai consulté le documentation des règles d’accueil pour Traefik :

Doc de règle d'hôte Traefik

La documentation sur la méthode host montre que nous pouvons simplement fournir une liste d’hôtes séparés par des virgules. Et bien que j’aurais pu paramétrer les autres URL, je suis allé vite et mal et je les ai juste inclus directement en ligne (notez que j’ai utilisé les guillemets inclinés pour être cohérent).

Règle d'hôte de CD Lighthouse

Étape 4 : Docker vers le bas et vers le haut

Pour que cela soit appliqué, il vous suffit d’exécuter « docker-compose down » puis « docker-compose up -d ».

Une fois terminé, les sites supplémentaires devraient tous être adressables à l’aide de leurs propres URL.

Page d'accueil Sitecore Lighthouse Financial

Page d'accueil Sitecore Lighthouse Healthcare

Page d'accueil Sitecore Lighthouse de Cumulus






Source link