Windows Server met IIS

Deploy FoxIDs op Windows Server met Internet Information Services (IIS).

Dit is een beschrijving van hoe je een standaard deployment uitvoert en voor het eerst inlogt.

Een FoxIDs installatie is als een bucket, er zijn geen externe dependencies en het is eenvoudig om met weinig moeite een zeer hoge uptime te bereiken. FoxIDs wordt geüpdatet door het FoxIDs-x.x.x-win-x64.zip bestand van de nieuwe release te downloaden en daarna de bestanden in de twee websites te updaten (zonder appsettings.json te overschrijven). Nieuwe FoxIDs releases zijn backwards compatible, raadpleeg de release notes voordat je update.

Een geldige licentie is vereist om toegang te krijgen tot de FoxIDs releases, waar je de benodigde deploymentbestanden kunt downloaden.

Voorwaarden:

  • Je hebt een Windows Server (of Windows 10/11) met Internet Information Services (IIS).
  • Je hebt basiskennis van Windows Servers en IIS.

Deze gids beschrijft hoe je FoxIDs op één server installeert, maar je kunt de installatie over meerdere servers verdelen.

Deze deployment omvat:

  • Twee websites: één voor FoxIDs en één voor FoxIDs Control (Admin Client en API).
  • De twee websites worden op twee verschillende domeinen / subdomeinen blootgesteld.
  • NoSQL database met alle data inclusief tenants, omgevingen en gebruikers. Deploy MongoDB Community Edition of PostgreSQL.
  • FoxIDs logs worden standaard in bestanden opgeslagen. Afhankelijk van de load kun je overwegen OpenSearch in productie te gebruiken.

Deployment

De deployment wordt in de beschreven volgorde uitgevoerd.

Database installeren

Download en installeer MongoDB Community Edition of download en installeer PostgreSQL.

MongoDB
Een self-managed MongoDB deployment wordt standaard geïnstalleerd met access control uitgeschakeld. Overweeg om MongoDB authenticatie te configureren afhankelijk van je installatie.
MongoDB standaard endpoint / connection string: mongodb://localhost:27017

Je kunt MongoDB Compass (GUI) met MongoDB Community Edition installeren of downloaden en de MongoDB admin app apart installeren.

PostgreSQL
PostgreSQL wordt standaard gedeployed met de gebruiker postgres en een wachtwoord dat je tijdens de installatie opgeeft.

  • Open pgAdmin en maak een database voor FoxIDs met de naam FoxIDs

PostgreSQL standaard endpoint / connection string: Host=localhost;Username=postgres;Password=xxxx;Database=FoxIDs

Twee websites toevoegen

Schakel ASP.NET Core hosting in en voeg de twee FoxIDs websites toe aan IIS.

Voeg ASP.NET Core Module (ANCM) toe voor IIS

De FoxIDs website toevoegen:

  • Site name FoxIDs

  • Physical path bijv. C:\inetpub\FoxIDs

  • De http domeinbinding voor je domein bijv. http://id.my-domain.com

  • Zet de app service .NET CLR Version op No Managed Code

     Windows Server met IIS - FoxIDs website toevoegen

En de FoxIDs Control website toevoegen:

  • Site name FoxIDs.Control
  • Physical path bijv. C:\inetpub\FoxIDs.Control
  • De http domeinbinding voor je domein bijv. http://control.my-domain.com
  • Zet de app service .NET CLR Version op No Managed Code

Voeg optioneel de twee domeinen toe aan het hosts bestand van de server C:\Windows\System32\drivers\etc\hosts om lokaal testen op de server mogelijk te maken:

   127.0.0.1     id.my-domain.com
   127.0.0.1     control.my-domain.com

HTTP en HTTPS

FoxIDs ondersteunt zowel HTTP als HTTPS, maar je moet in productie altijd HTTPS gebruiken.

Je kunt deze sectie overslaan als je FoxDs op HTTP zonder certificaat wilt draaien.

Je kunt je eigen certificaten gebruiken of een certificaat laten maken door Let's encrypt.

Gebruik je eigen certificaten
Installeer je eigen certificaten op de server en configureer https bindings voor de twee websites.

 Windows Server met IIS - FoxIDs website toevoegen

Certificaat gemaakt door Let's encrypt
Maak en voeg Let's encrypt certificaat toe aan de twee websites met win-acme.

Download het win-acme.v2.x.x.x64.pluggable.zip bestand van de nieuwste win-acme release.

  1. Pak uit en plaats de win-acme.v2.x.x.x.x64.pluggable map op een permanente plek, bijv. op de C schijf. Het component wordt daarna geregistreerd om in Windows Task Scheduler te draaien.
  2. Start een elevated Command Prompt in administratieve modus
  3. Navigeer naar de win-acme.v2.x.x.x.x64.pluggable map
  4. Run wacs.exe
  5. Klik N
  6. Selecteer de websites FoxIDs en FoxIDs.Control, waarschijnlijk door te typen: 2, 3
  7. Klik A
  8. Kies de FoxIDs site als de hoofdhost
  9. Ga akkoord met de voorwaarden (klik N en daarna Y)
  10. Voeg je e-mailadres toe

