IIS 10 in Windows Server 2016 nutzen

So stellen Sie einen Webserver in Microsoft-Netzen bereit

| Autor / Redakteur: Thomas Joos / Andreas Donner

Die Rolle des Webservers in Windows Server 2016 wird auch als Internet Information Services (IIS) bezeichnet.
Die Rolle des Webservers in Windows Server 2016 wird auch als Internet Information Services (IIS) bezeichnet. (Bild: Joos / Microsoft)

In Windows Server 2016 stehen die Internet Information Services (IIS), also der interne Webserver, in allen verfügbaren Serverversionen zur Verfügung. Die Installation kann also auch auf Core- und Nano-Servern erfolgen. Generell ist auch der Betrieb in Containern möglich.

Mit Windows Server 2016 bietet Microsoft maximale Flexibilität für den internen Webserver. Administratoren können IIS auf herkömmlichen Servern mit Windows Server 2016 installieren, aber auch auf den neuen Nano-Servern und in Containern. Wie in den Vorgängerversionen lassen sich die Internetinformationsdienste, wie der Rollendienst auf deutschen Servern benannt wird, auch auf Core-Servern installieren. Im folgenden Beitrag geben wir einen Überblick zu den Installationsmöglichkeiten.

Microsoft bietet auf mehreren Internetseiten Hinweise und Tools für den Betrieb der IIS. Auf der Microsoft-Webseite gibt es darüber hinaus einen eigenen Bereich für die IIS und andere Webtools von Microsoft. Auf den Seiten erhalten Administratoren zusätzliche Informationen und Tools rund um IIS.

Neuerungen in IIS 10 nutzen

Mit den IIS in Windows Server 2016 unterstützt Microsoft auch HTTP/2. Außerdem können Administratoren für Host Header Platzhalter verwenden, auch zusammen mit der PowerShell. Ein Befehl dazu sieht zum Beispiel folgendermaßen aus:

New-WebBinding -Name "Default Web Site" -IPAddress "*" -Port 80 -HostHeader "*.contoso.com"

Wollen Administratoren verhindern, dass sich der Webserver als IIS-10-Server nach außen meldet, kann der Serverheader in der PowerShell entfernt werden:

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/requestFiltering" -name "removeServerHeader" -value "True"

IIS 10 arbeitet mit Nano-Servern zusammen und lässt sich daher auch auf Nano-Servern installieren. In diesem Fall stehen aber keine lokalen Verwaltungstools zur Verfügung. Die Verwaltung der IIS erfolgt in diesem Fall über das Netzwerk mit den gleichen Verwaltungstools, wie bei der Verwaltung lokaler Server. Entwickler können in einer solchen Infrastruktur auch externe Dienste wie Tomcat oder Wordpress direkt auf Nano-Servern betreiben, was den Betrieb deutlich sicherer macht.

IIS und Nano

Im Gegensatz zu Core-Servern sind Nano-Server keine weitere Installationsvariante von Windows Server 2016. Die Bereitstellung der neuen Server ist nicht in der Installationsoberfläche auswählbar. Nano-Server werden als Image bereitgestellt und bauen auf 64-Bit auf. 32-Bit-Programme und MSI-Dateien als Installationsgrundlage werden nicht unterstützt.

Microsoft bietet mit dem Nano Server Image Builder ein Tool an, mit dem Administratoren Nano-Server auch in der grafischen Oberfläche erstellen können. Zusätzlich benötigt das Tool das aktuelle Windows ADK. Über einen Assistenten lassen sich auch die IIS in das Image mit einbinden (siehe Abbildung 1).

Installation und Konfiguration auf herkömmlichen Servern

IIS 10 bzw. die Rolle „Webserver“ installieren Administratoren über den Server-Manager. Das Verwaltungstool ist nach der Installation über den Server-Manager oder durch Eingabe von „inetmgr“ im Startmenü zu finden (siehe Abbildung 2). Die Installation von weiteren Rollendiensten kann jederzeit über den Server-Manager durchgeführt werden. Der Internetinformationsdienste-Manager ist das zentrale Werkzeug zur Verwaltung des Webservers in Windows Server 2016. Mit diesem lassen sich auch Nano-Server verwalten und auch viele Einstellungen der IIS in Containern.

IIS mit Docker in Windows Server 2016

Der Befehl „docker images“ zeigt die vorhandenen Docker-Images auf dem Windows-Server an, auf dem der Container-Host installiert wurde. Standardmäßig sind noch keine Images vorhanden. Um ein Image auf Basis von Windows Server 2016 zur Verfügung zu stellen, können Administratoren die notwendigen Daten direkt bei Microsoft/Docker herunterladen:

docker pull microsoft/windowsservercore

Alternativ stehen folgende Befehle zur Verfügung:

