Umbraco is a flexible, open-source .NET-based CMS — a strong choice if your team works primarily in the Microsoft ecosystem or needs deep .NET integration. This guide covers installing it on Windows Server.
Why Umbraco Runs on Windows
Umbraco is built on ASP.NET, Microsoft's web application framework — while cross-platform .NET support exists, Windows Server remains the most common and best-documented hosting environment for it, particularly for teams already invested in the Microsoft stack.
Prerequisites
- Windows Server 2019/2022 VPS: 2 vCPU, 4 GB RAM minimum
- IIS installed (see How to Install IIS on Windows Server) or Kestrel for a more modern self-hosted approach
- SQL Server or SQLite for the database
Step 1 — Install the .NET SDK
Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile "dotnet-install.ps1"
.\dotnet-install.ps1 -Channel 8.0
Step 2 — Install the Umbraco Templates
dotnet new install Umbraco.Templates
Step 3 — Create a New Umbraco Project
dotnet new umbraco -n MyUmbracoSite
Step 4 — Configure the Database Connection
Edit appsettings.json to specify your SQL Server connection string, or use the built-in SQLite option for simpler/smaller deployments:
{
"ConnectionStrings": {
"umbracoDbDSN": "Server=localhost;Database=umbraco;User Id=umbraco;Password=CHANGE_ME;"
}
}
Step 5 — Run the Application
cd MyUmbracoSite
dotnet run
Follow the setup wizard on first launch to create your administrator account and confirm database connectivity.
Step 6 — Deploy Behind IIS for Production
Configure IIS as a reverse proxy in front of the Kestrel-hosted application, using the ASP.NET Core Module — see How to Install IIS on Windows Server for the base IIS setup, then configure the site to proxy to your Umbraco application's Kestrel process.
Step 7 — Add HTTPS via IIS
See How to Set Up HTTPS on IIS with a Free SSL Certificate for the certificate installation process on Windows Server/IIS.
Step 8 — Set Up the Application as a Windows Service
Publish the application and configure it to run persistently as a Windows Service, ensuring it starts automatically and restarts if it stops unexpectedly — consult current .NET hosting documentation for the specific service registration steps.
Accessing the Backoffice
https://yourdomain.com/umbraco
Installing Packages
Umbraco has a package marketplace accessible directly from the backoffice, or installable via NuGet for developer-managed dependencies.
Common Errors
"Unable to connect to SQL Server" — verify SQL Server is running and the connection string's server name, credentials, and database name are correct.
Site works via dotnet run but not through IIS — verify the ASP.NET Core Hosting Bundle is installed on the server and the IIS site is correctly configured to proxy to the Kestrel process.
Continue Reading
- How to Install IIS on Windows Server
- How to Set Up HTTPS on IIS with a Free SSL Certificate
- Choosing the Right CMS for Your Project: WordPress vs Drupal vs Joomla vs Craft
Browse more articles in CMS Platforms Beyond WordPress.