How to Install IIS on a Windows VPS

Internet Information Services (IIS) is Microsoft's web server, built into Windows Server, used for hosting websites, ASP.NET applications, and APIs.

Prerequisites

  • Windows Server VPS with Administrator access

Installing IIS via Server Manager (GUI)

  1. Open Server Manager → Manage → Add Roles and Features
  2. Click through to Server Roles
  3. Check Web Server (IIS)
  4. Add required features when prompted, then click Install

Installing IIS via PowerShell (Faster)

Install-WindowsFeature -Name Web-Server -IncludeManagementTools

Verifying the Installation

Get-WindowsFeature -Name Web-Server

Or open a browser on the server and visit http://localhost — you should see the default IIS welcome page.

Allowing HTTP/HTTPS Through the Firewall

New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Testing from Outside the Server

http://YOUR_SERVER_IP

Key File Locations

PathPurpose
C:\inetpub\wwwrootDefault website root
C:\Windows\System32\inetsrvIIS management tools
IIS Manager (GUI)Site and application pool configuration

Opening IIS Manager

inetmgr

Run this from the Start menu or Run dialog for the graphical management console.

Adding a New Website

  1. Open IIS Manager
  2. Right-click Sites → Add Website
  3. Set a site name, physical path (e.g. C:\inetpub\wwwroot\mysite), and binding (hostname and port)
  4. Click OK

Installing the URL Rewrite Module (Commonly Needed)

Download and install from Microsoft's IIS website — required by many modern web applications for clean URLs and reverse proxy scenarios.

Common Errors

"HTTP Error 500.19" — usually a web.config misconfiguration; check the exact error detail shown on the error page for the specific module/setting causing it.

Site not accessible from outside the server — verify the firewall rules were added and the site binding matches the correct port/hostname.

"503 Service Unavailable" — the application pool has stopped; restart it via IIS Manager or:

Start-WebAppPool -Name "DefaultAppPool"

Best Practices

  • Use separate application pools per site for isolation
  • Keep IIS and Windows Server updated
  • Enable HTTPS for production sites — see How to Install an SSL Certificate on IIS

FAQ

Can IIS host non-.NET applications?
Yes — with the appropriate modules/handlers, IIS can serve static content, PHP, Node.js (via reverse proxy or iisnode), and more, though it's most commonly paired with ASP.NET applications.

Continue Reading

Browse more articles in Windows Server Administration.

  • iis, install iis, windows web server, windows server
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to Connect to a Windows VPS via Remote Desktop (RDP)

Remote Desktop Protocol (RDP) provides full graphical access to a Windows Server VPS, letting you...

How to Secure RDP on a Windows VPS

RDP's default configuration (standard port, password authentication, unlimited login attempts)...

How to Create a New Administrator User on Windows Server

Using only the built-in Administrator account for all management tasks is risky. Creating a...

How to Install Windows Updates on a Windows VPS

Keeping Windows Server updated is essential for security and stability. This guide covers...

How to Configure Windows Firewall on a Windows VPS

Windows Defender Firewall controls which network connections are allowed to and from your server....