docker pull microsoft/windowsservercore:10.0.14393.321
docker tag microsoft/windowsservercore:10.0.14393.321 microsoft/windowsservercore

Für Docker-Container in Windows Server 2016, stehen neben der Core-Installation, auch eine Nano-Installation zur Verfügung. In diesem Fall wird der folgende Befehl verwendet:

docker pull microsoft/nanoserver

Wollen Administratoren einen Container erstellen und starten, verwenden sie den Befehl „docker run“. Der Befehl startet das festgelegte Image als Container:

docker run microsoft/windowsservercore

Mit dem Docker-Client durchsuchen Entwickler den Docker-Hub nach Images auf Basis von Windows Server 2016:

docker search Microsoft

Auch ein Webserver auf Basis der IIS in Windows Server 2016 lässt sich als Container bereitstellen. Im Container-Image sind die IIS bereits verfügbar:

docker run -it -p 80:80 microsoft/iis cmd

Nach dem Start steht der Webserver mit der Standardwebseite im Container bereit. Um die Standardwebseite im Container zu löschen, wird folgender Befehl verwendet:

del C:\inetpub\wwwroot\iisstart.htm

Soll die Startseite mit einer eigenen Seite ersetzt werden, wird der folgende Befehl verwendet:

echo „Test für den IIS im Windows Server Container“ > C:\inetpub\wwwroot\index.html

Windows-Updates auf Nano-Servern installieren

Damit Container und die IIS auf Nano-Servern sicher betrieben werden können, sollten die neusten Updates für Windows Server 2016 installiert werden (siehe Abbildung 3). Das gilt natürlich auch für Core-Server und Server mit grafischer Benutzeroberfläche. Auf Nano-Servern ist die Installation von Windows-Updates jedoch teilweise etwas komplizierter. Zur Installation von Windows-Updates werden die folgenden Befehle in einer Remote-PowerShell-Sitzung eingegeben:

$sess = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession
Invoke-CimMethod -InputObject $sess -MethodName ApplyApplicableUpdates

Wenn alle Updates installiert sind, kann der Nano-Server über die Remote-PowerShell-Sitzung neu gestartet werden:

Restart-Computer

Container mit IIS erstellen und Serverdienste verwalten

Docker ermöglicht auch die lokale Verwaltung der Serverrollen von Windows Server 2016, auch für die IIS. Erstellen Administratoren zum Beispiel mit dem folgenden Befehl einen neuen Container und wechseln durch die Option „-it“ gleich in die Befehlszeile, können sie innerhalb des Containers die PowerShell starten und Installationen vornehmen:

docker run -it --name winiis -p 80:80 microsoft/windowsservercore

Sobald sich die Befehlszeile des Containers öffnet, kann mit dem Befehl „powershell“ auf dem Container eine lokale PowerShell-Sitzung geöffnet werden.

Anschließend kann überprüft werden, ob die IIS auf dem Container installiert sind. Hier stehen die gleichen Befehle zur Verfügung, wie bei herkömmlichen Servern mit Windows Server 2016:

Get-WindowsFeature web-server

Um die IIS im Container zu installieren, kann der gleiche Befehl verwendet werden, wie bei Core-Servern und Servern mit herkömmlicher grafischer Oberfläche:

Install-windowsfeature web-server

Sobald die IIS im Container installiert sind, kann über „ipconfig“ die IP-Adresse des Containers abgefragt und zum Beispiel vom Container-Host aus mit dem Internet Explorer auf die IP-Adresse des Containers zugegriffen werden. Da in diesem Beispiel die IIS installiert sind und der Port 80 auf dem Container aktiviert wurde, zeigt der Browser die Startseite der IIS im Container an.

Um zum Beispiel einen Container mit IIS zur Verfügung zu stellen, und auf dessen Basis weitere Images zu erstellen, kann auf Basis des vorgefertigten Images ein neuer Container erstellt werden:

docker run -d -p 80:80 microsoft/iis ping -t localhost

Über den Befehl können auch gleich die Ports aktiviert (-p) und sichergestellt werden, dass die IIS als Dienst gestartet werden (-d).

Dockerfiles für eigene Images erstellen

Auf Basis eines angepassten Images lassen sich weitere Container erstellen. Der Vorgang lässt sich automatisieren, in dem ein „Dockerfile“ verwendet wird. Dabei handelt es sich um eine Anweisungsdatei für neue Container. In der Datei kann zum Beispiel festgelegt werden, dass ein neues Image erstellt werden soll, welches die IIS als Basis nutzt:

FROM microsoft/iis
RUN echo "Dockerfile-Test für automatische Bereitstellung" > c:\inetpub\wwwroot\index.html

Administratoren können mit dem folgenden Befehl die IIS in einem neuen Containerimage installieren:

RUN dism.exe /online /enable-feature /all /featurename:iis-webserver /NoRestart

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44809655 / Client-/Server-Administration)