| Version 39 (modified by henk, 8 years ago) (diff) |
|---|
Server installatie
Installeren en beheren
Beheerder
Documentatie
OpenAC 3 Server installatie
Systeemeisen
OpenAC 3 is beschikbaar in twee varianten:
- win7-x64 (Windows Server 2008 R2, 64-bit)
- win81-x64 (Windows Server 2012, 64-bit)
Een zip-bestand van één van deze varianten kan worden gedownload op de Server releases pagina.
De OpenAC webapplicatie werkt goed met de browsers Google Chrome, Mozilla Firefox en Microsoft Edge. Microsoft Internet Explorer doet het grotendeels maar is veel trager en correcte werking is niet gegarandeerd.
De installatie van OpenAC 3 kan pas worden gestart nadat .NET 4.6.1 of hoger is geïnstalleerd op de server. Deze versie van .NET is voor Windows Server 2012 en hoger beschikbaar als Service Pack. Als .NET niet beschikbaar is als Service Pack dan kun je het downloaden bij Microsoft.
Installatie
Het installeren van OpenAC bestaat uit de volgende stappen:
- Uitpakken van het zip-bestand
- Configuratie
- Eerste keer starten
- Controle logbestanden
- Testen werking Message Queue (agendaserver)
- (optioneel) Installeren Windows service
Uitpakken van het zip-bestand
Maak een map aan en pak het zip-bestand hierin uit. Na de installatie moet OpenAC worden geconfigureerd voordat het kan worden gestart.
Configuratie
OpenAC kent een viertal configuratiebestanden. Ze zijn te vinden in de root van de installatiemap en kunnen de eerste keer hier worden geconfigureerd. OpenAC zal de bestanden bij de eerste start kopiëren naar de ProgramData\OpenACWeb map. In het vervolg moeten ze op die locatie worden gewijzigd. De volledige locatie kun je opzoeken in het OpenAC statusscherm.
| appsettings.json | Configuratie van database- en applicatie-specifieke instellingen |
| hosting.json | Configuratie van de OpenAC webserver |
| messagequeue.json | Configuratie van de OpenAC Message Queue (agendaserver) |
| nlog.config | Configuratie van de logbestanden |
Zie het kopje Configuratiebestanden voor meer informatie over het configureren van OpenAC.
Eerste keer starten
Test de configuratie door OpenAC te starten in de console. Open een command prompt en ga naar de installatiemap. Start de server op met:
OpenACWeb.exe
Navigeer met een browser naar de homepage op http://localhost:<poort>/ en kijk of je kunt inloggen. Als je kunt inloggen dan is de database correct geconfigureerd. Op de statuspagina, bereikbaar via Beheer -> Status kun je o.a. zien wat de data- en configuratie directory is die OpenAC gebruikt:
Controle logbestanden
In de standaardconfiguratie maakt OpenAC twee logbestanden aan:
| openac-alles-<datum>.log | De meest uitgebreide logging, inclusief alle binnenkomende request |
| openac-applicatie-<datum>.log | OpenAC-specifieke logging, inclusief eventuele foutmeldingen. Als ontwikkelaars een logbestand opvragen gaat het bijna altijd om dit bestand |
De logdirectory, het aantal logbestanden en de inhoud hiervan kan worden geconfigureerd met nlog.config. Controleer na de eerste keer starten of de logbestanden zijn aangemaakt en dat de inhoud overeenkomt met wat je verwacht.
Testen werking Message Queue (agendaserver)
De OpenAC Message Queue wordt hoofdzakelijk gebruikt om de agenda's te synchroniseren. Als iemand iets wijzigt in een agenda dan wordt dit via de Message Queue doorgegeven aan alle OpenAC werkstations die een verbinding hebben met de OpenAC 3 server. Als de server is gestart dan kun je de werking van de Message Queue testen.
In het instellingenscherm van OpenAC 2 moet onder het kopje "OpenAC Server" het vinkje voor "Start client" aanstaan. De instellingen achter "Server" en "MessageQueue? Poort" moeten overeenkomen met de instellingen in messagequeue.json.
Zorg er ook voor dat bovengenoemde instellingen zijn aangevinkt bij "Instelling voor alle gebruikers" zodat ze in de database worden opgeslagen en daardoor voor iedereen gelijk zijn.
De Message Queue kan worden getest door twee instanties van OpenAC 2 op te starten. Wijzigingen die je in de agenda van de één doet moeten na een korte vertraging automatisch verschijnen in de agenda van de ander. Let er wel op dat de agendalocatie voor beide instanties van OpenAC gelijk is.
(optioneel) Installeren Windows service
Voor het installeren of de-installeren van een service zijn Administrator bevoegdheden nodig.
de-installeren oude service
Als de oude agendaserver nog in gebruik is dan moet je deze allereerst verwijderen.
Voor OpenAC 3 gebruikten we een stand-alone Message Queue (agendaserver) om de agenda's te synchroniseren. Deze agendaserver kon als Windows service worden geïnstalleerd en is herkenbaar aan de executable "openac-server.exe". In het overzicht met Windows services heet de service "OpenACService".
Als deze service nog in gebruik is dan dien je hem te verwijderen voordat je de OpenAC 3 service kunt installeren. Ga eerst naar het services scherm en stop de oude service. Zet voor de zekerheid opstarttype op handmatig om te voorkomen dat de oude service automatisch wordt gestart als het verwijderen zou mislukken. Om de service te verwijderen open je een command prompt als administrator. Voer het volgende commando uit:
sc delete OpenACService
Als de oude service met een andere dan de default naam is geïnstalleerd dan de default naam, voer dan bovenstaand commando uit met de overeenkomstige naam.
installeren nieuwe service
De server kan als service worden geïnstalleerd door de executable te starten met parameter --install-service. Open een command prompt als adminstrator en ga naar de installatiemap. Installeer de service met:
openacweb.exe --install-service
Als het installeren van de service is gelukt volgt de melding:
De OpenAC service is met succes ge-installeerd.
Als het installeren van de service gelukt is dan moet hij de eerste keer handmatig worden gestart vanuit het services scherm.
de-installeren nieuwe service
Om de service te verwijderen ga eerst naar het services scherm en stop de service. Open daarna een command prompt als administrator. Voer het volgende commando uit:
sc delete OpenAC-Service
Voor het installeren van een nieuwe versie van OpenAC 3 is het niet nodig om de service te de-installeren. De service stoppen en na de upgrade opnieuw starten is voldoende.
Configuratiebestanden
appsettings.json
Configuratie van database- en applicatie-specifieke instellingen. Voordat de server kan worden getest moet eerst de database worden geconfigureerd. Dat kan in appsettings.json. Voorbeeld voor MySQL:
/*
* De database verbinding wordt geregeld door een database provider;
* voor de provider geldt een connection string om de verbinding te
* configureren.
*
* Geldige waarden voor ProviderName zijn: MySql, MSSql (niet-case-sensitive).
* Geldige waarden voor ConnectionString hangen af van de gekozen provider.
*/
"Database": {
"ProviderName": "MySql",
"ConnectionString": "server=127.0.0.1;userid=userid;password=password;database=database;SslMode=none"
}
Voorbeeld voor SQL Server met gebruikersnaam en wachtwoord:
"Database": {
"ProviderName": "MSSql",
"ConnectionString": "Server=server\instance;Database=database;User Id=userid;Password=password;"
}
In plaats van server\instance is het ook mogelijk een adres te gebruiken. Let op, server authentication moet zijn ingesteld op "SQL Server and Windows Authentication mode" (mixed mode), anders werkt inloggen met gebruikersnaam en wachtwoord niet.
Voorbeeld voor SQL Server met Windows Integrated Security:
"Database": {
"ProviderName": "MSSql",
"ConnectionString": "Server=server\instance;Trusted_Connection=True;"
}
In plaats van server\instance is het ook mogelijk een adres te gebruiken. De datatabase wordt nu benaderd met de identity waarmee de windows sessie is gestart. Deze zal dus voldoende rechten op de database moeten hebben.
Configureren serieprefix
Keys in OpenAC tabellen bevatten vaak een zogenaamde serieprefix. In de key ACH-17H12345 is "ACH" de centrumprefix en "17H" de serieprefix. Configureer serieprefixen door in appsettings.json een sectie "Serieprefix" toe te voegen aan de sectie "Agb".
Voor elke tabel/locatie-combinatie kan een eigen serieprefix worden opgegeven. De locatiecomponent is optioneel, je zou kunnen volstaan met alleen een "default"-clausule.
In de prefixspecificatie kunnen de volgende variabelen worden gebruikt:
| locatiecode | De locatiecode |
| jaar | De vier cijfers van het jaar |
| jaar2 | De laatste twee cijfers van het jaar |
| jaarletter | Het jaar geconverteerd naar een letter |
| maand | De maand in twee cijfers |
Variabelen moeten tussen accolades staan.
Als achter "default" de specificatie "{jaar2}{locatiecode}" staat dan wordt dit vertaald naar bijvoorbeeld "17H".
"Serieprefix": {
"patient": {
"F": "AM3",
"U": "AM7",
"H": "AM9",
"S": "AM0",
"A": "AM0",
"Q": "H{jaar2}-",
"default": "OA"
}
},
De serie-prefix sectie komt overeen met de serieprefix-functie in de eigen adaptatie van OpenAC 2, maar dan configuratie-gestuurd.
hosting.json
Configuratie van de OpenAC webserver. De interface:poort combinatie waarop de server luistert.
/*
puntkomma gescheiden lijst met <server>:<poort> combinaties
*/
{
"server.urls": "http://0.0.0.0:5000"
}
0.0.0.0 betekent dat de server op elke netwerk interface luistert. Dit is de geadviseerde instelling. Het poortnummer moet overeenkomen met nummer achter "Webserver Poort" in de sectie "OpenAC Server" van het instellingenscherm van OpenAC 2.
messagequeue.json
Configuratie van de OpenAC Message Queue (agendaserver). De OpenAC Message Queue is belangrijk voor optimaal functioneren van OpenAC 2 waarvoor het ondermeer het synchroniseren van de agenda's verzorgt.
{
"MessageQueue": {
"Port": 2200,
"Start": true
}
}
Het nummer achter "Port" moet overeenkomen met het nummer achter "MessageQueue Poort" in de sectie "OpenAC Server" van het instellingenscherm van OpenAC 2. Door "Start" op false te zetten wordt de MessageQueue niet gestart.
nlog.config
Configuratie van de logbestanden.
Voor het aanmaken van logbestanden gebruikt OpenAC de logmodule NLog. NLog moet worden geconfigureerd met het configuratiebestand nlog.config waarvan hieronder een voorbeeld te zien is:
<targets>
<!-- write logs to file -->
<target xsi:type="File" name="allfile" fileName="c:\temp\openac-alles-${shortdate}.log"
layout="${longdate}|${uppercase:${level}}|${event-properties:item=EventId.Id}|${logger}|${message} ${exception}" />
<target xsi:type="File" name="ownFile-web" fileName="c:\temp\openac-applicatie-${shortdate}.log"
layout="${longdate}|${uppercase:${level}}|${event-properties:item=EventId.Id}|${aspnet-Request-IP}|${logger}|${message} ${exception}" />
<target xsi:type="Null" name="blackhole" />
</targets>
<rules>
<!--All logs, including from Microsoft-->
<logger name="*" minlevel="Debug" writeTo="allfile" />
<!--Skip Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" minlevel="Debug" writeTo="blackhole" final="true" />
<logger name="*" minlevel="Debug" writeTo="ownFile-web" />
</rules>
Begin met het instellen van de gewenste logdirectory. Standaard staat deze ingesteld op c:\temp. Vergeet niet dat de logdirectory moet bestaan en dat OpenAC moet kunnen schrijven naar deze directory.
De volgende stap is het instellen van het minimum loglevel. NLog kent een aantal loglevels en alles wat OpenAC logt met het minimum level en hoger komt in de logbestanden terecht. Dus hoe hoger het minimum loglevel, hoe minder er in de logbestanden komt.
De loglevels zijn in aflopende volgorde:
| Fatal | Alleen fatale fouten |
| Error | Fouten en hoger |
| Warn | Waarschuwingen en hoger |
| Info | Meldingen en hoger |
| Debug | Debug-meldingen en hoger. Bedoeld om fouten op te sporen |
| Trace | Trace-meldingen en hoger. Logt het begin en einde van elke functie-aanroep. Genereert extreem veel logmeldingen |
We adviseren om minlevel in te stellen op "Info". Bij het oplossen van problemen zal de FENAC soms vragen om minlevel tijdelijk op "Debug" of "Trace" te zetten.
Ook het formaat van elke logregel kan worden geconfigureerd met nlog.config. Hiervoor kun je een regel-template opgeven achter het keyword "layout". De variabelen die je in de regel-template kunt gebruiken kun je terugvinden in de NLog-documentatie op https://github.com/nlog/nlog/wiki/Layout-Renderers. Let wel dat het mogelijk is dat de versie van NLog die OpenAC gebruikt niet alle variabelen ondersteunt die in de documentatie zijn terug te vinden.
We adviseren om ${longdate}|${uppercase:${level}}| aan het begin van elke logregel te zetten. Ook kan het handig zijn om ${aspnet-Request-IP} op te nemen zodat het IP-adres van elke client wordt gelogd.
Met de url http://<openac3-server>:<poort>/logleveltest kan de logconfiguratie worden getest. Dit genereert entries in het log die er afhankelijk van de configuratie ongeveer als volgt uitzien:
2018-02-19 13:54:31.0369|FATAL||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a Fatal message. 2018-02-19 13:54:31.0539|ERROR||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a Error message 2018-02-19 13:54:31.0539|WARN||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a Warning message 2018-02-19 13:54:31.0769|INFO||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a Information message 2018-02-19 13:54:31.0879|DEBUG||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a Debug message. 2018-02-19 13:54:31.1013|DEBUG||192.168.0.234|OpenACLogica.Controllers.StatusController|Here is a DebugInfo message.
Attachments (4)
- openac2_server_configuratie.png (5.4 KB) - added by henk 8 years ago.
- serverstatus.png (39.3 KB) - added by henk 8 years ago.
- Vecozo_EmailNotificatieToevoegen1.png (120.2 KB) - added by raymond 6 months ago.
- Vecozo_EmailNotificatieToevoegen2.png (134.9 KB) - added by raymond 6 months ago.
Download all attachments as: .zip

