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
- Installeer de .NET Core Hosting Bundle installer (direct download) om de ASP.NET Core Module (ANCM) voor IIS toe te voegen, die nodig is om ASP.NET Core applicaties te draaien, ook al zijn de FoxIDs websites self-contained.
- Herstart IIS of de server
De FoxIDs website toevoegen:
Site name
FoxIDsPhysical path bijv.
C:\inetpub\FoxIDsDe
httpdomeinbinding voor je domein bijv.http://id.my-domain.comZet de app service .NET CLR Version op
No Managed Code
En de FoxIDs Control website toevoegen:
- Site name
FoxIDs.Control - Physical path bijv.
C:\inetpub\FoxIDs.Control - De
httpdomeinbinding 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
hostsbestand van de serverC:\Windows\System32\drivers\etc\hostsom 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.

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.
- Pak uit en plaats de
win-acme.v2.x.x.x.x64.pluggablemap op een permanente plek, bijv. op de C schijf. Het component wordt daarna geregistreerd om in Windows Task Scheduler te draaien. - Start een elevated Command Prompt in administratieve modus
- Navigeer naar de
win-acme.v2.x.x.x.x64.pluggablemap - Run
wacs.exe - Klik
N - Selecteer de websites
FoxIDsenFoxIDs.Control, waarschijnlijk door te typen:2,3 - Klik
A - Kies de
FoxIDssite als de hoofdhost - Ga akkoord met de voorwaarden (klik
Nen daarnaY) - 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
- Stel het FoxIDs site domein in bij FoxIDsEndpoint bijv.
http://id.my-domain.comofhttps://id.my-domain.com - Alleen in de FoxIDs Control site. Stel het FoxIDs Control site domein in bij FoxIDsControlEndpoint bijv.
http://control.my-domain.comofhttps://control.my-domain.com - Als het domein begint met
http://..., verwijder dan de comment van"UseHttp": true, - Configureer de database toegang, ofwel naar MongoDB
of naar PostgreSql met je"Options": { "Log": "Stdout", "DataStorage": "MongoDb", "KeyStorage": "None", "Cache": "MongoDb", "DataCache": "None" }, "MongoDb": { "ConnectionString": "mongodb://localhost:27017" },postgresgebruikerswachtwoord"Options": { "Log": "Stdout", "DataStorage": "PostgreSql", "KeyStorage": "None", "Cache": "PostgreSql", "DataCache": "None" }, "PostgreSql": { "ConnectionString": "Host=localhost;Username=postgres;Password=xxxxxxxx;Database=FoxIDs" }, - 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.
- 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.
- Stage de binaries - Download de nieuwste
FoxIDs-x.x.x-win-x64.zip, pak uit naar tijdelijke mappen zoalsC:\temp\FoxIDs.newenC:\temp\FoxIDs.Control.new, en kopieer je bestaandeappsettings*.jsonenweb*.config. - Snapshot de huidige installatie - Stop de twee IIS sites (of hun App Pools). Xcopy of hernoem de live mappen, bijv.
C:\inetpub\FoxIDs→C:\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. - Swap de update - Xcopy de staged mappen naar de live paden (
C:\inetpub\FoxIDsenC:\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. - 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. - Rollback indien nodig - Als er iets misgaat, stop de sites, hernoem de zojuist gedeployde mappen naar
.failed, herstel de.bakmappen 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.
- Maak een map op een permanente plek, bijv.
C:\opensearchop de C schijf. OpenSearch wordt daarna geïnstalleerd om als Windows Service te draaien. - Verplaats het gedownloade bestand
opensearch-x.x.x-windows-x64.zipnaar de mapC:\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 - Verplaats de uitgepakte bestanden naar de map
C:\opensearch - Start een elevated Command Prompt in administratieve modus
- Navigeer naar de map
C:\opensearch - Stel een administrator wachtwoord in, run
set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password> - Start de service, run
.\opensearch-windows-install.bat - Start een andere Command Prompt
- Test OpenSearch, run test request
curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecure - Test de OpenSearch plugins, run test request
curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure - Ga terug naar de OpenSearch Command Prompt en stop OpenSearch door
ctrl+cte klikken en daarnay - De instellingen staan in
C:\opensearch\config\opensearch.yml, bekijk deze instellingen. - Navigeer naar de map
C:\opensearch\binin de OpenSearch Command Prompt - Run
opensearch-service.bat installom de OpenSearch Windows Service te installeren - Run
opensearch-service.bat managerom de OpenSearch Windows Service instellingen te openen - Zet Startup type: op
Automaticen klik OK - Run
opensearch-service.bat startom 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__ConnectionStringPostgreSql__ConnectionStringOpenSearch__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:
- Open
IIS Manager. - Selecteer de site (
FoxIDsofFoxIDs.Control). - Open
Configuration Editor. - Ga naar
system.webServer/aspNetCore. - Voeg waarden toe onder
environmentVariables. - 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
mastertenant als demaintenant, 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.