Firmen benötigen zunehmend eine flexible IT, die sich schnell an die aktuellen Anforderungen anpassen lässt. Der Königsweg dorthin ist die Hybrid Cloud, bei ... (mehr)

Vorhandene Software anzeigen

Bevor Pakete installiert werden, ist eine Übersicht über bestehende Installationen ratsam. So vermeiden Sie Kollisionen mit alten Versionen eines Pakets und es bleibt die Wahlfreiheit zwischen einem Update oder der Deinstallation der alten Version. Anhand der Software "Visual Studio Code" spielen wir diesen Prozess durch.

Chocolatey bietet für die Suche die Aktionen "list" und "search", wobei "search" lediglich als Alias für "list" dient. Die Suche erfolgt remote oder lokal und lässt sich über Parameter steuern. Bestehende Installationen von "Visual Studio Code" ermitteln wir mit

> choco list visualstudiocode --localonly -v

Der Rückgabewert an die Konsole zeigt, dass eine Version 1.18.1 bereits installiert ist. Um detaillierte Informationen über das Paket abzurufen, setzen wir die Aktion "info" ein (Bild 1):

> choco info visualstudiocode
Bild 1: Detaillierte Informationen über ein vorhandenes Softwarepaket wirft die Aktion info aus.

Bei vorhandenen Paketen besteht nun der nächste Schritt entweder in einer Deinstallation des vorhandenen Pakets oder in dem Versuch eines Updates. Letzteres wird wie folgt initialisiert:

> choco upgrade "VisualStudioCode"

Als Rückgabe erfolgt die Frage, ob die Durchführung des Installationsskriptes zulässig ist. Ein "Y" startet die Installation. Sollten aber die Versionen inkompatibel sein, kann eine Deinstallation der bestehenden Software unumgänglich sein:

> choco uninstall VisualStudioCode

Sind mehrere Versionen installiert, ist die Auswahl der Version über ein Textmenü möglich. Chocolatey verfügt über ein großes Verzeichnis an installierbarer Software, das mittels Stichwörtern durchsuchbar ist. Ist die Zielsetzung nicht, bestehende Ressourcen zu verwalten, sondern eigene zu erstellen, bietet Chocolatey auch hierfür Möglichkeiten. Mit der Aktion "new" legen Sie neue Quellen an. Als Basisverzeichnis für die Paketdateien soll ein lokales Verzeichnis dienen. Mit

> New-item -itemtype directory -path C:\Pakete

ist dieses in der PowerShell-Konsole schnell erstellt. Auch für die neu erstellten Pakete wird ein Speicherort benötig, in unserem Beispiel "C:\MSI". Nun beginnt die Verarbeitung und diese wird mit ein wenig Programmierlogik versehen. Im Zentrum steht die Chocolatey-Aktion "new":

$StrSource = "C:\Pakete";
$StrMSI = "BlendWPFSDK_de.msi";
$StrOut = "C:\MSI\";
set-location -Path $StrSource;
$ChocoCMD ="choco new --file $StrMSI --build-package --outputdirectory $StrOut";
If (-NOT(Test-Path -Path $StrOut)){new-item -path $StrOut -ItemType directory;
}
if (test-Path -Path $StrMSI){Invoke-Expression -Command $ChocoCMD;
}

Ein auf lokalen Freigaben basierendes Repository ist schwer zu verwalten. Struktur und Berechtigungen müssen über SMB abgebildet werden. Wesentlich besser ist ein Webservice, der als Chocolatey-Server fungiert. Ein HTTP-Dienst ist universell erreichbar und die Schnittstelle Browser ohne Einschränkung verfügbar. Chocolatey bietet eine Erweiterung, die eine eigene, unternehmensspezifische Paketverwaltung über den Anwendungsserver von Microsoft bietet. Die Umsetzung erfolgt in den Einzelschritten Upgrade, IIS Installation, Bereitstellung der virtuellen Anwendung.

Chocolatey-Serverfunktion aktivieren

Wenn das .NET-Framework in der Version 4 oder höher vorliegt, sollte das Server-Upgrade mit

> choco upgrade chocolatey.server -y

funktionieren. Im nächsten Schritt installieren wir den Internet Information Server (IIS) und konfigurieren ihn. Dies wäre auch über andere Schnittstellen wie das GUI oder die PowerShell möglich. Doch der Weg über Chocolatey und die Aktion "install" ist konsistent. Als Quelle nutzen wir hier die internen "Windowsfeatures":

> choco install IIS-WebServer --source windowsfeatures

Da auch das ASP.NET-Framework für die Serveranwendung benötigt wird, folgt nach Durchlauf der Installationsroutine der Befehl:

> choco install IIS-ASPNET45 --source windowsfeatures

Für die Initialisierung kann optional zum Abschluss der Befehl:

> choco install IIS-ApplicationInit --source windowsfeatures

verwendet werden. Die Applikation liegt standardmäßig im Pfad "C:\tools\chocolatey.server". Die Anbindung der Site an den Webserver muss noch im IIS oder über die PowerShell vorgenommen werden. Ob die Webanwendung über einen eigenen HTTP-Port wie 8080 oder über einen Host Header erreichbar ist, bleibt wahlfrei. Zudem muss die Anwendung einem "Application Pool" zugeordnet werden, der die Leistungssteuerung übernimmt. Bei den Installationsschritten ist schon der Anwendungspool "Chocolatey" erstellt worden, dessen Verwendung sich empfiehlt. Damit bei Zugriffen von Benutzern über das Webfrontend keine NTFS-Berechtigungsprobleme auftauchen, sollten Sie folgende Einträge in die Access Control List (ACL) vornehmen:

c:\tools\chocolatey.server – IUSR, IIS_IUSRS – Lesen
c:\tools\chocolatey.server\Appdata – IUSR – Lesen,Schreiben

Nach diesen Vorarbeiten steht das Repository bereit und kann über den Browser aufgerufen werden (Bild 2).

Bild 2: Das Repository ist eingerichtet und lässt sich über den Webbrowser aufrufen.
comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021