De twee websites hebben nu https bindings met het certificaat van Let's encrypt en het certificaat wordt automatisch bijgewerkt elke 3 maanden of zo.

Xcopy FoxIDs naar websites deployen

Download het FoxIDs-x.x.x-win-x64.zip bestand van de FoxIDs release en pak het ZIP bestand uit. Het ZIP bestand bevat twee mappen: één voor de FoxIDs site en één voor de FoxIDs Control site.

  • Xcopy de zip map FoxIDs naar het fysieke pad van de website, bijv. C:\inetpub\FoxIDs
  • En Xcopy de zip map FoxIDs.Control naar het fysieke pad van de website, bijv. C:\inetpub\FoxIDs.Control

Configureer zowel de FoxIDs site als de FoxIDs Control site in de appsettings.json bestanden, die zich bevinden op bijv. C:\inetpub\FoxIDs\appsettings.json en C:\inetpub\FoxIDs.Control\appsettings.json

  1. Stel het FoxIDs site domein in bij FoxIDsEndpoint bijv. http://id.my-domain.com of https://id.my-domain.com
  2. Alleen in de FoxIDs Control site. Stel het FoxIDs Control site domein in bij FoxIDsControlEndpoint bijv. http://control.my-domain.com of https://control.my-domain.com
  3. Als het domein begint met http://..., verwijder dan de comment van "UseHttp": true,
  4. Configureer de database toegang, ofwel naar MongoDB
    "Options": {
        "Log": "Stdout",
        "DataStorage": "MongoDb",
        "KeyStorage": "None",
        "Cache": "MongoDb",
        "DataCache": "None"
    },
    "MongoDb": {
        "ConnectionString": "mongodb://localhost:27017"
    },
    
    of naar PostgreSql met je postgres gebruikerswachtwoord
    "Options": {
        "Log": "Stdout",
        "DataStorage": "PostgreSql",
        "KeyStorage": "None",
        "Cache": "PostgreSql",
        "DataCache": "None"
    },
    "PostgreSql": {
      "ConnectionString": "Host=localhost;Username=postgres;Password=xxxxxxxx;Database=FoxIDs"
    },
    
  5. Configureer optioneel het verzenden van e-mails met SMTP.

Patchen en update strategie

Het updaten van FoxIDs volgt dezelfde mechanics als de Xcopy deployment, maar met extra structuur voor minimale downtime en een eenvoudige rollback.

  1. Plan het venster - Bekijk de nieuwste release notes, FoxIDs is backward compatible (tenzij anders vermeld in de release notes) en plan een korte maintenance window. Als de twee sites achter een load balancer staan, drain je verkeer per node.
  2. Stage de binaries - Download de nieuwste FoxIDs-x.x.x-win-x64.zip, pak uit naar tijdelijke mappen zoals C:\temp\FoxIDs.new en C:\temp\FoxIDs.Control.new, en kopieer je bestaande appsettings*.json en web*.config.
  3. Snapshot de huidige installatie - Stop de twee IIS sites (of hun App Pools). Xcopy of hernoem de live mappen, bijv. C:\inetpub\FoxIDsC:\inetpub\FoxIDs.2025-11-11.bak. Doe hetzelfde voor de Control site. Een gecomprimeerde backup of VM snapshot kan ook, maar snelle mapkopieën zijn vaak voldoende.
  4. Swap de update - Xcopy de staged mappen naar de live paden (C:\inetpub\FoxIDs en C:\inetpub\FoxIDs.Control) en controleer dat de NTFS permissies nog steeds de juiste App Pool identities bevatten. Start de App Pools/sites opnieuw om de applicaties op te warmen.
  5. Verifieer en monitor - Open de Control site, voltooi een login round-trip, voer een snelle tenant/track lookup uit en bekijk de logmap (C:\inetpub\logs\LogFiles\foxids) op fouten. Als je OpenSearch gebruikt, controleer logs en fouten in OpenSearch.
  6. Rollback indien nodig - Als er iets misgaat, stop de sites, hernoem de zojuist gedeployde mappen naar .failed, herstel de .bak mappen naar hun oorspronkelijke namen en start IIS opnieuw. Omdat het databaseschema backward compatible is, pakt de vorige versie direct weer op.

Herhaal dit proces voor elke release; bij multi-server setups patch je één server tegelijk om beschikbaarheid te behouden.

FoxIDs logbestanden

FoxIDs logbestanden worden standaard opgeslagen in de map C:\inetpub\logs\LogFiles\foxids\. Je kunt het pad wijzigen in het web.config bestand in de twee websites.

Maak de map \foxids\ in C:\inetpub\logs\LogFiles\ en geef de twee IIS App Pools iis apppool\foxids en iis apppool\foxids.control volledige toegang tot de \foxids\ map.

De logs bevatten errors, warnings, events en trace.

OpenSearch

Afhankelijk van de load kun je overwegen OpenSearch in productie te gebruiken in plaats van logbestanden.

