Je eigen Opsi-server installeren en beheren

Wanneer je computers onder je beheer hebt in je thuisnetwerk of een klein bedrijfsnetwerk, is het handig om deze centraal te kunnen beheren en inventariseren. Je eigen Opsi-server installeren is dan een goed idee.

Ook het automatisch doorlopen van een Windows-installatie waarbij de instellingen en software direct worden neergezet bespaart met een Opsi-server een hoop tijd. Je kunt namelijk eenvoudig nieuwe software uitrollen, zelfs via netboot.

Verder kun je je hardware en software ermee inventariseren en kun je software patchen en zelf nieuwe pakketten toevoegen en uitrollen op je netwerk. Opsi, oftewel Open PC Server Integration, is opensource en gratis en is bedoeld om Windows-clients centraal mee te beheren. Het draait echter op een Linux-server. Het werkt op vele soorten Linux, zoals openSUSE, CentOS, Ubuntu en Debian.

Opsi-server installeren

Je kunt Opsi op twee manieren installeren. Je kunt alles zelf doen en het dus installeren op een van de ondersteunde Linux-distro’s, zoals dus CentOS, openSUSE of Ubuntu. Dat is echter wel wat werk. Je hebt Samba en een MySQL-server nodig, moet dan nog wat andere dependency’s installeren, zelf Opsi configureren en installeren en nog veel meer. Je vindt hier alle stappen (en dat zijn er nogal wat) om Opsi te installeren.

Het kan ook makkelijker: Opsi levert een kant-en-klare virtuele machine voor VirtualBox of VMware. Dat is de manier waarop je het beste zo’n groot pakket als Opsi draait en dan ben je in een keer klaar om naar productie te gaan.

De Opsi-virtuele machine bevat Opsi zelf en een dhcp-server. Die dhcp-server is nodig voor clients om te starten vanaf het netwerk. Als je al een dhcp-server in je netwerk hebt, kun je ze combineren. Stel dan je dhcp-server in met optie 066 naar het ip van je Opsi-server en 067 op linux/pxelinux.0 waarna je na de installatie de dhcp-server uit kunt zetten met:

sudo service dhcp3-server stop

Download nu het zip-bestand met de Opsi server-virtuele machine en pak het uit. Importeer vervolgens het bestand opsivm.ovf in je favoriete vm-software: VMware Player, VirtualBox of een ESXi-server. Importeer en start de virtuele machine. De Opsi-virtuele machine is overigens een installatie van Lubuntu.

Opsi configureren en updaten

Bij de eerste keer starten verschijnt de configuratiewizard van Opsi. Je kunt de taal, servernaam, domeinnaam, ip-adres en meer instellen. Doorloop de stappen, de meeste spreken voor zich. Zorg ervoor dat de domeinnaam je servernaam bevat en zorg ervoor dat het ip-adres dat je invult voor de Opsi-server het ip-adres is dat de router al aan je Opsi-server heeft toegekend, om ip-conflicten te voorkomen. Vul ook een geldige dns-hostnaam in als servernaam.

Voer achteraf nog twee wachtwoorden in en na een herstart is dan de configuratie voltooid. Je kunt dan inloggen met het wachtwoord van zojuist voor de gebruiker adminuser. Firefox opent dan en geeft je meer instructies. Controleer of je internet hebt. Is dat niet het geval, open dan een terminal en voer 1stboot.py uit waarna je de netwerkconfiguratie opnieuw kunt aanpassen. Herstart je virtuele machine achteraf.

Het is belangrijk om nu als eerste de server te updaten. Op het bureaublad vind je de Update Manager, voer die uit om Lubuntu te patchen. Start nu eerst MySQL via de terminal met

sudo service mysql start

Daarna is het tijd om Opsi zelf te patchen en de Opsi-producten te installeren. Daarvoor voer je op het bureaublad het programma opsi-product-update FirstRun uit. Nadat alles klaar is, voer je als laatste nog op het bureaublad opsi-set-rights uit waarna je klaar bent om met de serverinterface aan de slag te gaan.

opsi-server installeren

