Web-Server (IIS) unter Windows 10 installieren und konfigurieren


    Tags: ,

    Internet Information ServicesMicrosoft stattet auch die Desktop-Version von Windows mit den Internet Information Services aus. Damit lässt sich jedes Note­book mit der Home Edition in einen Web-Server ver­wandeln. Zwar ist die Konfi­guration etwas auf­wän­diger ist als bei manch kosten­losem HTTP-Server, dafür sind die IIS aber besser in das System integriert.

    Die IIS, die auch einen FTP-Server enthalten, sind auf dem Client nicht dafür gedacht, Firmen-Websites oder stark genutzte Web-Applikationen bereit­zustellen. Dagegen spricht schon die lizenz­rechtliche Begrenzung der zulässigen gleichzeitigen Netzwerk­verbin­dungen. Die Desktop-IIS erfüllen ihren Zweck hauptsächlich auf Entwickler-PCs oder für die Demonstration von Web-Anwendungen.

    Installation der WWW-Dienste

    Die Internet Information Services liegen als optionale Komponente des Betriebssystems vor, die sich auf dem Client über die System­steuerung unter Programme => Windows-Features aktivieren und deaktivieren => Internet­informations­dienste installieren lassen.

    Installation der IIS-Komponenten für den WWW-Dienst

    Im Vergleich zu anderen Features erfolgt die Installation sehr granular, so dass man viele Funktionen gezielt hinzufügen oder entfernen kann. In den meisten Fällen will man den Web-Server lokal verwalten, so dass man zuerst die IIS-Verwaltungskonsole im Abschnitt Webverwaltungstools auswählen muss.

    Begnügt man sich mit einer Standard­installation, dann reicht es, wenn man die Kästchen vor Allgemeine HTTP-Features, Leistungsfeatures, Sicherheit sowie Systemzustand und Diagnose anhakt. Das Applet der System­steuerung wählt dann in jedem Abschnitt automatisch einige empfohlene Komponenten aus.

    Redirects, Authentifizierung, Autorisierung

    Darüber hinaus kann man sich natürlich noch Gedanken machen, welche weiteren Funktionen sinnvoll erscheinen. Wenn man etwa einen Redirect für bestimmte Seiten konfigurieren möchte, dann braucht man dafür die HTTP-Umleitung.

    Weitere sinnvolle Ergänzungen sind die Windows-Authentifizierung und IP-Sicherheit im Abschnitt Sicherheit, wo standardmäßig nur die Anforderungsfilter aktiviert sind (damit lassen sich bestimmte Dateitypen ausschließen oder URLs auf eine gewisse Länge beschränken).

    Die Anforderungsfilter erlauben das White- und Blacklisting von Dateitypen.

    Möchte man zudem den Zugriff auf bestimmte Seiten einschränken, dann sollte man auch URL-Autorisierung auswählen.

    Wer den Web-Server für die Web-Programmierung braucht, wird in der Regel wissen, welche Komponenten er unter Anwendungs­entwickler­features benötigt. Will man etwa noch PHP installieren, dann sollte man die Option CGI aktivieren, weil sie auch FastCGI umfasst.

    Eine detaillierte Beschreibung sämtlicher Optionen der WWW-Services findet sich auf dieser TechNet-Seite.

    Web-Server testen

    Nach Bestätigung der Auswahl installiert Windows die WWW-Dienste und startet danach automatisch den Web-Server. Dessen Funktions­tüchtigkeit sollte sich zeigen, wenn man auf dem betreffenden Rechner den Browser öffnet und die URL http://localhost aufruft.

    Die vorgegebene Startseite der IIS-Website.

    Standardmäßig ist die neue Website auch von anderen Geräten im Netz erreichbar, weil die Installation der WWW-Dienste auch gleich die passenden Firewall-Regeln aktiviert und die Ports für HTTP und HTTPS öffnet.

    Sollten dennoch Verbindungs­probleme auftreten, dann kann man erst mit

    netstat -a -p tcp -n

    prüfen, ob der HTTP-Server auf Port 80 lauscht. Darüber hinaus kann man versuchen, sich via telnet mit Port 80 des betreffenden Rechners zu verbinden.

    Eine Ursache für Probleme könnte darin bestehen, dass man den Dienst an eine bestimmte IP-Adresse oder einen spezifischen Hostnamen gebunden hat. Bei einem frisch installierten IIS scheidet diese Erklärung jedoch aus.

    Konfiguration mit IIS-Manager

    Liefert der Web-Server die voreingestellte Begrüßungs­seite, dann kann man sich an seine Konfiguration machen. Dafür sieht Microsoft unter Systemsteuerung => System und Sicherheit => Verwaltung den IIS-Manager vor. Dieser bietet für fast jedes Feature, das man bei der Installation auswählen kann, ein eigenes Applet.

    Die Anpassung der WWW-Dienste und der Websites erfolgt mit dem IIS-Manager.

    Der eben eingerichtete Web-Server verfügt über eine einzige Website, nämlich die Default Web Site. Ihr Stamm­verzeichnis befindet sich unter %SystemDrive%\inetpub\wwwroot. Dieser Pfad lässt sich im Bereich Aktionen über den Befehl Grund­einstellungen ändern.

    Virtuelle Verzeichnisse dienen dazu, externe physikalische Verzeichnisse unter wwwroot einzuhängen.

    Wenn man möchte, kann man zusätzlich beliebige Verzeichnisse in das HTML-Root einhängen und so über die Website zugänglich machen. Dazu legt man ein neues virtuelles Verzeichnis an, indem man einem physikalischen Verzeichnis einen logischen Pfad (aus der Sicht des Browsers) zuordnet.

    Directory Listing erlauben

    Ruft man im Web-Browser eine URL auf, die keinen Dateinamen, sondern nur einen Verzeichnispfad enthält, dann sucht der Web-Server standard­mäßig nach Dateien mit den Namen default.htm, default.asp, index.htm, index.html und iistart.htm.

    Diese Liste lässt sich umsortieren, um die Suchreihenfolge zu ändern, sowie um neue Einträge ergänzen. Zuständig dafür ist das Applet Standarddokument.

    Standarddokument bestimmt, nach welchen Dateien der Web-Server in einem Verzeichnis automatisch sucht.

    Enthält ein Verzeichnis keine dieser Dateien, dann gibt der WWW-Dienst einen Fehler 403 aus, wonach das Anzeigen des Inhalts verboten ist. Möchte man das Directoy Listing erlauben, dann muss man das entsprechende Feature Verzeichnis durchsuchen installieren und die Verzeichnisse mit Hilfe des gleichnamigen Applets dafür konfigurieren.

    Zugriff für authentifizierte Benutzer einrichten

    Will man schließlich verhindern, dass die neue Website nach der Installation weiterhin für jedermann offensteht, dann muss man die Authentifizierung und die Zugriffsrechte für URLs anpassen. Im Applet Authentifizierung ist per Vorgabe die anonyme Anmeldung aktiviert, die Windows-Authentifizierung dagegen deaktiviert.

    Das Deaktivieren der anonymen Authentifizierung zwingt die Benutzer zur Anmeldung.

    Dreht man diese Einstellung um, dann erzwingt der Web-Server eine Anmeldung mit den Zugangsdaten für Windows. Ist der Rechner Mitglied in einer Domäne, dann kann man sich auch mit einem AD-Konto anmelden.

    Sobald nur mehr bekannte User Zugriff auf die Website haben, kann man gezielt Rechte für bestimmte Ressourcen vergeben. Dies ließe sich zwar auch durch die Änderung der NTFS-Berechtigungen erreichen, aber die IIS sehen dafür einen eigenen Mechanismus vor.

    Definition einer Autorisierungsregel

    Dieser erwartet die Definition so genannter Autori­sierungs­regeln im gleich­namigen Applet. Sie erlauben entweder allen oder nur ausgewählten Benutzern bzw. Gruppen den Zugriff auf eine bestimmte Ressource.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    5 Kommentare

    Ich habe jetzt eine ganze Weile versucht, diese Einstellung zu setzen und komme nicht weiter:
    Ich hätte gerne, dass der Webserver im Intranet (IP-Filterung: Bereich zulassen) die Website kommentarlos anzeigt, für alle anderen allerdings die Meldung 401 bringt und die Seite nur nach Eingabe von gültigen Benutzerdaten lädt.
    Allerdings kann ich mit der Einstellung der IP-Filterung zwar die Meldung "401 Nicht autorisiert" erzwingen, allerdings helfen mir gültige Benutzerdaten dann nicht weiter und ich erhalte dauerhaft 401.

    Hat da jemand eine Lösung? Mit .htaccess unter Apache ist dies möglich, ich bin jedoch aufgrund der installierten Web-Anwendung auf IIS angewiesen :/

    Vielen Dank

    Wenn Ihre Seite auf einer internen IP-Adresse läuft, dann wird die Website sowieso nur im Intranet verfügbar sein

    Es sei denn er nutzt einen Dynamische DNS dann ist die auch Online Verfügbar (einen kostenlosen Dyn DNS Provider bzw. Anbieter findest Du unter https://ddnss.de)

    Also bei mir sieht das ganz anders aus wird jetzt lauscht der Server auf port 80 nun oder nicht? Aktive Verbindungen

    Proto Lokale Adresse Remoteadresse Status
    TCP 0.0.0.0:135 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:445 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:5040 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:7680 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49664 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49665 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49666 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49667 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49668 0.0.0.0:0 ABHÖREN
    TCP 0.0.0.0:49669 0.0.0.0:0 ABHÖREN
    TCP 127.0.0.1:28380 0.0.0.0:0 ABHÖREN
    TCP 127.0.0.1:28385 0.0.0.0:0 ABHÖREN
    TCP 127.0.0.1:49350 0.0.0.0:0 ABHÖREN
    TCP 127.0.0.1:49351 0.0.0.0:0 ABHÖREN
    TCP 127.0.0.1:58078 127.0.0.1:49350 WARTEND
    TCP 127.0.0.1:58081 127.0.0.1:49350 WARTEND
    TCP 127.0.0.1:58086 127.0.0.1:49350 WARTEND
    TCP 127.0.0.1:58087 127.0.0.1:49350 WARTEND
    TCP 127.0.0.1:58088 127.0.0.1:49350 WARTEND
    TCP 192.168.42.223:139 0.0.0.0:0 ABHÖREN
    TCP 192.168.42.223:56754 40.67.251.132:443 HERGESTELLT
    TCP 192.168.42.223:57580 172.217.18.14:443 HERGESTELLT
    TCP 192.168.42.223:58050 13.107.21.200:443 WARTEND
    TCP 192.168.42.223:58051 13.107.21.200:443 WARTEND
    TCP 192.168.42.223:58053 40.126.1.130:443 WARTEND
    TCP 192.168.42.223:58056 172.217.18.2:443 WARTEND
    TCP 192.168.42.223:58057 172.217.18.2:443 WARTEND
    TCP 192.168.42.223:58058 172.217.18.98:443 WARTEND
    TCP 192.168.42.223:58059 172.217.18.98:443 WARTEND
    TCP 192.168.42.223:58064 92.226.2.78:443 WARTEND
    TCP 192.168.42.223:58068 13.107.21.200:443 WARTEND
    TCP 192.168.42.223:58069 13.107.21.200:443 WARTEND
    TCP 192.168.42.223:58071 87.230.62.40:443 WARTEND
    TCP 192.168.42.223:58072 92.226.2.78:443 HERGESTELLT
    TCP 192.168.42.223:58073 92.226.2.78:443 WARTEND
    TCP 192.168.42.223:58074 172.217.18.2:443 HERGESTELLT
    TCP 192.168.42.223:58075 172.217.18.2:443 HERGESTELLT
    TCP 192.168.42.223:58076 87.230.62.40:443 SCHLIESSEN_WARTEN
    TCP 192.168.42.223:58077 87.230.62.40:443 HERGESTELLT
    TCP 192.168.42.223:58079 13.107.21.200:443 HERGESTELLT
    TCP 192.168.42.223:58082 13.107.42.254:443 HERGESTELLT
    TCP 192.168.42.223:58083 13.107.136.254:443 HERGESTELLT
    TCP 192.168.42.223:58084 13.107.18.254:443 HERGESTELLT
    TCP 192.168.42.223:58085 65.55.163.78:443 HERGESTELLT

    Http musste eventl. noch in der Firewall aktivieren zumindenst ist das Leider bei einem IIS Server der Fall zumindenst für Ftp dass man es noch extra in der Windows Firewall eintragen bzw. aktivieren muss