Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Oliver Wood 4 posts 74 karma points
    Dec 05, 2022 @ 12:47
    Oliver Wood
    0

    Hosting Umbraco as an Azure App Service (Web App)

    Hi there,

    I'm trying to host a completely vanilla Umbraco install as an Azure App Service. Got my basic build and deploy pipelines running, but I'm running into problems with (I think) file system permissions when I hit the site.

    I've been doing some reading around the subject to try to get to the bottom of it, but the words from Microsoft strongly suggest that giving write access to the files system backing a web app is just not a thing https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox

    Which is odd because I'm clearly not the first person to attempt this and the Umbraco docs suggest that it's possible. Does anyone have any experiences of actually doing this? Is there something blinding obvious to which I'm oblivious?

    Thanks for any clues you guys can offer :)

  • Conor Howe 36 posts 137 karma points
    Dec 05, 2022 @ 16:10
    Conor Howe
    0

    Hi Oliver,

    Have you gone through this documentation below?

    https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/azure-web-apps#recommended-configuration

    There are a few setting you will need to apply for an Azure App Service. You can set these within the App Service Environment variables. You will need to use underscores though, for example the 'MainDomLock' setting would be:

    Umbraco__CMS__Global__MainDomLock
    

    You will probably need to restart the app service also after applying new settings

    Hope this helps 😊

  • Per Bolmstedt 84 posts 380 karma points
    Dec 05, 2022 @ 16:43
    Per Bolmstedt
    0

    We run all our Umbracœs as Azure Web Apps.

    We use a load-balanced setup with one App for editing, and one App for frontend.

    We use both Windows Apps (for Umbraco 8) and Linux Apps (for Umbraco 9+).

    Our build and release pipes are, more or less, out-of-the-box pipes based on ASP.NET 4 or ASP.NET Core templates.

    Everything works fine, no need to configure permissions or anything.

  • JacobS 7 posts 107 karma points c-trib
    Dec 06, 2022 @ 10:26
    JacobS
    0

    What does your appsettings look like?

  • Oliver Wood 4 posts 74 karma points
    Dec 06, 2022 @ 15:38
    Oliver Wood
    0

    Simple stuff.

    The appsettings file is

     {
      "$schema": "./appsettings-schema.json",
      "Serilog": {
        "MinimumLevel": {
          "Default": "Information",
          "Override": {
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information",
            "System": "Warning"
          }
        }
      },
      "Umbraco": {
        "CMS": {
          "Global": {
            "Id": "575af882-7797-460a-9aae-22c81e3a7fe2",
            "SanitizeTinyMce": true
          },
          "Content": {
            "AllowEditInvariantFromNonDefault": true,
            "ContentVersionCleanupPolicy": {
              "EnableCleanup": true
            }
          }
        }
      }
    }
    

    And there are the standard environment config settings for:

    Umbraco:CMS:Examine:LuceneDirectoryFactory
    Umbraco:CMS:Global:MainDomLock
    Umbraco:CMS:Hosting:LocalTempStorageLocation
    

    and a link to a KeyVault with one secret for

    ConnectionStrings--umbracoDbDSN
    

    Obviously the program.cs has been updated to read from KeyVault.

    Anything obvious spring to mind?

  • Oliver Wood 4 posts 74 karma points
    Dec 06, 2022 @ 14:42
    Oliver Wood
    0

    Thanks for the responses guys,

    @Conor I have indeed set those app configurations and it's making no difference. Which version of Umbraco are you using?

    @Per good to know you're using Windows AND linux as that was something that occurred to me. Notice you're running Umbraco 9 on linux though.

    Gonna try that... will let you know

    It's also possible that something else is going wrong here. The guts of the IIS error message is pretty bland:

    • IIS received the request; however, an internal error occurred during the processing of the request. The root cause of this error depends on which module handles the request and what was happening in the worker process when this error occurred.
    • IIS was not able to access the web.config file for the Web site or application. This can occur if the NTFS permissions are set incorrectly.
    • IIS was not able to process configuration for the Web site or application.
    • The authenticated user does not have permission to use this DLL.
    • The request is mapped to a managed handler but the .NET Extensibility Feature is not installed.
  • Oliver Wood 4 posts 74 karma points
    Dec 06, 2022 @ 16:18
    Oliver Wood
    0

    Gah!

    A combination of error and trial has proven me to be traveling on completely the wrong kind of path.

    I got it running in a Linux app service, but on inspection it was only because I'd garbled the DB connection string name, which is the same as removing it entirely. Once removed on the Windows version, it springs to life. I suspect the authentication scheme - my next battle to fight.

    Sorry and thanks!

  • Conor Howe 36 posts 137 karma points
    Dec 06, 2022 @ 16:23
    Conor Howe
    0

    Ah! There we go 😊 Glad you got it working, Oliver!

Please Sign in or register to post replies

Write your reply to:

Draft