© PXimport

Voor de configuratiepagina ga je naar https://<server-ip-adres>:4447/configed.jnlp. Zorg er dan wel voor dat poort 4447 open staat. In de Opsi-virtuele machine is dat standaard al het geval. Helaas moet de computer waarmee je die pagina bezoekt beschikken over Java. Heb je dat niet, download en installeer het dan.

Zorg dat Java ook aanstaat in de browser, anders kun je de configuratie van Opsi niet starten. Download het jlnp-bestand en voer het uit. Je kunt de configuratie-interface ook direct in de Opsi-virtuele machine starten, zodat je geen Java hoeft te gebruiken op je desktop-pc. Daarvoor open je opsi-configed op het bureaublad van de Opsi-virtuele machine.

Verbinding maken en inventariseren

Om een bestaande Windows-computer te verbinden met opsi, open je Windows Verkenner en voeg je een nieuwe netwerkschijf toe met als pad \\<je-opsi-server>\opsi_depot en log je in met de gebruiker adminuser. Start vervolgens het script opsi-client-agent\service_setup.cmd in een opdrachtregel met administratorrechten. Druk op Enter om de installatie te starten.

Als om een inlognaam gevraagd wordt, log je in met de gebruiker adminuser. Let op dat na de configuratie Windows automatisch opnieuw gestart wordt, dus zorg dat open bestanden zijn opgeslagen. Na het starten wordt vanzelf verbinding gelegd met je Opsi-server. Terug in de configuratie-editor van Opsi selecteer je links de Client List en klik je rechtsboven op de vernieuwknop. Je net toegevoegde Windows-pc komt dan vanzelf tevoorschijn.

Een erg handige functie van Opsi is om een software- en hardware-inventarisatie te maken. Om daarmee aan de slag te gaan, ga je in de configuratie van Opsi naar Product configuration en zoek je in de lijst naar swaudit. De software audit zoekt standaard niet naar de productsleutels. Om daarnaar wel te zoeken, klik je rechts op de optie keyfinder en zet je de optie op on.

Je kunt een Opsi-product uitvoeren of installeren op een client door eerst link je client aan te klikken en dan in de kolom Request Action voor set-up te kiezen. Dan wordt voor het inloggen de audit automatisch gestart. Je kunt de actie ook direct starten: klik dan met rechts op swaudit en kies voor Execute now (‘on_demand’). Herhaal deze stappen voor hwaudit om ook de hardware te inventariseren. Is de inventarisatie eenmaal klaar, dan kun je de resultaten inzien in Opsi via het tabblad Hardware information en Software inventory.

Netboot instellen

Opsi bevat een netboot-server waardoor je er eenvoudig via het netwerk van kunt opstarten. Om de producten te zien die als netboot beschikbaar zijn, ga je naar het tabblad Netboot Products. Je hebt op die manier geen live-usb-sticks meer nodig, want je kunt hier een grote reeks aan besturingssystemen direct en eenvoudig vanaf het netwerk starten, zoals Windows 10, Windows 8.1 en Windows 7, maar ook Windows Server en veel Linux-distributies.

Wij gaan aan de slag met een Windows 10-installatie vanaf het netwerk. Daarvoor installeer je als eerst de WinPE-omgeving op je lokale pc die je al toegevoegd hebt aan Opsi. Pak de ADK for Windows 10 uit en volg de installatiestappen om de WinPE-omgeving te installeren. In Opsi kies je dan bij Product configuration in de lijst voor opsi-winpe en klik je op once. Kies de juiste architectuur. Klik met rechts en kies voor Execute now. Op je client waar je WinPE hebt geïnstalleerd is nu een map aangemaakt genaamd C:\winpe_<ARCH>\media. Plaats die map in \\<je-opsiserver>\opsi_depot_rw\win10-x64\winpe\. Voer daarna op je Opsi-server de snelkoppeling Opsi-set-rights uit. Zorg ervoor dat je de Windows 10-iso binnenhaalt, opent en de bestanden daarvan plaatst in een map hoger genaamd installfiles.

Windows 10 installeren via Opsi

