Skip to content

Plan for IIS Deployment (Windows Server / CMS Environment)

Dette er overleveringsplanen for IIS Server Administrator / DevOps for å publisere Golfklubb iT "Cart Rental App" applikasjonen til test/produksjonsmiljøet.

Steg-for-steg sjekkliste for IIS

1. Forberedelse av Runtime Miljø

  1. Sørg for at den korrekte versjonen av .NET 9 Hosting Bundle er installert på serveren (eller den spesifikke versjonen prosjektet kompileres for). Serveren trenger ikke SDK, kun Hosting Bundle.
  2. Bekreft at brannmuren mot SQL Server-instansen (WIN-KD6TE5J6HOK) er åpen i produksjons- / DMZ-nettverket om webserver og SQL kjører på atskilte nett.

2. Sett opp Applikasjonsbasseng (App Pool)

  1. Opprett et nytt Application Pool i IIS, f.eks. kalt GKIT-CartRental-AppPool.
  2. Sett .NET CLR Version til No Managed Code. (Krevd siden ASP.NET Core-modulen prosesserer forespørslene).
  3. Under Advanced Settings for app-bassenget, sett Identity til en konto (Service Account eller ApplicationPoolIdentity) som har riktige tillatelser i SQL Server dersom Windows Auth brukes mot SQL, ev. standard hvis Connection String bruker SQL-brukernavn/passord.

3. Opprett og konfigurer Nettstedet (Site)

  1. Opprett en fysisk mappe på maskinen for filene, f.eks. C:\inetpub\wwwroot\GKIT-CartRental.
  2. Bygg løsningen for release lokalt via terminalen: powershell dotnet publish -c Release -o ./publish
  3. Kopier innholdet fra ./publish-mappen inn i IIS-mappen på serveren.
  4. I IIS Manager, opprett et nytt Web Site eller legg til applikasjonen under eksisterende domene. Pek Physical Path til mappen med de publiserte filene.
  5. Bind domenet og sørg for at et gyldig SSL/TLS-sertifikat er knyttet til HTTPS bindingen, siden appen krever sikker informasjonskapsel (SecurePolicy.Always).

4. Konfigurer Applikasjonsinnstillinger og Secrets

  1. Pass på at appsettings.Production.json (eller appsettings.json) er oppdatert med riktige produksjonsverdier.
  2. Sett inn riktig Tilgang for Google OAuth2: json "Authentication": { "Google": { "ClientId": "LEGG_INN_DIKTERT_PROD_ID", "ClientSecret": "LEGG_INN_PROD_SECRET" } } (Tips: I Google Cloud Console, konfigurer Redirect URIs til domenet, f.eks. https://cart.ski-gk.no/signin-google)

  3. Kobling til SQL-databasen. Rediger ConnectionStrings:BookingDb til å peke på den nye produksjonsbasen: json "ConnectionStrings": { "BookingDb": "Server=WIN-KD6TE5J6HOK;Database=BO-BOOKING-CHART;User Id=...;Password=...;TrustServerCertificate=True" }

5. Multi-Tenant kobling og E-post

  1. Sørg for at filen appsettings.Tenants.json inneholder riktig mapping av widget API Nøkler og Domene Aliases til den riktige SQL ClientID (TenantID).
  2. For Vipps-betaling: Funksjon for eCom direkte fra appen prioriteres senere, men mobilfeltet er klart for fremtidig Vipps claims utsending pr SMS API.
  3. Klargjør E-post / SMTP konfigurasjonen for "Bekreftet E-post" rutinen i backend.

6. Tilgangsrettigheter

  • Sørg for at IIS Application Pool-identiteten har Read & Execute-tilgang til publiseringsmappen, samt at alle eventuelle loggfiler kan skrives dersom NLog/Serilog implementeres senere.

7. Verifisering & Gjennomslag

  1. Start opp Web Site og App Pool.
  2. Gå til /Account/Login og verifiser at Identity laster skjermen.
  3. Test at Google Sign-In redirect fungerer (pass på at URI-en er lagt i Google Console).
  4. Verifiser innlogging som ProShop / Owner gir adgang til Admin Dashboard under /ChartAdmin.