Changes between Version 3 and Version 4 of Documentatie/Ontwikkelaar/Systeembeheer/OpenAC3Testserver


Ignore:
Timestamp:
01/15/21 15:11:34 (5 years ago)
Author:
peter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Systeembeheer/OpenAC3Testserver

    v3 v4  
    1313In de resource groep is SQL Server `openacdb` in gebruik. Er kunnen databases aangemaakt worden vanuit de Azure portal of met SQL Server Management Studio. OpenAC3 maakt zelf geen database aan, daarom kopieer je een OpenAC2 database of je gebruikt OpenAC2 met een ODBC koppeling om de database in te richten bij de eerste start. 
    1414=== ODBC en Azure === 
    15 Je kan de database van de testserver op afstand gebruiken met OpenAC2. Configureer met het programma "ODBC-gegevensbronbeheer (32-bits)" een SQL Server koppeling met het "ODBC Driver XX for SQL Server" stuurprogramma. De server is te vinden op `openacdb.database.windows.net` en je logt in met SQL Server authenticatie, gebruiker `Fenac`. Aan te raden is de standaard database te veranderen naar de database waarvoor de koppeling opgezet wordt. Zet eventueel de taal van de berichten naar Nederlands. Op de testserver is voor alle databases in Azure een ODBC koppeling gedefinieerd. Koppeling "Azure" gebruikt database `OpenAC3DB` met adaptatie ac_nederland, koppeling "Azure AC Hoensbroek" gebruikt database `ac_hoensbroek` met adaptatie ac_hoensbroek en koppeling "testdata" gebruikt database `testdata` met adaptatie ac_hoensbroek, van die laatste zijn medewerkers geanonimiseerd. 
     15Je kan de database van de testserver (op afstand) gebruiken met OpenAC2. Mogelijk moet je nog bij Azure je IP adres toegang geven. Configureer met het programma "ODBC-gegevensbronbeheer (32-bits)" een SQL Server koppeling met het "ODBC Driver XX for SQL Server" stuurprogramma. De server is te vinden op `openacdb.database.windows.net` en je logt in met SQL Server authenticatie, gebruiker `Fenac`. Aan te raden is de standaard database te veranderen naar de database waarvoor de koppeling opgezet wordt. Zet eventueel de taal van de berichten naar Nederlands. Op de testserver is voor alle databases in Azure een ODBC koppeling gedefinieerd. Koppeling "Azure" gebruikt database `OpenAC3DB` met adaptatie ac_nederland, koppeling "Azure AC Hoensbroek" gebruikt database `ac_hoensbroek` met adaptatie ac_hoensbroek en koppeling "testdata" gebruikt database `testdata` met adaptatie ac_hoensbroek, van die laatste zijn medewerkers geanonimiseerd. 
    1616 
    1717=== Applicaties === 
     
    2323 - Python3 - deze heb je na installatie niet echt meer nodig omdat er ook OpenAC2 met python2 op de server staat. Sterker nog, het staat in de weg dus ik heb het uitgeschakeld. 
    2424 - Visual Studio Build Tools - wordt ook gebruikt om de C# code te bouwen 
     25 - webpack - maakt o.a. compacte javascript bestanden voor in wwwroot 
     26 - vast nog wel meer, node.js is een vrij complete oplossing 
    2527- [https://dotnet.microsoft.com/download/dotnet-core/3.1 .NET Core SDK 3.1] - nodig voor de applicatie 
    2628Best belangrijk 
     
    3335 
    3436== OpenAC3 Configuratie == 
    35 De configuratie bestanden van OpenAC3 staan in `C:\ProgramData\OpenACWeb\`. In `appsettings.json` is de database koppeling met Azure ingeregeld. Verschillende instellingen hebben fictieve waarden, zoals AGB code 12345678 die we aan Fenac toekennen. Waarden die er wel toe doen zijn `Agb > AgbLocaties > Bestandsmap: C:\OpenACData\Documents` en `HTTPS > CertificateFile: C:\ProgramData\OpenACWeb\letsencrypt.pfx` en `HTTPS > CertificatePassword: ********`. 
    36 Notepad++ onthoudt welke bestanden open waren toen het afgesloten werd, je kan daar meestal gelijk de configuratie bestanden van OpenAC3 zien. 
     37De configuratie bestanden van OpenAC3 staan in `C:\ProgramData\OpenACWeb\`. Notepad++ onthoudt welke bestanden open waren toen het afgesloten werd, je kan daar meestal gelijk de configuratie bestanden van OpenAC3 zien. 
    3738 
    38 Let ook even op het bestand C:\ProgramData\OpenACWeb\letsencrypt.pfx, dat is het https certificaat van https://openac3test.fenac.nl/ dat door de service gebruikt wordt en geconfigureerd staat in appsettings.json onder HTTPS. Dit bestand wordt elke maandag ververst met batch bestand `C:\Users\OpenACBeheerder\Documents\letsencrypt.bat`. Er is een geplande taak voor certbot om de basis certificaat bestanden bij te werken, maar die is uitgeschakeld en vervangen door de taak die het pfx bestand aanmaakt. Let op, daar staat een wachtwoord in. De certificaat bestanden van certbot staan in C:\Certbot\. 
     39 appsettings.json:: In `appsettings.json` is de database koppeling met Azure ingeregeld. Verschillende instellingen hebben fictieve waarden, zoals AGB code 12345678 die we aan Fenac toekennen. Waarden die er wel toe doen zijn `Agb > AgbLocaties > Bestandsmap: C:\OpenACData\Documents` en `HTTPS > CertificateFile: C:\ProgramData\OpenACWeb\letsencrypt.pfx` en `HTTPS > CertificatePassword: ********`. 
     40 hosting.json:: Bevat de aangepaste regel: `"urls": "http://*:80;https://openac3test.fenac.nl:443",` waarmee http en https verkeer mogelijk is. 
     41 nlog.config:: De configuratie voor logging wijkt iets af van de standaard. Bestanden komen in `C:\OpenACData\logs\` te staan. Verder worden de berichten van Quartz.Core.!QuartzSchedulerThread niet weggeschreven. Berichten van onderdelen van Microsoft komen vanaf niveau Debug terecht in "openac-alles-<datum>.log" maar niet in "openac-applicatie-<datum>.log". Berichten vanaf niveau Error worden naar een apart bestand "openac-errors-<datum>.log" geschreven. 
     42 web.config:: Om de uitvoer naar `System.Console.WriteLine()` op te vangen is `... stdoutLogEnabled="true" stdoutLogFile="C:\OpenACData\logs\stdout" ...` gespecificeerd. 
     43 messagequeue.json:: Is niet aangepast. 
     44 zg_stamtabellen.json:: Is niet aangepast. 
     45 
     46=== Let's Encrypt / Certbot === 
     47Let ook even op het bestand `C:\ProgramData\OpenACWeb\letsencrypt.pfx`, dat is het https certificaat van !https://openac3test.fenac.nl/ dat door de service gebruikt wordt en geconfigureerd staat in appsettings.json onder HTTPS. Dit bestand wordt elke maandag ververst met een geplande taak dat batch bestand `C:\Users\OpenACBeheerder\Documents\letsencrypt.bat` start. Er is ook een geplande taak voor Certbot om de basis certificaat bestanden bij te werken, dat krijg je bij de installatie van Certbot, maar die is uitgeschakeld en vervangen door de taak die het pfx bestand aanmaakt. Let op, daar staat een wachtwoord in. De certificaat bestanden van certbot staan in C:\Certbot\. Het certificaat is aanvankelijk aangemaakt met een commando dat lijkt op `certbot certonly -d openac3test.fenac.nl --agree-tos -m tickets@fenac.nl --webroot` waarbij voor webroot `C:\OpenAC3\wwwroot` ingevoerd is. Met Anywise is afgestemd dat openac3test.fenac.nl naar het IP adres van de server wijst. 
    3948 
    4049== OpenAC2 Configuratie == 
     
    4453Met het script reset-password van OpenAC2 kunnen medewerkers (en admin) een ander wachtwoord krijgen. 
    4554 
     55= Dagelijks OpenAC3 bouwen = 
     56De programmabestanden van OpenAC3 zijn te vinden in `C:\OpenAC3` maar dat is eigenlijk een symlink. Dit heeft te maken met het dagelijks bouwen van OpenAC3. 
    4657 
     58OpenAC3 wordt elke dag opnieuw gebouwd. Dit wordt gedaan om 1:00 uur in de nacht met een geplande taak die batch bestand `C:\Users\OpenACBeheerder\Documents\release.bat` start. Dit batch bestand maakt een release met een aangepast release.py script (`C:\Users\OpenACBeheerder\Documents\release.py`) waar het uploaden naar onze site uit gehaald is. Als dit script er in slaagt een zip bestand te maken dan worden andere batch bestanden aangeroepen om eerst de OpenAC3 service te stoppen, dan wordt het zip bestand in `C:\` uitgepakt en wordt de `C:\OpenAC3` link opnieuw aangemaakt om naar de nieuwe versie te wijzen. De bestanden van de vorige versie worden weggegooid. De OpenAC3 service wordt opnieuw gestart met een batch bestand. Bekijk de batch bestanden in `C:\Users\OpenACBeheerder\Documents\`. Het stoppen, vervangen en weer starten van de OpenAC3 service gebeurt dus alleen als het bouwen van een nieuwe versie slaagt. 
     59 
     60De code is met git uitgecheckt in `C:\OpenACWebCore\` op branch master. De gebruikte credentials zijn geregistreerd in de installatie van de Git software. Een kopie van de key bij visualstudio.com staat in "git creds.txt" in Documents.