[[TOC(heading=Documentserver)]] [[TOC(heading=Moduleconfiguratie, sectionindex, compact, depth=3, allactive, Documentatie/Beheerder/Modules/)]] [[TOC(heading=Beheerder, sectionindex, compact, depth=2, allactive, indirect=Documentatie/Beheerder/TOC)]] [[TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)]] = Documentserver (WebDAV) = De documentserver van OpenAC 3 maakt gebruik van WebDAV. De documentserver zorgt ervoor dat gebruikers vanuit OpenAC 3 Office-documenten kunnen bewerken. De OpenAC WebDAV-server is een aparte applicatie genaamd openac-webdav.exe die wordt meegeleverd met de OpenAC distributie en tijdens het starten van OpenAC wordt opgestart als een apart proces. De configuratiefolder waarmee OpenACWeb.exe gestart is, wordt doorgegeven aan WebDAV. N.B. Als OpenAC2 een mapped network drive gebruikt voor de OpenAC bestandsmap (bijv. een P: drive) (zie Instellingen in OpenAC2 bij 'Opslaglocatie bestanden'), dan moet de server waar OpenAC3 op draait ook deze mapped network drive hebben, omdat beide OpenAC's dezelfde instellingen gebruiken. == Configuratie == Om WebDAV in gebruik te nemen moet een sectie "Documentserver" worden opgenomen in appsettings.json: {{{#!json "Documentserver": { "__comment__": "Type: Filesystem of WebDAV", "Type": "WebDAV", "WebDAV": { "Host": "localhost", "Port": 3000, "Dir": "//localhost/d$/openac_data", "LogDir": "d:/openac_data/log", "Realm": "openac-webdav", "Tls": { "KeyFile": "d:/webdav/openac-certificaat.key", "CertFile": "d:/webdav/openac-certificaat.crt" }, "TokenExpirationInSeconds": 300 } }, }}} ||{{{Type}}}||"WebDAV" om WebDAV te gebruiken, anders "Filesystem"|| ||{{{Host}}}||De hostnaam van de server waar OpenAC 3 en de WebDAV-server op draaien. OpenAC clients moeten de server met deze naam kunnen benaderen|| ||{{{Port}}}||Het poortnummer waarop de WebDAV-server te bereiken is. Het poortnummer mag niet in gebruik zijn (ook niet door OpenAC 3) en moet worden vrijgegeven in de firewall|| ||{{{Dir}}}||De documentenmap van OpenAC. Het pad mag zowel in UNC-notatie of met een schijfletter worden opgegeven maar gebruik altijd **forward slashes**|| ||{{{LogDir}}}||Lokale servermap waar de WebDAV-server zijn logbestand naartoe schrijft. Gebruik een schijfletter en **forward slashes**|| ||{{{Realm}}}||De naam van het gebied waarvoor een login nodig is. Zonder Realm vragen Chrome en Edge niet om een login en dat resulteert in een Unauthorized foutmelding|| ||{{{KeyFile}}}||De key van het SSL-certificaat in PEM-formaat|| ||{{{CertFile}}}||Het SSL-certificaat in PEM-formaat|| ||{{{TokenExpirationInSeconds}}}||De geldigheidsduur van door OpenAC uitgegeven tokens voor de beveiliging van documenten vanuit WebDAV (in seconden)|| **Let op:** De WebDAV-server gebruikt dezelfde configuratiebestanden als OpenAC (appsettings.json en hosting.json) maar is strikter dan OpenAC wat JSON-fouten betreft. Bij syntactische fouten in de JSON-bestanden start de WebDAV-server niet op. Aandachtspunten: * Commentaar is niet toegestaan in JSON-bestanden. Verwijder blokken die beginnen met /* en eindigen met */ en regels die beginnen met //. * Als openac-webdav niet opstart, probeer de executable dan op te starten vanaf de command line. Foutmeldingen verschijnen op de console. * Er kunnen meerdere WebDAV processen op één (test)server draaien. De verschillende WebDAV processen moeten een eigen !LogDir hebben en deze mappen moeten bestaan voordat de WebDAV processen gestart worden. Bij configuratiewijzigingen moet de WebDAV-server worden gestopt en gestart. Zie "Stoppen & Starten". == Certificaat == Communicatie tussen Office en de WebDAV-server is beveiligd met een SSL-certificaat. Zonder een geldig certificaat werkt de koppeling niet. De WebDAV-server moet worden geconfigureerd met een SSL-certificaat en -key in aparte bestanden. Zie sectie "TLS" in de voorbeeldconfiguratie hierboven. Als je een certificaat in PKCS12-formaat hebt (met pfx- of p12-extensie) dan kun je met behulp van openssl het certificaat en key exporteren naar de vereiste bestanden in PEM-formaat. In beide gevallen zal openssl vragen om het wachtwoord van de private key: === Exporteer private key === {{{ openssl pkcs12 -in openac-certificaat.pfx -out openac-certificaat.key -nodes -nocerts }}} === Exporteer certificaat === {{{ openssl pkcs12 -in openac-certificaat.pfx -out openac-certificaat.crt -nokeys }}} Om de server te testen leveren we een door de Fenac uitgegeven certificaat mee met OpenAC. Dit certificaat is te vinden in de map Modules\WebDAV. Om het te kunnen gebruiken moet het rootcertificaat hiervan worden vertrouwd. Doe dit door FenacCA.cer te installeren als vertrouwd basiscertificaat. **Let op:** het meegeleverde certificaat is uitgegeven voor localhost en kan alleen lokaal op de server worden getest. Om de server te testen met het meegeleverde certificaat moet de TLS-sectie uit het configuratiebestand worden weggelaten == Stoppen & Starten == De WebDAV-server wordt automatisch gestart door OpenAC. Als het nodig is de server te stoppen dan kan dit vanaf de server statuspagina. Onder het kopje "WebDAV-server status" wordt de status weergegeven: [[Image(webdav_gestart.png, width=600)]] Druk op de stopknop om de server te stoppen. De status verandert in gestopt: [[Image(webdav_gestopt.png, width=600)]] Druk op de startknop om de server weer te starten. == Gebruik == Door te klikken op een documentlink in OpenAC zal Office worden opgestart en zal contact zoeken met de WebDAV-server om het document te openen. De gebruiker zal éénmalig moeten inloggen met de OpenAC gebruikersnaam en het OpenAC wachtwoord. De WebDAV-server gebruikt de OpenAC 3 login service om de gebruiker in te loggen. == Vereisten == WebDAV is afhankelijk van de Windows Service 'Webclient'. Als deze service niet bestaat of uitgeschakeld is, dan kunnen documenten alleen als 'Alleen Lezen' geopend worden. Op een Windows Server moet de 'WebDAV Redirector (!WebClient)' feature geinstalleerd zijn. (Open ''Server Manager - Manage - Add Roles and Features - etc.'') De 'Desktop Experience' feature is nodig op Windows Server 2012/2016/2019 om 'WebDAV Redirector (!WebClient)' te kunnen inschakelen.