Show / Hide Table of Contents

Installation d'e-Atal V6 sur Windows Server

Publication sur IIS

Systèmes d’exploitation supportés

  • Windows Server 2016, 2019, 2022.

Prérequis

Configuration de Windows Server avec le rôle serveur Serveur Web (IIS)

Activez le rôle serveur Serveur Web (IIS) : utilisez l’assistant Ajouter des rôles et des fonctionnalités via le biais du menu Gérer ou du lien dans Gestionnaire de serveur.

Gestionnaire de serveur

À l’étape Rôles de serveur, cochez la case Serveur Web (IIS).

Rôles de serveur

Après l’étape Fonctionnalités, si l’étape Services de rôle se charge pour le serveur Web (IIS), acceptez les services de rôle par défaut fournis. Dans la partie Performance, cochez la case Dynamic Content Compression, puis dans la partie Application Development, vérifiez que la case WebSocket Protocol est cochée.

Services de rôle

S'il n'y a pas de ligne pour le serveur Web (IIS) après l'étape Fonctionnalités, développez le noeud Web Server (IIS), puis développez Web Server. Dans la partie Performance, cochez la case Dynamic Content Compression, puis dans la partie Application Development, vérifiez que la case WebSocket Protocol est cochée.

Services de rôle

Validez l’étape de Confirmation pour installer les services et le rôle de serveur web. Un redémarrage du serveur/d’IIS n’est pas nécessaire après l’installation de rôle Serveur Web (IIS).

Installation du module d’hébergement .NET Core

Installez le bundle d’hébergement .NET Core sur le serveur IIS permettant aux applications ASP.NET Core de s’exécuter derrière IIS.

Important : Si le bundle d’hébergement est installé avant IIS, l’installation du bundle doit être réparée. Après avoir installé IIS, réexécutez le programme d’installation du bundle d’hébergement.

Téléchargez le programme d’installation du runtime ASP.NET Core 8 (cliquez sur le lien Hosting Bundle). Exécutez le programme d’installation sur le serveur, acceptez les conditions générales de la licence et cliquez sur Installer.

Windows Server Hosting Bundle

À la fin de l’installation, redémarrez le système ou exécutez les commandes suivantes dans une interface de commande :

net stop was /y
net start w3svc

Création du site IIS

Créez un dossier sur le serveur qui contiendra les fichiers et dossiers publiés de l’application e-Atal V6.

Dans le gestionnaire IIS, ouvrez le nœud du serveur dans le panneau Connexions. Cliquez avec le bouton de droite sur le dossier Sites et sélectionnez Ajouter un site Web dans le menu contextuel.

Item de menu Ajouter un site Web

Spécifiez le Nom du site et définissez le Chemin physique sur le dossier de déploiement de l’application. Indiquez éventuellement un nom d'hôte dans la partie Liaison si un nom d'hôte sera utilisé pour accéder à l'application. Puis, créez le site web en sélectionnant OK :

Ajouter un site Web

Sous le nœud du serveur, sélectionnez Pools d’applications. Cliquez avec le bouton de droite sur le pool d’applications du site et sélectionnez Paramètres avancés dans le menu contextuel.

Pools d’applications

Dans la fenêtre Modifier le pool d’applications, définissez la Version .NET CLR sur Aucun code managé et Charger le profil utilisateur sur True :

Modifier le pool d'applications

Optimisation du site

Par défaut, le processus est supprimé et libéré de la mémoire après 20 minutes d'inactivité. Cela implique un temps d'accès plus long lors d'une nouvelle requête après cette désactivation ("cold query").

Pour ne pas avoir ce problème, dans les paramètres avancés du pool d'application, changer le mode de démarrage sur AlwaysRunning : Paramètres avancés du pool d’applications

Puis dans les paramètres avancés du site, choisissez True à la ligne Préchargement activé : Paramètres avancés du site

Nombre de processus de travail

Suite à la version 6.72, le code javascript des composants kendo est généré dans un fichier à part de la page. Ceci passe par un cache en mémoire pour stocker temporairement le code.

Pour que le cache mémoire fonctionne, il faut s'assurer que le nombre de maximal de processus de travail soit configuré sur la valeur 1 dans les paramètres avancés du pool d'application: Paramètres avancés du pool d’applications

Sélection du certificat SSL

Si vous n'utilisez pas de proxy inverse, vous devez créer une liaison https. Ajouter le certificat SSL sur le serveur via le nœud du serveur > Certificats de serveur : veuillez suivre les instructions de votre fournisseur de certificat SSL, ou cliquez sur Importer pour ajouter votre propre fichier de certificat (.pfx).

Certificats de serveur

Sélectionnez le nœud du site avec le bouton de droite et choisissez Modifier les liaisons dans le menu contextuel :

Item de menu Modifier les liaisons

Cliquez sur le bouton Ajouter :

Liaisons de sites

Dans la liste déroulante Type, choisissez https. Indiquez le nom de l’hôte et choisissez le certificat SSL dans la liste :

Ajouter la liaison de site

Cliquez sur le bouton OK pour valider.

Installation de l’application e-Atal V6

Arrêtez le site via le menu Gérer le site Web :

Arrêter le site Web

Décompressez ensuite le fichier .zip contenant les fichiers et dossiers publiés de l’application e-Atal V6 vers le dossier physique du site Web (vous pouvez cliquer sur le menu Explorer du site pour parcourir ce dossier physique).

Si e-Atal V6 est installé sur un serveur Windows 2012 R2, éditez le fichier web.config et commentez la section security :

<!--<security>
  <requestFiltering removeServerHeader="true" />
</security>-->