Download OpenSearch of download via de download pagina.

  1. Maak een map op een permanente plek, bijv. C:\opensearch op de C schijf. OpenSearch wordt daarna geïnstalleerd om als Windows Service te draaien.
  2. Verplaats het gedownloade bestand opensearch-x.x.x-windows-x64.zip naar de map C:\temp (of een andere map met korte naam) en pak het uit - de bestandsnamen zijn te lang om in de standaard downloadmap uit te pakken
  3. Verplaats de uitgepakte bestanden naar de map C:\opensearch
  4. Start een elevated Command Prompt in administratieve modus
  5. Navigeer naar de map C:\opensearch
  6. Stel een administrator wachtwoord in, run set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password>
  7. Start de service, run .\opensearch-windows-install.bat
  8. Start een andere Command Prompt
  9. Test OpenSearch, run test request curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecure
  10. Test de OpenSearch plugins, run test request curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure
  11. Ga terug naar de OpenSearch Command Prompt en stop OpenSearch door ctrl+c te klikken en daarna y
  12. De instellingen staan in C:\opensearch\config\opensearch.yml, bekijk deze instellingen.
  13. Navigeer naar de map C:\opensearch\bin in de OpenSearch Command Prompt
  14. Run opensearch-service.bat install om de OpenSearch Windows Service te installeren
  15. Run opensearch-service.bat manager om de OpenSearch Windows Service instellingen te openen
  16. Zet Startup type: op Automatic en klik OK
  17. Run opensearch-service.bat start om de OpenSearch Windows Service te starten

OpenSearch start standaard met een self-signed certificaat. Je kunt een domein en een certificaat configureren, maar in deze gids wordt het self-signed certificaat behouden en wordt FoxIDs geconfigureerd om het certificaat te accepteren.

Configureer OpenSearch in zowel de FoxIDs site als de FoxIDs Control site in de appsettings.json bestanden, die zich bevinden op bijv. C:\inetpub\FoxIDs\appsettings.json en C:\inetpub\FoxIDs.Control\appsettings.json

"Options": {
    "Log": "OpenSearchAndStdoutErrors",
    //DB configuratie...
},
"OpenSearch": {
    "Nodes": [ "https://admin:xxxxxxxx@localhost:9200" ],
    "LogLifetime": "Max180Days", 
    "AllowInsecureCertificates": true //Accepteer self-signed certificaat
},

Veilige connection strings

In productie wordt aangeraden om connection strings met wachtwoorden te gebruiken voor MongoDB, PostgreSQL en OpenSearch.

Sla wachtwoorden niet op in appsettings.json. Houd niet-gevoelige waarden in appsettings.json en configureer secrets als environment variables in IIS voor zowel de FoxIDs site als de FoxIDs Control site. Environment variables overschrijven waarden uit appsettings.json.

Configureer deze environment variables in IIS:

  • MongoDb__ConnectionString
  • PostgreSql__ConnectionString
  • OpenSearch__Nodes__0 (eerste OpenSearch node inclusief credentials)

Stel alleen de variabelen in die je gebruikt.

Voorbeeldwaarden:

MongoDb__ConnectionString=mongodb://foxids:<password>@localhost:27017
PostgreSql__ConnectionString=Host=localhost;Username=postgres;Password=<password>;Database=FoxIDs
OpenSearch__Nodes__0=https://admin:<password>@localhost:9200

De waarden worden opgeslagen in de IIS configuratie (applicationHost.config) buiten de web root. Beperk toegang tot IIS configuratiebestanden tot alleen administrators.

Zo configureer je de variabelen in IIS:

  1. Open IIS Manager.
  2. Selecteer de site (FoxIDs of FoxIDs.Control).
  3. Open Configuration Editor.
  4. Ga naar system.webServer/aspNetCore.
  5. Voeg waarden toe onder environmentVariables.
  6. Herhaal dit voor de tweede site en herstart beide App Pools.

First login

Open je FoxIDs Control site (http://control.my-domain.com of https://control.my-domain.com) in een browser. Deze zou moeten doorsturen naar de FoxIDs site waar je inlogt met de standaard admin gebruiker admin@foxids.com en wachtwoord FirstAccess! (je moet het wachtwoord wijzigen bij de eerste login).
Je wordt daarna teruggeleid naar de FoxIDs Control site in de master tenant. Je kunt meer admin users toevoegen in de master tenant.

Klik vervolgens op de main tenant en authenticeer opnieuw met dezelfde standaard admin gebruiker admin@foxids.com en wachtwoord FirstAccess! (ook hier moet je het wachtwoord wijzigen).

De standaard admin gebruiker en het wachtwoord zijn hetzelfde voor zowel de master tenant als de main tenant, maar het zijn twee verschillende gebruikers.

Je bent nu ingelogd op de main tenant en kunt starten met het configureren van je applicaties en authenticatiemethoden.

Uw privacy

We gebruiken cookies om uw ervaring op onze websites te verbeteren. Klik op de knop 'Alle cookies accepteren' om akkoord te gaan met het gebruik van cookies. Om niet-noodzakelijke cookies te weigeren, klikt u op 'Alleen noodzakelijke cookies'.

Bezoek onze privacyverklaring voor meer informatie