Install IIS on Windows Server: Server Manager, PowerShell
You can install IIS on Windows Server with a single PowerShell command — Install-WindowsFeature -Name Web-Server -IncludeManagementTools — or through the role wizard in Server Manager. Once installed, the web server immediately serves a start page on port 80. Below are both methods, the verification steps and how to publish your first site.
What IIS is
Internet Information Services (IIS) is the native Windows web server for hosting sites and web applications (ASP.NET, static pages, APIs). It ships with Windows Server, installs as a role and is managed through the graphical IIS Manager console.
Method 1. Installing through Server Manager
- Open Server Manager.
- Click Manage → Add Roles and Features.
- Choose the installation type Role-based or feature-based installation and click Next.
- Select the current server and click Next.
- In the role list tick Web Server (IIS). Agree to add the management tools.
- On the Role Services step add any modules you need (for example ASP.NET or CGI support), then Next → Install.
When it finishes, the wizard confirms a successful installation.
Method 2. Installing through PowerShell
The fastest route. Run PowerShell as Administrator:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
To add ASP.NET support (for .NET applications):
Install-WindowsFeature -Name Web-Asp-Net45
Check that the role is installed:
Get-WindowsFeature -Name Web-Server
The Install State column should read Installed.
Step 3. Open port 80 in the firewall
Installing IIS normally adds the rule itself, but it is worth checking:
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
For HTTPS, open 443 as well:
New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Step 4. Verify that it works
On the server itself, open http://localhost in a browser — the default IIS welcome page should appear. From PowerShell:
Invoke-WebRequest -Uri http://localhost -UseBasicParsing | Select-Object StatusCode
The response StatusCode : 200 confirms the web server is running.
Step 5. Publish your first site
Site files live in C:\inetpub\wwwroot by default. Replace iisstart.htm with your own index.html, or create a new site through PowerShell:
New-Website -Name "MySite" -Port 8080 -PhysicalPath "C:\sites\mysite" -Force
Remember to open the port you chose (8080) in the firewall the same way as in step 3.
Frequently asked questions
Is a reboot required after installing IIS?
Usually no — the base Web-Server role becomes active without one. It may be needed when adding certain components, and the wizard will say so.
How do I remove IIS if I no longer need it?
Run Uninstall-WindowsFeature -Name Web-Server in PowerShell as Administrator and reboot the server.
Why does the site open locally but not from outside?
Check that port 80 (or your chosen port) is open in Windows Firewall and on the network side, and that the site binding in IIS Manager points at the right IP and port.
How do I enable PHP or ASP.NET support?
For ASP.NET install the Web-Asp-Net45 feature. For PHP install the interpreter itself and configure a FastCGI handler in IIS Manager pointing at php-cgi.exe.
Planning to host sites on Windows? Take a Windows VPS with full access to IIS, or compare the VPS hosting plans.