Copiez le fichier appsettings.json présent dans le sous-dossier SampleSettings vers le sous-dossier Settings (ne pas faire cette copie lors d’une mise à jour sinon vous devrez refaire la configuration).

Configuration de la connexion à la base de données

Dans le fichier appsettings.json du dossier Settings, modifiez la ligne Atal dans la section ConnectionStrings.

Pour SQL Server :

"Atal": {
  "ProviderType": "SqlServer",
  "ConnectionString": "Server=serveur\\instance,port;Database=nomDeLaBase;User ID=utilisateur;Password=motDePasse;",
  "SchemaName": "nomDuSchema"
}


Pour Oracle:

"Atal": {
  "ProviderType": "Oracle",
  "ConnectionString": "Data Source=hôte:port/nomDuService;User Id=utilisateur;Password=motDePasse;",
  "SchemaName": "nomDuSchema"
}


Pour PostgreSQL:

"Atal": {
  "ProviderType": "Postgre",
  "ConnectionString": "Server=serveur;Port=port;Database=nomDeLaBase;User Id=utilisateur;Password=motDePasse;",
  "SchemaName": "nomDuSchema"
}


Quand vous avez terminé la configuration, enregistrez le fichier appsettings.json, puis cliquez sur Démarrer via le menu Gérer le site Web :

Démarrer le site web

Il ne vous reste plus qu’à tester le site en sélectionnant Parcourir dans le menu Gérer le site Web.

Utilisation d'un proxy inverse (reverse proxy)

Si vous souhaitez utiliser un proxy inverse en frontal du serveur e-Atal V6, éditez le fichier appsettings.json et décommentez la section HasReverseProxy :

"HasReverseProxy": true,

Dans le cas où le chemin passé par le proxy contient un préfixe (par exemple /test pour une redirection vers l'environnement de test), celui-ci doit être supprimé afin que le routage fonctionne correctement. Indiquez alors ce préfixe dans la clé PathBase du fichier appsettings.json :

"PathBase": "/test",

Si votre proxy inverse ne redirige pas automatiquement les requêtes HTTP vers HTTPS, indiquez dans le fichier appsettings.json le port HTTPS :

"https_port": 443,

Pour que les fonctionnalités de notification bureau et de conversation fonctionnent correctement dans e-Atal V6, le support des WebSockets doit être activé dans votre proxy inverse. Dans le cas d'un proxy inverse NGINX, vous pouvez consulter la documentation concernant les WebSockets. Voici un exemple de configuration :

server_tokens off;

map $http_upgrade $connection_upgrade {
    default Upgrade;
    ''      close;
}

server {
    listen 80;
    server_name atalv6.mondomaine.fr;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name atalv6.mondomaine.fr;
    add_header Strict-Transport-Security "max-age=2592000" always;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_certificate C:\Certbot\live\atalv6.mondomaine.fr\fullchain.pem;
    ssl_certificate_key C:\Certbot\live\atalv6.mondomaine.fr\privkey.pem;
    location / {
        proxy_pass         http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection $connection_upgrade;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
    location /test/ {
        proxy_pass         http://localhost:8081;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection $connection_upgrade;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

Sécurité

Pour plus de sécurité, nous conseillons de désactiver les anciennes versions des protocoles SSL et TLS sur vos serveurs IIS ou sur vos reverse proxies (NGINX, Apache, ...). Pour les serveurs IIS, vous pouvez utiliser l'outil IIS Crypto (cliquez sur le bouton Best Practices, laissez cocher uniquement les protocoles TLS 1.2 ou supérieurs dans la partie Server Protocols, puis cliquez sur le bouton Apply). Pour un serveur NGINX, il faudra ajouter la ligne ssl_protocols TLSv1.2 TLSv1.3; dans votre fichier de configuration.

Veuillez activer également l'entête Strict-Transport-Security dans les réponses HTTP sur vos reverse proxies. Pour IIS, le programme s'en chargera, mais pour un reverse proxy de type NGINX par exemple, il faudra ajouter la ligne add_header Strict-Transport-Security "max-age=2592000" always; dans votre fichier de configuration.

Vérification de l'installation

Vérifiez que la connexion est bien sécurisée et que le certificat est valide :

Certificat valide

Après vous êtes connecté avec un utilisateur Atal, vérifiez qu'il n'y a pas d'erreur Javascript dans la console du navigateur (touche F12).

Erreurs Javascript Dans la capture d'écran ci-dessus, il y a des erreurs concernant les WebSockets dûes à une mauvaise configuration du reverse proxy NGINX.

Configuration de la messagerie

Après avoir vérifié les paramètres de la messagerie, testez la configuration en envoyant un mail de test :

Configuration de la messagerie

Configuration du dossier des pièces jointes

Ouvrez la configuration des pièces jointes pour connaître (ou indiquer) le dossier partagé pour les pièces jointes :

Configuration des pièces jointes

Si l'identité indiquée dans les paramètres du pool d'applications IIS est ApplicationPoolIdentity :

  • Dans le cas où le répertoire des pièces jointes se trouve sur le serveur IIS, ajoutez IIS AppPool\nom_du_pool dans les droits du dossier.
  • Sinon, pour un répertoire se trouvant sur un autre serveur, ajoutez le compte machine nom_du_domaine\nom_du_serveur_v6$ (ne pas oublier le $) dans les droits du dossier des pièces jointes, ainsi que sur le partage.

Pour toute autre identité, ajoutez directement l'utilisateur en question.

En cas de problème pour ajouter des pièces jointes de plus de 64 Ko, vérifiez que l'option Charger le profil utilisateur du pool d'application est bien définie à true, puis créez un dossier Temp dans le dossier C:\Users\NomDuPoolDApplication\AppData\Local.

In This Article
Back to top Berger-Levrault