Om nu de Windows-installatie te starten, klik je links op de client waarop je het wilt uitvoeren en dan op het betreffende besturingssysteem dat je wilt starten, in ons geval dus win10-x64. Klik je bij Requested Action op setup. Sla de wijzigingen op in Opsi en herstart de betreffende client.

Start de pc vanaf het netwerk. Open daarvoor het bootmenu van de computer of wijzig de opstartvolgorde in de uefi. Je kunt de installatie alleen starten vanaf clients die je al hebt toegevoegd aan Opsi. Voordat de installatie gestart wordt, wordt nog om bevestiging gevraagd in het Duits. Let op dat als je hier op Starten drukt, je schijven geleegd worden door Opsi zelf! Daarna pas wordt de Windows-installatie gestart.

Als je graag een volautomatische installatie uit wilt voeren, gebruik je daarvoor het bestand unattend.xml in de map \\<je-opsi-server>\opsi_depot_rw\win10-x64\custom\unattend.xml. Standaard levert Opsi al een template mee van unattend.xml. Je kunt daar nu zelf doorheen lopen en de opties aanpassen.

Handiger is om een unattend.xml te genereren met bijvoorbeeld http://windowsafg.no-ip.org/win10x86_x64.html. Daar kun je je eigen opties kiezen en een unattend.xml-bestand genereren. Vervang dan het bestand in het Opsi-depot met je gegenereerde versie en start de installatie opnieuw om deze dan automatisch uit te voeren.

opsi-server installeren

© PXimport

Nu we Windows 10 eenvoudig automatisch kunnen installeren, willen we er ook graag achteraf de instellingen in aanpassen. Daarvoor maak je gebruik van het Opsi-product config-win10. Rechts zie alle opties die je in dat product kunt aanpassen. Je kunt op die manier bijvoorbeeld eenvoudig Windows Defender uitschakelen, het vergrendelscherm uitschakelen, Windows-updates instellen, fast boot aan of uitzetten en kiezen welke gegevens gedeeld worden met Microsoft. De waardes kun je aanpassen bij Property configuration en spreken voor zich.

Opsi-pakketten installeren

Om je eigen software uit te rollen op je clients, is het nodig dat je een nieuw Opsi-pakket aanmaakt. Alle producten die je ziet in Product Configuration zijn een los Opsi-pakket en hebben dezelfde opbouw. Zo hebben ze een aantal installatiebestanden en bevatten ze een script dat aangeeft wat er precies moet gebeuren. Dat script is geschreven in een scripttaal, maar die is niet zo moeilijk om te leren.

Laten we ons eigen pakket maken. Hiervoor open je een terminal op je Opsi-server en ga je naar de map /home/opsiproducts. We maken dan een nieuw product aan met het commando opsi-newprod. Doorloop de stappen. Wij gaan Adobe Reader DC uitrollen als localboot-package, dat is een pakket dat lokaal op de pc draait, dus kies dat uit de lijst. Vul dan de gevraagde gegevens in, zoals product-id, bijvoorbeeld adobe-reader-dc, en een productnaam.

Bij Setup script vul je in setup.ins, bij Uninstall script vul je uninstall.ins in, waarna je door kunt gaan. We voegen nu geen dependency’s toe en ook geen producteigenschappen, dus kies daar voor No en dan nog eens voor No. Vul nog wel een maintainer in, dat is verplicht. Daarna is ons nieuwe pakket aangemaakt en kunnen we het script gaan maken.

We gaan nu naar de map CLIENT_DATA in ons net aangemaakte product. Open daar een terminal en haal de Adobe-installatie binnen met:

wget ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1502320070/AcroRdrDC1502320070_en_US.exe mv AcroRdrDC1502320070_en_US.exe AdobeReader.exe

Blader vooraf naar de map op de ftp-server om eventueel de link bij te werken naar de nieuwste versie. We maken dan ons setupbestand aan met touch setup.ins. Bewerk het bestand meteen door het te openen met Leafpad en plaats er het volgende in:

