Internet Information Services (IIS) is the web server built into Windows Server. This guide installs IIS, creates a simple site, and makes it reachable (ports 80/443 depending on configuration).
Prerequisites
- Windows Server VPS with Administrator rights
- Active RDP session
Install IIS (Server Manager)
- Open Server Manager → Add Roles and Features.
- Role-based or feature-based installation → select the local server.
- Check Web Server (IIS).
- Add useful role services at minimum:
- Web Server (included)
- Common HTTP Features: Default Document, Static Content, HTTP Errors
- Health and Diagnostics (optional): HTTP Logging
- Complete the wizard and wait for installation.
Quick check
Open a browser on the server: http://localhost — the default IIS page should appear.
Create a site and folder
- Launch IIS Manager (
inetmgr). - Sites → Add Website…
- Site name:
MySite - Physical path: e.g.
C:\inetpub\mysite - Binding: http, All Unassigned, port 80, host name empty to start.
- Create
C:\inetpub\mysiteandindex.html:
HTML1<!DOCTYPE html> 2<html lang="en"> 3<head><meta charset="utf-8"><title>IIS test</title></head> 4<body><h1>My IIS site</h1></body> 5</html>
- Stop or reconfigure Default Web Site if port 80 is taken, or use another port in the binding.
Application pool
The site uses an application pool (often DefaultAppPool or a dedicated pool). For static content, defaults are usually enough.
Internet access
- Allow the port in Windows Firewall (TCP 80 or 443).
- For HTTPS, install a certificate (Let’s Encrypt with a Windows tool, or a commercial cert) and add an https binding in IIS.
Best practices
- Disable unused IIS modules to reduce attack surface.
- For .NET, install matching ASP.NET features via the roles wizard.
- Back up configuration and site content regularly.
Troubleshooting
- 403 Forbidden: check NTFS permissions on the site folder (read for the app pool identity).
- 502 / won’t start: review IIS logs and Windows Event Viewer.