In deze blog beschrijf ik een algemene aanpak voor het installeren van de WSO2 Identity Server op een Windows computer. Waarom algemeen? Dat is omdat de versies van de Identity Server kunnen veranderen, maar de installatieprocedure voor de Identity Server, en eigenlijk ook alle andere WSO2 producten, ongeveer hetzelfde blijft. Mijn uitgangspunt hierbij is dat ik zo min mogelijk blijvende veranderingen aan de pc wil maken. We kunnen natuurlijk ook in een VirtualBox met Vagrant runnen, maar dat vraagt om extra installaties en dat wil ik nu juist vermijden.
Hardware en besturingssysteem
Dus, wat hebben we nodig? Als eerste natuurlijk een computer met Windows. Hoewel andere besturingssystemen (zoals Linux) uiteraard ook mogelijk zijn, vraagt dat om een duidelijk andere setup, dus in deze blog houd ik het bij Windows en wel Windows 10.om precies te zijn.
De strategie van Microsoft om Windows 10 op de markt te brengen met gratis updates is aangeslagen en er zijn inmiddels meer dan 1 miljard apparaten die op dit besturingssysteem draaien. Oudere versies van Windows zouden echter ook nog goed kunnen werken. Wat betreft de hardware wil ik van een moderne pc uitgaan, wat neerkomt op een Intel Core I3, i5, I7 of vergelijkbare chips van AMD, 8 gigabyte aan Ram en alle andere dingen die je van een moderne pc mag verwachten.
Java
WSO2 is voor het grootste deel in Java geschreven en daarom is een JDK of JRE nodig. Dit vormt de omgeving waarin WSO2 kan draaien. Java heeft een behoorlijk aantal verschillende versies, die op dit moment van 1 tot 18 lopen. Voor WSO2 zijn uitsluitend Java-versies 8 en 11 geschikt. Voor de Identity Server gaat de voorkeur uit naar Java 8, omdat die ook oudere versies van de Identity Server ondersteunt. Als je bijvoorbeeld alleen met Identity Server 5.11.0 gaat werken, dan kun je ook voor Java 11 kiezen. Qua distributie is Adopt OpenJDK een prima keuze, maar andere distributies werken ook. Als je ook Analytics wilt kunnen gebruiken, dan blijft alleen Java 8 als mogelijkheid over, omdat dit niet door Java 11 ondersteund wordt. In dit voorbeeld laat ik beide opties zien, maar alleen in combinatie met Java 8.
Laten we beginnen met het downloaden van Adopt OpenJDK 11 vanaf deze URL. (Ook Java 8 kun je hier vinden.) Ik gebruik persoonlijk liever het zip-bestand dan de installer (MSI). Zorg er wel voor dat je de juiste versie hebt, dus de x64.
WSO2
Voor deze blog gebruik ik Apache versie 2.0 van de Identity Server. Deze versie kan binnen de licentie vrij gebruikt worden, maar is niet geschikt in een productieomgeving.
Deze versie download je direct van de WSO2 GitHub pagina voor de Identity Server. Download daar beide bestanden: wso2am-5.11.0.zip en wso2is-analytics-5.8.0.zip. Het is een goed idee om om ook de MD5 checksum (wso2is-5.11.0.zip.md5 en wso2is-analytics-5.8.0.zip.md5) te downloaden om de download te kunnen verifiëren. Als je de checksum op je PC berekent, dan hoort de uitkomst overeen te komen met degene die je gedownload hebt.
Open een opdrachtregelscherm en typ de volgende opdracht in:
CertUtil -hashfile <path to file> MD5
Verander <path to file> naar het daadwerkelijke pad en de bestandslocatie.
Vergelijk dit met het MD5 bestand 0df61b29b7245cc5499a4d65ba7212a0 wso2is-5.11.0.zip. Herhaal dit voor het Analytics zip-bestand.
Een bestandsmap aanmaken
Maak een nieuwe map, bijvoorbeeld op het bureaublad met Verkenner, en noem deze WSO2-IS.
Kopieer de drie gedownloade bestanden (JDK, IS en Analytics) naar die map. Unzip ieder zip-bestand. En dan ziet dat er zo uit:
Ik wil geen omgevingsvariabelen of pad-instellingen veranderen, dus ga ik een batchbestand creëren dat de benodigde variabelen instelt als:
- JAVA_HOME
- PATH
Deze verandering is alleen voor de duur van dit batchbestand.
Maar we zullen eerst de Analytics in de WSO2 Identity Server moeten inschakelen. Dit kunnen we doen door het deployment.toml bestand in [IS-HOME]/repository/conf aan te passen.
Voeg deze twee toe:
[identity_mgt.analyticsLoginDataPublisherV110]
enable=true
[identity_mgt.analytics_session_data_publisher]
enable=true
Zoek naar ‘Analytics’.
Sla het bestand op. We hebben Analytics nu ingeschakeld. Maat we moeten er ook voor zorgen dat de producten elkaar vertrouwen!
Vertrouwensrelatie
We zullen een vertrouwensrelatie moeten creëren door wederzijds het certificaat van de wso2carbon.jks te exporteren en daarna te importeren in de client-truststore. Voer deze opdrachten uit in een opdrachtregelscherm. Verander de locatie (dus C:\Users…) naar de locatie die jij lokaal gebruikt.
# Exporting certificates
keytool -exportcert -alias wso2carbon -file wso2analyticscert -keystore C:\Users\rob\Desktop\WSO2-IS\wso2is-analytics-5.8.0\resources\security\wso2carbon.jks -storepass wso2carbon
keytool -exportcert -alias wso2carbon -file wso2iscert -keystore C:\Users\rob\Desktop\WSO2-IS\wso2is-5.11.0\repository\resources\security\wso2carbon.jks -storepass wso2carbon
# Import certificates
keytool -importcert -alias wso2analytics -file wso2iscert -keystore C:\Users\rob\Desktop\WSO2-IS\wso2is-analytics-5.8.0\resources\security\client-truststore.jks -trustcacerts -storepass wso2carbon -noprompt
keytool -importcert -alias wso2is -file wso2analyticscert -keystore C:\Users\rob\Desktop\WSO2-IS\wso2is-5.11.0\repository\resources\security\client-truststore.jks -trustcacerts -storepass wso2carbon -noprompt
Alles opstarten
Het batchbestand ziet er ongeveer zo uit. Hiermee worden de parameters JAVA_HOME en PATH voor de duur van het batchbestand en het opdrachtregelscherm ingesteld. Verander de locatie (i.e. C:\Users…) zodat deze overeenkomt met jouw persoonlijke installatie.
@set OLDPATH=%PATH%
@set OLDJH=%JAVA_HOME%
@echo Setting JAVA_HOME
@SET "JAVA_HOME=C:\Users\rob\Desktop\WSO2-IS\jdk8u292-b10"
@echo JAVA_HOME: %JAVA_HOME%
@echo Setting PATH
@SET "PATH=C:\Users\rob\Desktop\WSO2-IS\jdk8u292-b10\bin;%PATH%"
@echo PATH: %PATH%
@echo starting WSO2 IS Analytics Worker Node
@cd C:\Users\rob\Desktop\WSO2-IS\wso2is-analytics-5.8.0\bin
@start worker.bat
@echo starting WSO2 AM Analytics Dashboard Node
@cd C:\Users\rob\Desktop\ WSO2-IS\wso2is-analytics-5.8.0\bin
@start dashboard.bat
@echo starting WSO2 IS 5.11.0
@cd C:\Users\rob\Desktop\WSO2-IS\wso2is-5.11.0\bin
@start wso2server.bat
@cd ..\..
@set PATH=%OLDPATH%
@set JAVA_HOME=%OLDJH%
@echo Done
@set PATH=%OLDPATH%
@set JAVA_HOME=%OLDJH%
@echo Done
Resultaat
Nu zullen de worker, het dashboard en de Identity Server in drie afzonderlijke schermen opgestart worden, zonder permanente wijzigingen aan de computer aan te brengen. Wijzigingen in waardes zijn er dus alleen voor de duur van de sessie van het opdrachtregelscherm (de terminal), maar deze zijn ingesteld op hun originele waardes. Je kunt nu bij de Identity Server komen via de Management UI (https://localhost:9443/carbon), MyAccount portal, Identity Server Console (https://localhost:9443/console/develop/applications) in je browser. Dit is de link om bij het Analytics Dashboard (https://localhost:9643/analytics-dashboard) te komen.
Conclusie
Dit is een simpele manier om de WSO2 Identity Server en Analytics op je pc te installeren zonder sporen achter te laten. Als je de set-up volledig zou willen automatiseren met een PowerShell, dan kun je een simpel batchbestand maken dat je kunt runnen op het moment dat je een set-up op je pc nodig hebt.
Als je meer wilt leren over de Identity Server, neem dan een kijkje op onze Yenlo trainingspagina’s.