Install IIS on a Windows VPS Enable the IIS role, publish a site, and open HTTP/HTTPS ports on a Windows VPS. ~12 min read Intermediate #windows #iis #web Install IIS on a Windows VPS Internet Information Services (IIS) is the native web server for Windows Server. This guide covers installation on a HolyCloud Windows VPS (Server 2019/2022), creating a site, and opening the firewall. Prerequisites HolyCloud Windows VPS with Administrator access (RDP) Windows Server 2019 or 2022 Domain name pointing to the VPS IP (optional for HTTPS) RDP connection From Windows: mstsc /v:VPS_PUBLIC_IP User Administrator (or provided account) and password from the client area. Install the IIS role (GUI) Server Manager → Add Roles and Features. Role-based installation → select the local server. Check Web Server (IIS). Recommended services: - Web Server → Common HTTP Features: Default Document, Directory Browsing (optional), HTTP Errors, Static Content - Application Development: ASP.NET 4.8 / .NET Extensibility for .NET apps - Management Tools: IIS Management Console Confirm and install. Restart if prompted. PowerShell installation (equivalent) Open PowerShell as administrator: Install-WindowsFeature -Name Web-Server -IncludeManagementTools Install-WindowsFeature -Name Web-Asp-Net45, Web-Net-Ext45, Web-ISAPI-Ext, Web-ISAPI-Filter Verify: Get-WindowsFeature Web-* | Where-Object Installed Get-Service W3SVC Publish a static site Create the folder and a test page: New-Item -Path C:\inetpub\wwwroot\monsite -ItemType Directory -Force Set-Content -Path C:\inetpub\wwwroot\monsite\index.html -Value '<h1>Bienvenue sur HolyCloud</h1>' In IIS Manager: Sites → Add Website Site name: monsite Physical path: C:\inetpub\wwwroot\monsite Binding: port 80, host name www.exemple.fr (or empty for IP-only test) Restart the site if needed: Import-Module WebAdministration Restart-WebAppPool -Name 'DefaultAppPool' iisreset Open the Windows firewall New-NetFirewallRule -DisplayName "HTTP IIS" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow New-NetFirewallRule -DisplayName "HTTPS IIS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow Also check the HolyCloud network firewall (manager): allow 80/443 to the VPS. HTTPS certificate (overview) Obtain a certificate (Let's Encrypt via win-acme, or imported certificate). IIS → site → Bindings → Add → type https, select certificate. HTTP → HTTPS redirect via URL Rewrite (installable module). # verify the site is listening netstat -an | findstr ":80 " Logs and troubleshooting IIS logs: C:\inetpub\logs\LogFiles\ Event Viewer → Windows Logs → Application | Problem | Action | |----------|--------| | 403 Forbidden | NTFS permissions on the folder (IIS_IUSRS read) | | Site won't start | Get-Service W3SVC, port 80 conflict | | Page unreachable externally | Windows firewall + HolyCloud panel | Need help? For SQL Server or PHP on IIS, specify the stack in your support ticket. Continue reading Previous article First RDP connection Read Next article PowerShell for administrators Read