VIVE LA DOCKERISATION
INSTALLATION DE DOCKER POUR WINDOWS
https://www.docker.com/get-started
choisir windows puis next next next
une fois get-started faire les lacement requis puis next etc …
INSTALLATION DE WINDOWS NANO SERVER IIS 2016
aller dans
https://hub.docker.com/
puis chercher « nanoserver »

puis copier le script docker

et le coller dans une commande POWERSHELL en ADMIN !

SI CA NE MARCHE PAS ( image operating system « windows » cannot be used on this platform) C’EST NORMAL 😉
il faut selectionner switch to windows containers dans le bouton droit sur l’icone de docker de la barre des taches.

une fois tout installer aller dans docker puis container /apps

lancer avec le bouton play sur le container puis CLI

puis dans la fenetre docker
Install-Module -Name IISAdministration ou Install-Module -Force -name IISAdministration
puis
Import-Module IISAdministration -UseWindowsPowerShell
Création de sites web
Utilisez cette applet de commande :
PS D:\> New-IISSite -Name TestSite -BindingInformation *:80:TestSite -PhysicalPath c:\test
Vous pouvez ensuite exécuter Get-IISSite pour vérifier l’état du site (renvoie le nom, l’ID, l’état, le chemin d’accès physique et les liaisons du site web).
Suppression de sites web
Exécutez Remove-IISSite -Name TestSite -Confirm:$false.
Création de répertoires virtuels
Vous pouvez créer des répertoires virtuels à l’aide de l’objet IISServerManager renvoyé par Get-IISServerManager, qui affiche l’API Microsoft.Web.Administration.ServerManager.NET. Dans cet exemple, les commandes suivantes accèdent à l’élément Site web par défaut de la collection Sites et à l’élément d’application racine (/) de la section Applications. Ensuite, elles appellent la méthode Add() de la collection VirtualDirectories pour cet élément d’application afin de créer le répertoire :PowerShellCopier
PS C:\> $sm = Get-IISServerManager
PS C:\> $sm.Sites["Default Web Site"].Applications[/].VirtualDirectories.Add(/DemoVirtualDir1, c:\test\virtualDirectory1)
PS C:\> $sm.Sites["Default Web Site"].Applications[/].VirtualDirectories.Add(/DemoVirtualDir2, c:\test\virtualDirectory2)
PS C:\> $sm.CommitChanges()
Création de pools d’applications
De même, vous pouvez utiliser Get-IISServerManager pour créer des pools d’applications :PowerShellCopier
PS C:\> $sm = Get-IISServerManager
PS C:\> $sm.ApplicationPools.Add(DemoAppPool)
Configuration du protocole HTTPS et de certificats
Utilisez l’utilitaire Certoc.exe pour importer des certificats, comme dans cet exemple qui présente la configuration HTTPS d’un site Web sur un Nano Server :
- Sur un autre ordinateur qui n’exécute pas Nano Server, créez un certificat (à l’aide de votre propre nom et mot de passe de certificat), puis exportez-le vers c:\temp\test.pfx.
$newCert = New-SelfSignedCertificate -DnsName www.foo.bar.com -CertStoreLocation cert:\LocalMachine\my$mypwd = ConvertTo-SecureString -String YOUR_PFX_PASSWD -Force -AsPlainTextExport-PfxCertificate -FilePath c:\temp\test.pfx -Cert $newCert -Password $mypwd - Copiez le fichier test.pfx sur l’ordinateur de Nano Server.
- Sur le Nano Server, importez le certificat dans le magasin My avec cette commande :certoc.exe -ImportPFX -p YOUR_PFX_PASSWD My c:\temp\test.pfx
- Récupérez l’empreinte numérique de ce nouveau certificat (dans cet exemple, 61E71251294B2A7BB8259C2AC5CF7BA622777E73) avec
Get-ChildItem Cert:\LocalMachine\my. - Ajoutez la liaison HTTPS vers le site web par défaut (ou au site dont vous souhaitez ajouter la liaison) à l’aide de ces commandes Windows PowerShell :PowerShellCopier
$certificate = get-item Cert:\LocalMachine\my\61E71251294B2A7BB8259C2AC5CF7BA622777E73 # Use your actual thumbprint instead of this example $hash = $certificate.GetCertHash() Import-Module IISAdministration $sm = Get-IISServerManager $sm.Sites["Default Web Site"].Bindings.Add("*:443:", $hash, "My", "0") # My is the certificate store name $sm.CommitChanges()Vous pouvez également utiliser l’Indication de nom de serveur (SNI) avec un nom d’hôte spécifique selon cette syntaxe :$sm.Sites["Default Web Site"].Bindings.Add("*:443:www.foo.bar.com", $hash, "My", "SNI")