Windows
Dieser Abschnitt führt Schritt für Schritt durch die Installation des Babel Licensing Service unter Windows 11.
Mit dieser Anleitung installieren und konfigurieren Sie den Babel Licensing Service unter Windows 11.
Voraussetzungen
Um den Babel Licensing Service unter Windows 11 zu installieren, müssen die folgenden Voraussetzungen erfüllt sein.
- Windows 11 ist auf die neueste Version aktualisiert
- Microsoft SQL Server oder MySQL/MariaDB (der .NET-10-Dienst ist mit MySQL 8.4 und MariaDB 11.4 getestet)
- Die ASP.NET-Core-Laufzeit, die zum Dienstpaket passt (zum Beispiel .NET 10 für
babel_service_net100_x.y.z.w.zip) - Zip-Paket des Babel Licensing Service (zum Beispiel
babel_service_net100_x.y.z.w.zip). Dasselbe Paket dient beiden Editionen. - Lizenzdatei für Babel Licensing in der Edition Server oder Data Center (
babel.licenses) - Für das Installationsskript ist PowerShell ab Version 7 erforderlich
Installationsskript
Das PowerShell-Skript BabelLicensingService.ps1 automatisiert die in diesem Abschnitt beschriebene Installation und Konfiguration des Babel Licensing Service in Windows-Umgebungen.
Bevor die Installation beginnt, stellt das Skript sicher, dass die Voraussetzungen erfüllt sind, etwa Administratorrechte, die richtige PowerShell-Version und der MariaDB-CLI-Befehl. Mit dem Skript installieren Sie den Dienst und fragen seinen Status ab.
Während der Installation entpackt es das Installations-Zip, kopiert die Lizenzdatei, legt die Datenbank an, trägt die richtigen Verbindungszeichenfolgen in die appsettings.json ein und installiert den Dienst mit der richtigen Konfiguration. So vermeiden Sie die Fehler einer manuellen Einrichtung.
So verwenden Sie das Skript BabelLicensingService.ps1:
Skript herunterladen
Laden Sie das Skript über diesen Link herunter.
Skript in einen temporären Ordner kopieren
Kopieren Sie das heruntergeladene Skript in einen temporären Ordner.
Dienst-Zip und Lizenzdatei hinzufügen
Legen Sie das Zip-Archiv des Babel-Dienstes (babel_service_net100_x.y.z.w.zip, wobei x.y.z.w die Version ist) und die Lizenzdatei (babel.licenses) in denselben temporären Ordner wie das Skript.
Skript ausführen
Führen Sie das Skript BabelLicensingService.ps1 aus dem temporären Ordner aus, um die Installation zu starten.
Beim Ausführen des Skripts kann der folgende Fehler auftreten:
The file C:\Projects\BabelSvc\BabelLicensingService.ps1 is not digitally signed. You cannot run this script on the current system.Um ihn zu beheben, stellen Sie mit dem folgenden Befehl eine weniger restriktive Ausführungsrichtlinie ein, die das Skript zulässt:
Set-ExecutionPolicy -ExecutionPolicy UnrestrictedDie Ausführungsrichtlinie Unrestricted kann das System Sicherheitsrisiken aussetzen. Führen Sie nur Skripte aus vertrauenswürdigen Quellen aus, und stellen Sie die Richtlinie nach dem Ende des Skripts möglichst wieder auf eine sicherere Einstellung zurück.
Wenn Sie das Skript BabelLicensingService.ps1 nicht verwenden möchten, finden Sie im Folgenden die Schritt-für-Schritt-Anleitung für die manuelle Einrichtung des Dienstes.
Dateien einrichten
Um den Babel Licensing Service einzurichten, entpacken Sie die Assemblys und Konfigurationen des Dienstes aus der bereitgestellten Zip-Datei babel_service_net100_x.y.z.w.zip in das passende Verzeichnis auf Ihrem Windows-Rechner. Die folgenden Schritte entpacken die Zip-Datei mit dem Windows-Explorer in das Verzeichnis C:\BabelSvc.
Öffnen Sie im Windows-Explorer den Ordner, in dem babel_service_net100_x.y.z.w.zip gespeichert ist.
Archiv mit der rechten Maustaste anklicken
Klicken Sie mit der rechten Maustaste auf die Datei babel_service_net100_x.y.z.w.zip.
„Extract All“ wählen
Wählen Sie im Kontextmenü Extract All... (Alle extrahieren).
Zielordner festlegen
Geben Sie im Dialog „Extract Compressed (Zipped) Folders“ (ZIP-komprimierte Ordner extrahieren) C:\BabelSvc als Zielordner ein.
Dateien entpacken
Klicken Sie auf Extract (Extrahieren).
Die Dateien des Babel Licensing Service aus babel_service_net100_x.y.z.w.zip liegen nun im Verzeichnis C:\BabelSvc.
Lizenzdatei
Kopieren Sie die Lizenzdatei babel.licenses in den Ordner mit den entpackten Dateien. So kann der Dienst auf die benötigten Lizenzinformationen zugreifen.
Die Lizenzdatei bestimmt die Edition. Mit einer Data-Center-Lizenz wird die Webanwendung unter der Adresse des Dienstes bereitgestellt. Mit einer Server-Lizenz zeigt diese Adresse eine Upgrade-Seite mit einem Vergleich der Editionen. Der Dienst, seine API und Babel Desktop funktionieren weiterhin. Für ein Upgrade ersetzen Sie babel.licenses und starten den Dienst neu. Eine Neuinstallation ist nicht nötig.
Die Datenbank anlegen
Für den Babel Licensing Service brauchen Sie eine eigene Datenbank und einen eigenen Benutzer. Die folgenden Schritte legen die Lizenzdatenbank von Babel Licensing mit Microsoft SQL Server und MySQL MariaDB an.
Microsoft SQL Server
Um die Lizenzen des Babel Licensing Service mit SQL Server zu verwalten, richten Sie eine eigene Datenbank ein. Die folgenden Schritte konfigurieren die Datenbank für einen reibungslosen Betrieb.
SQL Server Management Studio (SSMS) starten.
- Verbinden Sie sich mit Ihrer SQL-Server-Instanz.
- Öffnen Sie ein neues Abfragefenster, um die SQL-Befehle auszuführen.
Mit den folgenden SQL-Befehlen die Datenbank anlegen und den Benutzer konfigurieren
-- Create the licenses database
CREATE DATABASE licenses;
GO
-- Create a new SQL Server login for the Babel Licensing Service
CREATE LOGIN babel WITH PASSWORD = 'YourUniquePassword';
GO
-- Create a database user linked to the login
USE licenses;
CREATE USER babel FOR LOGIN babel;
GO
-- Grant the necessary privileges to the user
ALTER ROLE db_owner ADD MEMBER babel;
GOMySQL MariaDB
HeidiSQL, ein leistungsfähiges und einfach zu bedienendes Open-Source-Tool zur Datenbankverwaltung, erleichtert diesen Vorgang zusammen mit MariaDB. Die folgenden Schritte legen eine Datenbank mit HeidiSQL und MariaDB an.
Starten Sie HeidiSQL und wechseln Sie auf die SQL-Registerkarte, um die folgenden SQL-Befehle auszuführen:
CREATE DATABASE licenses;
CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword';
GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost;
FLUSH PRIVILEGES;Prüfen Sie danach, ob die Datenbank licenses angelegt wurde und der Benutzer babel die richtigen Rechte hat. Melden Sie sich dazu mit den Anmeldedaten des Benutzers babel an und greifen Sie auf die Datenbank licenses zu.
Den Babel Licensing Service konfigurieren
Die Konfiguration des Babel Licensing Service ist ein entscheidender Schritt, damit der Dienst richtig funktioniert und sich in Ihre Umgebung einfügt. Dazu bearbeiten Sie die Datei appsettings.json im entpackten Ordner und passen die Einstellungen an Ihre Anforderungen an.
appsettings.json bearbeiten
Wechseln Sie in den entpackten Ordner und suchen Sie die Datei appsettings.json. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl und passen Sie die Datenbankkonfiguration an den Datenbankserver an, den Sie für die Lizenzdatenbank von Babel Licensing gewählt haben.
Microsoft SQL Server
Um die Lizenzdatenbank von Babel Licensing auf Microsoft SQL Server einzurichten, konfigurieren Sie den Database Provider und die Verbindungszeichenfolge SQLServer wie folgt:
"Database": {
"Provider": "SQLServer"
},
"ConnectionStrings": {
"SQLServer": "Data Source=SQLSERVER_INSTANCE_NAME;User Id=babel;Password=YourUniquePassword;Encrypt=false;Initial Catalog=licenses",
"MySQL": "",
"SQLite": ""
},Ersetzen Sie SQLSERVER_INSTANCE_NAME durch den Namen Ihrer SQL-Server-Instanz, wie ihn der SQL Server Object Explorer oder Ihre Verbindung in SQL Server Management Studio (SSMS) anzeigt.
Tragen Sie anstelle von YourUniquePassword das Passwort ein, das Sie in Microsoft SQL Server für die SQL-Server-Anmeldung babel festgelegt haben.
MySQL MariaDB
Wenn Sie sich beim Anlegen der Lizenzdatenbank von Babel Licensing für MySQL und MariaDB entschieden haben, konfigurieren Sie den Database Provider und die Verbindungszeichenfolge MySQL wie folgt:
"Database": {
"Provider": "MySQL"
},
"ConnectionStrings": {
"SQLServer": "",
"MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses",
"SQLite": ""
},Stellen Sie sicher, dass Provider unter Database auf MySQL gesetzt ist und die Verbindungszeichenfolge MySQL die richtige Serveradresse, den Benutzer, das Passwort und den Datenbanknamen enthält. Ersetzen Sie YourUniquePassword durch das Passwort, das Sie in MariaDB für den Benutzer babel festgelegt haben.
Unter .NET 10 verwendet der Dienst den Anbieter Microting.EntityFrameworkCore.MySql, einen unter der MIT-Lizenz stehenden Fork von Pomelo mit Unterstützung für Entity Framework Core 10. Frühere Frameworks verwenden Pomelo. Der Anbietername MySQL, die Verbindungszeichenfolge und das Schema sind auf jedem Framework gleich.
Kestrel konfigurieren
Im Abschnitt EndpointDefaults ist Protocols auf Http1AndHttp2 gesetzt. Der Server kommuniziert damit über die beiden Protokolle HTTP1 und HTTP2 und bleibt flexibel und mit verschiedenen Arten von Clients kompatibel.
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http1AndHttp2"
},
"Endpoints": {
"gRPC": {
"Url": "http://*:5005",
"Protocols": "Http2"
}
}
},Im Abschnitt Endpoints definieren Sie die einzelnen Endpunkte des Dienstes. Hier ist ein Endpunkt namens gRPC konfiguriert, dessen Url auf http://*:5005 gesetzt ist, sodass der Dienst auf allen verfügbaren Netzwerkschnittstellen auf Port 5005 lauscht. Protocols ist für diesen Endpunkt eigens auf Http2 gesetzt und damit auf die gRPC-Kommunikation abgestimmt.
Achten Sie bei der Konfiguration von Kestrel darauf, dass die angegebenen URLs und Protokolle zu den Anforderungen Ihres Dienstes und zu Ihrer Netzwerkumgebung passen. Ändern Sie sie bei Bedarf, bis der Dienst das gewünschte Verhalten und die gewünschte Leistung zeigt.
Serilog konfigurieren
Konfigurieren Sie außerdem im Abschnitt Serilog die Protokollierung:
"Serilog": {
"Using": ["Serilog.Sinks.Console", "Serilog.Sinks.File"],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Grpc": "Warning"
}
},
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"],
"WriteTo": [
{"Name": "Console"},
{
"Name": "File",
"Args": {
"path": "C:\\BabelSvc\\log.txt",
"rollingInterval": "Day"
}
}
]
},Geben Sie in diesem Abschnitt den vollständigen Pfad der Protokolldatei an, vor allem wenn der Babel Licensing Service als Windows-Dienst läuft. So vermeiden Sie Probleme bei der Protokollierung. Mit "path": "C:\\BabelSvc\\log.txt" wird die Protokolldatei zum Beispiel im Verzeichnis C:\BabelSvc gespeichert.
Anwendungseinstellungen
Geben Sie zuletzt im Abschnitt Application die Werte LicenseFile, SigningKey und TokenExpiration an:
"Application": {
"AdminUsername": "your-admin-user",
"AdminEmail": "admin@example.com",
"AdminPassword": "<strong-initial-password>",
"LicenseFile": "babel.licenses",
"SigningKey": "Secret Token Key",
"TokenExpiration": "00:30:00"
},LicenseFile muss hier auf babel.licenses gesetzt sein. Passen Sie SigningKey an, indem Sie Secret Token Key durch Ihren eigenen, eindeutigen Schlüssel ersetzen. Er sichert die Kommunikation zwischen den Clients der Anwendung und dem Babel Licensing Service. Mit dem Wert TokenExpiration legen Sie nach Ihren Anforderungen die Gültigkeitsdauer des Tokens fest.
Seit 11.7.0: Der Dienst wird nicht mehr mit den Standard-Anmeldedaten admin / admin ausgeliefert, und SigningKey ist nicht mehr vorbelegt. Tragen Sie AdminUsername und AdminPassword vor dem ersten Start ein, um das erste Administratorkonto anzulegen (AdminEmail ist optional, aber empfohlen). Ist einer der beiden Pflichtwerte leer, startet der Dienst trotzdem, es wird aber kein Administrator angelegt. Die Webanwendung (Data Center) kann sich deshalb nicht mit diesem Konto anmelden, und Babel Desktop hat keinen Administrator-API-Schlüssel für die Verbindung, bis Sie die Werte setzen und den Dienst neu starten. Bleibt SigningKey leer, wird beim Start ein zufälliger Schlüssel erzeugt. Er wird jedoch bei jedem Neustart neu erzeugt und nicht zwischen Instanzen geteilt. Setzen Sie in der Produktion deshalb immer einen ausdrücklichen Wert (zum Beispiel über die Umgebungsvariable BABEL_SERVICE_APPLICATION__SIGNINGKEY).
Den Babel Licensing Service starten
So starten Sie den Babel Licensing Service mit PowerShell:
PowerShell öffnen
Öffnen Sie PowerShell über das Startmenü.
In den Installationsordner wechseln
Wechseln Sie mit dem Befehl cd in das Verzeichnis, in dem Babel.Licensing.Service.exe liegt, in der Regel:
cd C:\BabelSvcAusführbare Datei des Dienstes starten
Starten Sie die ausführbare Datei mit dem folgenden Befehl:
.\Babel.Licensing.Service.exePrüfen Sie anhand der ausgegebenen Meldungen, ob der Dienst ohne Fehler startet. Bei Problemen hilft die Dokumentation des Dienstes bei der Fehlerbehebung.
Beim Start des Dienstes kann ein Dialog der Windows-Firewall erscheinen, der um die Erlaubnis bittet, dass der Dienst über das Netzwerk kommunizieren darf. Wählen Sie „Allow access“ (Zugriff zulassen), sonst kann der Dienst nicht mit anderen Systemen im Netzwerk oder im Internet kommunizieren.
Als Windows-Dienst ausführen
Damit der Babel Licensing Service effizient im Hintergrund läuft und nach jedem Systemstart verfügbar ist, empfiehlt es sich, ihn als Windows-Dienst auszuführen. Als Dienst läuft der Babel Licensing Service unabhängig von Benutzersitzungen und bleibt ohne Unterbrechung verfügbar.
Verwenden Sie dazu den PowerShell-Befehl New-Service, der einen neuen Eintrag für einen Windows-Dienst in der Registrierung und in der Dienstdatenbank anlegt. Der angepasste PowerShell-Befehl mit New-Service lautet:
New-Service -Name "Babel.Licensing" -BinaryPathName "C:\BabelSvc\Babel.Licensing.Service.exe" -DisplayName "Babel Licensing" -StartupType "Automatic" -Description "Babel licensing and reporting network services."In diesem Befehl:
-Name "Babel.Licensing"gibt den Namen des Dienstes an.-BinaryPathName ".\Babel.Licensing.Service.exe"legt den Pfad zur ausführbaren Datei des Dienstes fest, hier im aktuellen Verzeichnis.-DisplayName "Babel Licensing"weist dem Dienst einen Anzeigenamen zu, unter dem er in der Anwendung „Services“ (Dienste) und in anderen Oberflächen erscheint.-StartupType "Automatic"konfiguriert den Dienst so, dass er automatisch mit dem System startet.-Description "Babel licensing and reporting network services."liefert eine Beschreibung, die Aufgabe und Funktion des Dienstes erläutert.
Führen Sie diesen Befehl in einer PowerShell-Sitzung mit Administratorrechten aus, damit der Dienst richtig angelegt und konfiguriert wird. Danach ist der Babel Licensing Service als Windows-Dienst eingerichtet und steht auf dem System dauerhaft zur Verfügung.
Den Dienst starten
Start-Service -Name "Babel.Licensing"Den Dienst beenden
Stop-Service -Name "Babel.Licensing"Den Status des Dienstes abfragen
Get-Service -Name "Babel.Licensing" Den Dienst deinstallieren
Get-Service -Name "Babel.Licensing" | Remove-ServiceFühren Sie auch diese Befehle in einer PowerShell-Sitzung mit Administratorrechten aus, damit sie richtig ausgeführt werden.