Hosting HTML5 in Internet Information Services (IIS)

This article describes setup of HTML server on IIS.

Installation

.NET Core
.NET Core 5.0. is required. Download link: Download .NET 5.0 (Linux, macOS, and Windows)
Click on Hosting Bundle. Download it and install it.

Download HTML

  1. Open following link: Releases · origam/origam-source · GitHub
  2. Download origam-html.zip
  3. Unzip this file into your IIS directory, e.g. c:\inetpub.

Setup IIS

Basic Setup

  1. Open IIS Manager
  2. Click on Application Pools
  3. On the right side click on Add Application Pool…
  4. Fill name (e. g. origam).
  5. NET CLR version set to No Managed Code.
  6. IMPORTANT!!! Go to Advanced Settings and check if Load User Profile is set to True.
  7. Right Click on Default Web Site → Manage Website → Advanced Settings…
  8. Change Physical Path from %SystemDrive%\inetpub\wwwroot to %SystemDrive%\inetpub\origam-html.
  9. Change Application Pool from DefaultAppPool to your new pool, that you’ve created (e.g. origam).
  10. Click on OK. Don’t close the manager yet.

SSL Setup

Origam HTML server needs to work with https. There are two possibilities how to do it.

  1. This IIS is master server and it is visible on internet.
  2. This IIS is slave server and other IIS is master https server visible on internet.

HTML on IIS as master.

  1. Select Default Web Site and on the right side click on Bindings…
  2. Click Add…
  3. For Type select https.
  4. Chose SSL certificate. If there is no certificate, you have to add one (you can create self-signed certificates for test environments).

HTML on IIS as slave

In this case skip creating https and certificate. This IIS will be run only on http.
Add https on master IIS and create reverse proxy to this slave server.

Restart this IIS.

If you’re using virtual application under the main site and it is assigned to the same application pool, if the pool’s .NET CLR version is set to No Managed Code, the virtual application won’t be able to use the authentication cookie. Setting .NET CLR version to v4.0 solves the problem.

The Hosting Bundle has to be installed separatelly even if you have .net SDK