Actualités

rss

Toutes les actualités de Neomytic


Hostname pour une Web App Azure & DNN

Cet article fait suite à un article précédent concernant le déploiement du CMS DNN via la solution Microsoft Azure

http://www.neomytic.be/Actualites/PostId/29/dnnonmsazure

Par défaut, ma Web App dispose d’un hostname sur le domaine azurewebsites.net, en effet mon site DNN (DotNetNuke) répond sur https://dnn-test-webapp.azurewebsites.net . Je vous propose de voir dans cet article comment nous pouvons changer ce nom et y associer quelque-chose de plus personnel.

Avant toute chose, vous devez posséder un nom de domaine personnalisé et avoir accès à la console de votre hébergeur vous permettant de créer et modifier les entrées DNS associées à votre domaine.

Dans le cadre de cet exemple, je ne vais pas associer un domaine, mais un sous-domaine, mais le processus est identique.

Création du record DNS CNAME

Dans cet exemple, je vais utiliser un record DNS de type CNAME. Celui-ci permet de rediriger un hostname vers un autre hostname. Dans les faits je vais donc rediriger le hostname dnn-test-webapp.azurewebsites.net vers test.neomytic.be, ce qui me permettra d'accéder à mon site DNN via l'url http://test.neomytic.be

Depuis ma console DNS, je vais donc sur le domaine Neomytic.be ajouter un record CNAME.

clip_image001

Ajout d'un hostname dans Azure

Depuis la console de gestion de ma Web App, nous trouvons le menu "Domaines personnalisés"

clip_image002

Là, je peux donc ajouter un nom d'hôte, de type CNAME

clip_image003

clip_image004

Configuration de la solution DNN

Côté DNS et Azure, tout est en ordre, mais malgré cela mon site DNN ne répond pas.

J'obtiens une erreur en voulant joindre l'adresse http://test.neomytic.be

DNN a une façon bien à lui de gérer les Alias d'un site web, il faut donc lui renseigner que le hostname test.neomytic.be fait bien parti des Alias qu'il doit gérer.

Pour ajouter un Alias à DNN, il faut donc se connecter au site via l'url par défaut, et se connecter via un compte administrateur. Ouvrir la console d'administration, et aller sur les paramètres du site.

clip_image005

clip_image006

Dans la partie permettant de gérer les Alias, il vous reste donc à y ajouter l'alias souhaité.

A partir de là, mon site DNN répond via l'url http://test.neomytic.be


Déploiement du CMS DNN dans Microsoft Azure
Résultat de recherche d'images pour DNN, ou DotNetNuke, est une solution CMS Open Source construite sur des technologies Microsoft. Une approche Open Source sous Windows c'est un peu bizarre mais en fait c'est très cohérent pour les raisons suivantes.


L’outil de développement naturel de DNN est Visual Studio. Le noyau de l’application est écrit en C#, un langage apprécié et maitrisé par une large communauté de développeurs en entreprise.

DNN est fourni en standard avec le provider pour SQL Server, qui est sa base de données naturelle. Le système d’authentification par défaut de DNN est assuré par l’ASP .NET Membership Provider. Les identifiants d’accès à un site DNN peuvent donc être partagés avec toute autre application, par la simple mise en œuvre des méthodes du provider Microsoft.

DNN dispose de connecteurs lui permettant de se relier sans difficulté à SharePoint, la solution collaborative utilisée en entreprise. Ceux-ci permettent d’exposer publiquement certaines données de l'intranet sur un site internet, sans compromettre la sécurité des données SharePoint.

DNN intègre en standard les librairies JQuery. Il permet également de mettre en œuvre le puissant langage de requête Linq, et, pour des applications plus importantes, de générer des modèles Entity Framework sans difficulté.

DNN est sous licence Open Source certifiée OSI. Une licence non-contraignante, protégeant les développements internes.

On trouve de tout dans l'écosystème DNN : thèmes graphiques, modules, contributions, le tout gratuit, très bon marché ou payant, avec ou sans contrat de mise à jour dans la durée, mono ou multi-sites, mono ou multi-serveurs. Cet écosystème riche et varié est possible grâce à la licence libérale de type BSD d'une part, et du fait de la culture d'entreprise de l'environnement professionnel Microsoft d'autre part.

Mon objectif dans cet article est de vous décrire le processus de mise en ligne d'un site DNN via l'offre Microsoft Azure. https://portal.azure.com

Nos besoins en terme de ressources dans Microsoft Azure

  • Une base de données SQL Serveur
  • Une application web pour héberger le site DNN


Création d'un groupe de ressources

Afin de gérer de manière centralisée ces ressources, la première chose à créer dans le portail Azure, est un groupe de ressources.

clip_image002

Nous allons donc dans la section "Groupes de ressources", et y ajouter un nouveau groupe.

clip_image003

  • Nom du groupe : DNN-Test-Ressources
  • Choisir votre abonnement
  • Emplacement : Géolocalisation de votre groupe de ressources

Il faut patienter quelques secondes, et rafraichir votre écran, votre nouveau groupe est prêt !

Vous pouvez consulter ce nouveau groupe de ressources, qui pour le moment est vide.

clip_image004



Création de la base de données SQL Serveur

Depuis votre groupe de ressources, vous allez ajouter une base de données SQL Serveur.

clip_image005

On fera donc le choix de créer une "SQL Database" !

clip_image006