[Actions] Message ‘Adobe Reader DC installeren...’ Winbatch_install [Winbatch_install] "%ScriptPath%\AdobeReader.exe" /sAll /rs /msi EULA_ACCEPT=yes

Sla het bestand daarna op. We houden het nu nog simpel: bovenaan definieer je altijd het blok actions met daarin de secundaire acties die je uit wilt voeren. In dit geval voeren we maar één actie uit, namelijk het stilletjes installeren van Adobe. Winbatch is een losse, bekende scriptingtaal en voert dat commando uit met de Windows-api. %ScriptPath% is een globale variabele van Opsi die de huidige locatie aangeeft en daarin staat de Reader-installatie. We geven dan een aantal switches mee om de software stil mee te installeren.

opsi-server installeren

© PXimport

Verwijderscript aanmaken

Er resten nog twee kleine stappen: het verwijderscript maken en het inpakken van ons product. Voor het verwijderscript maak je het bestand aan genaamd uninstall.ins. Daarin plaats je:

[Actions] Message "Adobe Reader DC verwijderen..." WinBatch_Adobe_uninstall [WinBatch_Adobe_uninstall] MsiExec.exe /passive /x {AC76BA86-7AD7-1031-7B44-AC0F074E4100}

Dat laatste is de GUID van Adobe Reader DC om de installatie weer ongedaan te maken. Het zou kunnen dat die niet meer up-to-date is op het moment van publicatie. Om de nieuwste te vinden, voer je wmic product get uit in PowerShell. Om nu ons pakket in te pakken, open je weer de terminal en ga je met de code cd naar de hoofdmap van ons product, dus /home/opsiproducts/adobe. Voer

opsi-makeproductfile

uit, gevolgd door

opsi-package-manager -i *.opsi

om het pakket te installeren. Je kunt het nu zoals eerder testen door het uit te rollen op een client.

Om in de toekomst dit pakket te patchen, vervang je het nieuwe installatiebestand in de map van het Opsi-product. Daarna genereer je opnieuw de makefile van Opsi. Tijdens dat proces zal worden gevraagd of je een nieuwe versie wilt aanmaken, kies dan voor ja. Je kunt dan het pakket opnieuw uitrollen op de pc’s zodat de nieuwste versie automatisch geïnstalleerd wordt.

Scripts testen

De scripts die we tot nu toe hebben gemaakt zijn zeer eenvoudig. Zoals je misschien al hebt gemerkt, is het niet heel erg fijn om scripts te moeten schrijven in de Opsi-virtuele machine. Er is een alternatief waardoor je ook direct je scripts op een client kunt testen. Daarvoor mount je je Opsi-server en ga je naar de map opsi_depot/opsi_winst/files. Voer dan het bestand winst32.exe uit, dat is de Opsi-scriptrunner-gui.

Je kunt simpelweg een nieuw tekstbestand aanmaken met daarin je script. Kies dat bestand in de runner bij Script. Klik op Start om het script uit te voeren. Erg handig is dat je direct daaronder het volledige log ziet en kunt zien wat er precies allemaal goed en minder goed gaat. Als je dan klaar bent verplaats je alles naar je Opsi-virtuele machine en hoef je het pakket alleen nog maar in te pakken.

Tot slot

Je kunt hier meer lezen over hoe de scripttaal van Opsi werkt. Daar vind je bijvoorbeeld hoe je bestanden kunt kopiëren en plakken, het register kunt aanpassen en veel andere acties kunt uitvoeren. Een ander, handig hulpmiddel voor het vinden van producten voor Opsi is deze wiki. Daar vind je extra Opsi-repository’s met software die je zo kunt installeren, maar ook kant-en-klare scripts voor vele programma’s.

Je moet dan alleen een nieuw product aanmaken, zoals hier eerder beschreven, en de Opsi-wiki levert de scripts kant-en-klaar aan. Handig is dat je de tree-view ziet van de map CLIENT_DATA en dan dus meteen weet welke bestanden je nodig hebt. Vaak staat ook beschreven waar je de msi’s van veel populaire programma’s kunt vinden.

Deel dit artikel
Voeg toe aan favorieten