Pour obtenir une SQL database, il faut d'abord créer un serveur SQL, ou utiliser un existant.
Ici nous allons créer un nouveau Serveur SQL

clip_image007

Attention de bien conserver, les paramètres d'authentification pour l'accès à votre base de données.

Ensuite nous pouvons finaliser la création de la base de données.

clip_image008

A moins d'avoir de très gros besoins de stockages, une base données "Basic" avec 2Go est largement suffisante. Concernant la notion de DTU, je vous invite à lire l'article suivant : https://docs.microsoft.com/fr-fr/azure/sql-database/sql-database-service-tiers-dtu

Il va falloir patienter quelques minutes

clip_image009

On retrouve maintenant ceci dans notre groupe de ressource

clip_image010



Création de l'application web

Depuis votre groupe de ressources, vous allez ajouter une application web

clip_image011

clip_image012

Pour mettre en ligne une web application, il vous faut créer un plan App Service qui vont déterminer l'emplacement, les fonctionnalités et le coût de votre application web. Vous pouvez aussi utiliser un plan existant.

clip_image013

En terme de plan, je fais le choix d'un S1 Standard, qui me suffit pour commencer

clip_image014

Je peux maintenant finaliser la création de mon application web

clip_image015

Il va falloir patienter quelques minutes

clip_image009[1]

On retrouve maintenant ceci dans notre groupe de ressource

clip_image016

A ce stade nos ressources Azure sont prêtes, il nous reste à déployer le CMS DNN.



Récupération des fichiers d'installation de DNN

Nous devons d'abord récupérer le setup de déploiement de DNN, via le lien suivant :
https://www.dnnsoftware.com/community/download

Attention de bien prendre le lien vers "Download DNN platform"

clip_image017

Ensuite de télécharger en local le package d'installation de la dernière version disponible, ici la 9.2.2

clip_image018

Dès que le téléchargement du package d'installation est terminé, il faut le décompresser en local.
Il nous reste à transférer tous les fichiers vers la web application Microsoft Azure.



Déploiement de DNN sur Microsoft Azure via Dropbox

Microsoft Azure propose plusieurs façons de déployer des fichiers sur une Web App, celle que j'utilise est une synchronisation via DropBox.

J'ouvre donc le détail de ma Web Application

clip_image019

Dans le menu contextuel, vous trouverez l'entrée "Options de déploiements"

clip_image020clip_image021

Il faudra fournir vos paramètres d'authentification Dropbox pour pouvoir interconnecter votre WebApp à votre compte Dropbox. Si vos paramètres d'authentification sont acceptés, un nouveau dossier Dropbox devrait apparaitre en local sur votre poste (si celui-ci synchronise votre Dropbox)

C:\Users\xxxxxx\Dropbox\Applications\Azure\DNN-Test-WebApp

clip_image022

Il vous reste donc à transférer vos fichiers d'installation DNN dans ce dossier dropbox.

Ensuite, dans Microsoft Azure, via les options de déploiement de votre Web App, il vous reste à lancer une synchronisation.

clip_image023

clip_image024

clip_image025

Un peu de patiente maintenant !

clip_image026

Et au bout de quelques "longues" minutes

clip_image027

Le package d'installation de DNN contient environ 2.673 fichiers, il faudra peut-être relancer la synchronisation pour que ceux-ci soient tous remontés vers votre Web App. Cela s'explique par le fait que votre contenu local Dropbox n'est pas encore en ligne sur votre Dropbox au moment où vous lancez la synchronisation vers votre Web App Microsoft Azure.



Revue de vos ressources Microsoft Azure

Nous avons donc un groupe de ressources "DNN-Test-Ressources"

clip_image028

Ce groupe contient les ressources suivantes

DNNTestSQLServer : Notre instance SQL Server, dont le compte d'administration est dnnsa

clip_image029

Notre serveur SQL est accessible via dnntestsqlserver.database.windows.net

Ce serveur héberge la base de données dnntest-db

clip_image030

DNN-Test-PlanAppService : Notre conteneur d'applications

clip_image031

Ce conteneur héberge notre Web App DNN-Test-WebApp

clip_image032

Notre application web est accessible via l'url : https://dnn-test-webapp.azurewebsites.net

clip_image033



Configuration de notre CMS DNN

Il est maintenant temps d'exécuter pour la première fois notre application web. Au premier lancement, DNN va se rendre compte qu'il n'est pas configuré, et va donc nous proposer de le faire.

Via votre navigateur préféré, https://dnn-test-webapp.azurewebsites.net/

Si tout s'est passé correctement dans les étapes précédentes vous devriez arriver sur la page d'installation de DNN.

clip_image034

A vous de configurer les paramètres selon vos besoins.

Par contre pour les informations de base de données, là il faut être attentif

clip_image035

Si vos paramètres de base de données sont correctement introduits, le setup de DNN doit se lancer

clip_image036

La configuration complète de votre CSM DNN peut prendre jusqu'à 10 minutes, donc un peu de patiente.

clip_image037

Il ne vous reste plus qu'à prendre la main sur votre site web DNN !!!

En espérant que cet article pourra vous aider à prendre en main le CMS DNN et la plateforme Microsoft Azure.

Sur le même sujet, je vous proposerai rapidement deux autres articles.

Le premier concernant la gestion des DNS et Alias de DNN, car l'url https://dnn-test-webapp.azurewebsites.net/ n'est pas très "sexy" pour un site web, et un second article sur comment transférer un site DNN existant vers Microsoft Azure.