Linux Ubuntu
Dieser Abschnitt führt Schritt für Schritt durch die Installation des Babel Licensing Service unter Linux Ubuntu.
Mit dieser Anleitung richten Sie den Babel Licensing Service auf Ihrem Ubuntu-System ein und konfigurieren ihn.
Voraussetzungen
Um den Babel Licensing Service unter Linux Ubuntu LTS zu installieren, müssen die folgenden Voraussetzungen erfüllt sein.
- Linux Ubuntu 22.04 LTS
- MariaDB oder MySQL (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 (
babel_service_net100_x.y.z.w.zip). Dasselbe Paket dient beiden Editionen. - Lizenzdatei für Babel Licensing Server oder Data Center (
babel.licenses)
Halten Sie außerdem für die Installation das root-Passwort bereit. Es wird für administrative Aufgaben benötigt, etwa um Dateien zu installieren und das System zu konfigurieren.
Mit den folgenden Befehlen prüfen Sie die Versionen der Komponenten, die auf Ihrem Ubuntu-System installiert sind.
Ubuntu-Version prüfen
lsb_release -aDieser Befehl zeigt ausführliche Informationen zu Ihrer Ubuntu-Distribution an, darunter die Versionsnummer.
MariaDB-Version prüfen
mariadb-admin --versionDieser Befehl gibt die Versionsinformationen des installierten MariaDB-Servers aus.
Versionen der .NET-Laufzeit prüfen
dotnet --list-runtimesDieser Befehl listet die Versionen der .NET-Laufzeit auf, die auf Ihrem System installiert sind.
Installationsskript
Das Bash-Skript BabelLicensingService.sh vereinfacht die in diesem Abschnitt beschriebene Installation und Konfiguration des Babel Licensing Service in Ubuntu-Linux-Umgebungen.
Bevor die Installation beginnt, prüft das Skript die Voraussetzungen, etwa root-Rechte und das Vorhandensein der benötigten Tools wie des MariaDB-CLI-Befehls und dotnet. Über seine einfache Oberfläche installieren Sie den Dienst und fragen seinen Status ab.
Während der Installation übernimmt das Skript mehrere Aufgaben: Es entpackt das Installationsarchiv, kopiert die Lizenzdatei, initialisiert die Datenbank, trägt die passenden Verbindungszeichenfolgen in die appsettings.json ein und richtet den Dienst mit der richtigen Konfiguration ein.
So verwenden Sie das Skript BabelLicensingService.sh:
Skript herunterladen
Laden Sie das Skript über diesen Link herunter.
Skript in ein temporäres Verzeichnis verschieben
Verschieben Sie das heruntergeladene Skript in ein temporäres Verzeichnis (das Home-Verzeichnis des Benutzers).
Dienst-Zip und Lizenzdatei hinzufügen
Legen Sie die Zip-Datei 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 dasselbe temporäre Verzeichnis wie das Skript.
Skript ausführen
Führen Sie die folgenden Befehle aus, um die Installation zu starten.
chmod +x ./BabelLicensingService.sh
sudo <a data-footnote-ref href="#user-content-fn-1">./BabelLicensingService.sh</a>Wenn Sie das Skript BabelLicensingService.sh nicht verwenden möchten, beschreiben die folgenden Abschnitte die manuelle Einrichtung des Dienstes im Einzelnen.
Dateien einrichten
Um den Babel Licensing Service zu installieren, kopieren Sie die Zip-Datei mit allen Assemblys des Dienstes und die Lizenzdatei in das Home-Verzeichnis des Benutzers „babel“ (/home/babel). Anschließend entpacken Sie das Archiv, konfigurieren den Dienst und richten die Datenbank ein. Die folgenden Schritte gehen davon aus, dass Sie sich in dem Verzeichnis befinden, in dem die Zip-Datei liegt:
Dateien in das Home-Verzeichnis des Benutzers babel kopieren
Öffnen Sie ein Terminal und kopieren Sie die Zip-Datei und die Lizenzdatei mit dem folgenden Befehl an den gewünschten Ort:
cp babel_service_net100_x.y.z.w.zip /home/babel/
cp babel.licenses /home/babel/Die Zip-Datei mit den Assemblys des Babel Licensing Service liegt nun im Home-Verzeichnis des Benutzers „babel“ (/home/babel). Mit den Dateien in diesem Verzeichnis fahren Sie mit der Installation und Konfiguration des Babel Licensing Service fort.
Installationsordner anlegen und Archiv entpacken
Legen Sie unter „/var/www“ den Ordner „svc/babel“ an und entpacken Sie den Inhalt des Zip-Archivs:
- Führen Sie im Terminalfenster den folgenden Befehl aus, um unter „/var/www“ den Ordner „svc/babel“ anzulegen
sudo mkdir -p /var/www/svc/babelSie werden nach Ihrem Passwort gefragt, denn „sudo“ gewährt die administrativen Rechte, die zum Anlegen von Verzeichnissen im Systemverzeichnis nötig sind.
- Wechseln Sie in den neu angelegten Ordner „babel“:
cd /var/www/svc/babel- Entpacken Sie den Inhalt des Zip-Archivs in das aktuelle Verzeichnis („/var/www/svc/babel“):
sudo unzip /home/babel/babel_service_net100_x.y.z.w.zipMit diesen Schritten legen Sie die nötige Ordnerstruktur an und entpacken den Inhalt des Zip-Archivs in das Verzeichnis „/var/www/svc/babel“. Damit können Sie die Installation und Konfiguration des Babel Licensing Service am richtigen Ort fortsetzen.
Lizenzdatei kopieren
Kopieren Sie die Lizenzdatei „babel.licenses“ mit dem folgenden Befehl in das Verzeichnis „/var/www/svc/babel“:
sudo cp /home/babel/babel.licenses /var/www/svc/babel/Die Lizenzdatei „babel.licenses“ ist nun im Verzeichnis „/var/www/svc/babel“ installiert. Als Nächstes konfigurieren Sie den Benutzer, unter dem der Babel Licensing Service läuft.
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.
Besitzer der Anwendung festlegen
Nachdem die Lizenzdatei „babel.licenses“ im Verzeichnis „/var/www/svc/babel“ installiert ist, konfigurieren Sie im nächsten Schritt den Benutzer, unter dem der Babel Licensing Service läuft. Hier verwenden wir den Benutzer „www-data“.
Führen Sie dazu im Terminal den folgenden Befehl aus:
sudo chown www-data:www-data -R /var/www/svc/babelDieser Befehl überträgt den Besitz des Verzeichnisses „/var/www/svc/babel“ und seines Inhalts auf den Benutzer und die Gruppe „www-data“. Mit dem richtigen Besitzer stellen Sie sicher, dass der Babel Licensing Service unter dem vorgesehenen Benutzer laufen und auf die benötigten Dateien und Verzeichnisse zugreifen kann.
Dienst konfigurieren
Um den Babel Licensing Service zu konfigurieren und in der Datei appsettings.json die Einstellungen der Datenbankverbindung und weitere Anwendungseinstellungen einzutragen, gehen Sie so vor:
- Öffnen Sie in einem Terminalfenster mit dem folgenden Befehl die Datei
appsettings.jsonim Texteditor Nano
sudo nano /var/www/svc/babel/appsettings.json- Suchen Sie in der Datei
appsettings.jsonden Abschnitt"Database". Setzen Sie den Wert"Provider"auf"MySQL", um MySQL als Datenbankanbieter anzugeben
"Database": {
"Provider": "MySQL"
},- Suchen Sie den Abschnitt
"ConnectionStrings". Passen Sie unter dem Schlüssel"MySQL"die Verbindungszeichenfolge an die Konfiguration Ihres MySQL-Servers an. Tragen Sie die Werte fürserver,User,PasswordundDatabaseentsprechend ein:
"ConnectionStrings": {
"SQLServer": "",
"MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses",
"SQLite": ""
},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.
Ersetzen Sie "YourUniquePassword" durch ein starkes Passwort Ihrer Wahl. Für ein sicheres Passwort empfiehlt sich eine Kombination aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen. Bewahren Sie das Passwort auf, Sie brauchen es später bei der Konfiguration der Datenbank.
- Optional können Sie weitere Anwendungseinstellungen anpassen. Im Abschnitt
"Serilog"konfigurieren Sie zum Beispiel die Protokollierung und passen die minimale Protokollstufe an:
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Debug",
"System": "Debug",
"Grpc": "Debug"
}
},
...
},Um Installationsprobleme zu untersuchen, kann es hilfreich sein, die minimale Protokollstufe auf Debug zu setzen. Sobald der Dienst läuft, stellen Sie die Protokollstufe wieder auf Information oder Warning.
- Weiter unten, im Abschnitt
"Application", geben Sie"LicenseFile"(babel.licenses) an und passen die Werte"SigningKey"und"TokenExpiration"an Ihre Anforderungen 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"
},Ersetzen Sie Secret Token Key durch Ihren eigenen, eindeutigen Schlüssel. Er sichert die Kommunikation zwischen den Clients der Anwendung und dem Babel Licensing Service.
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).
- Um die Änderungen zu speichern und Nano zu verlassen, drücken Sie
Ctrl + X, bestätigen Sie die Änderungen mitYund drücken Sie zuletztEnter, um die Datei zu speichern.
Mit diesen Schritten haben Sie den Babel-Dienst über die Datei appsettings.json konfiguriert. Die geänderte Konfiguration enthält die richtigen Einstellungen der Datenbankverbindung und alle weiteren Anpassungen, die Sie vorgenommen haben.
Mehr über die Konfigurationsdatei des Babel Licensing Service erfahren Sie im Abschnitt Konfiguration.
Datenbank anlegen
Legen Sie nun die Datenbank „licenses“ an, die in der Verbindungszeichenfolge des Babel Licensing Service konfiguriert ist. Legen Sie anschließend den Benutzer „babel“ an, erteilen Sie ihm die Rechte an der Datenbank und prüfen Sie seine Berechtigungen.
- Öffnen Sie ein Terminal.
- Melden Sie sich mit dem folgenden Befehl als Benutzer root an der MariaDB-Konsole an:
sudo mariadb -u root -pSie werden nach dem root-Passwort gefragt.
- Sobald Sie an der MariaDB-Konsole angemeldet sind, listen Sie mit diesem Befehl alle vorhandenen Datenbanken auf:
SHOW DATABASES;- Um alle vorhandenen Benutzer aufzulisten, führen Sie die folgende Abfrage aus:
SELECT User FROM mysql.user;- Legen Sie die Datenbank „licenses“ mit diesem Befehl an:
CREATE DATABASE licenses;- Legen Sie mit den folgenden Befehlen den Benutzer „babel“ an und erteilen Sie ihm alle Rechte an der Datenbank „licenses“:
CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword';
GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost;
FLUSH PRIVILEGES;Ersetzen Sie 'YourUniquePassword' durch das Passwort, das Sie in der MySQL-Verbindungszeichenfolge des Babel Licensing Service festgelegt haben.
- Mit der folgenden Anweisung prüfen Sie, ob der Benutzer „babel“ die richtigen Berechtigungen hat:
SHOW GRANTS FOR babel@localhost;Verlassen Sie nun die MariaDB-Konsole, indem Sie den Befehl quit eingeben und ENTER drücken.
Mit diesen Schritten haben Sie die Datenbank „licenses“ und den Benutzer „babel“ angelegt, ihm die Rechte an der Datenbank erteilt und seine Berechtigungen geprüft.
Den Babel Licensing Service starten
So starten Sie den Babel Licensing Service:
Terminal öffnen
Öffnen Sie ein Terminalfenster.
In das Verzeichnis des Dienstes wechseln
Wechseln Sie in das Verzeichnis, in dem der Babel Licensing Service liegt. Zum Beispiel:
cd /var/www/svc/babelDienst ausführen
Starten Sie den Babel Licensing Service mit dem folgenden Befehl:
dotnet Babel.Licensing.Service.dllWenn alles richtig konfiguriert ist, sehen Sie, wie der Dienst startet. Das Protokoll im Terminal zeigt Informationen zur Initialisierung des Dienstes, darunter das Anlegen der Tabellen in der Datenbank, je nach der Protokollstufe, die Sie in der Datei appsettings.json gewählt haben.
Achten Sie im Protokoll des Terminals auf Fehler und Warnungen. Bei Problemen prüfen Sie, ob die Konfiguration, die Einstellungen der Datenbankverbindung und die Berechtigungen stimmen.
Nach einem erfolgreichen Start ist der Babel Licensing Service bereit, Lizenzvorgänge zu verarbeiten und Ihren Anwendungen Lizenzdienste bereitzustellen.
Es empfiehlt sich, den Babel Licensing Service als Hintergrundprozess auszuführen oder einen Dienstmanager einzurichten, damit er auch nach dem Schließen des Terminals weiterläuft.
Als Hintergrundprozess konfigurieren
Unter Linux sind Dienstdateien, auch Service-Unit-Dateien genannt, Konfigurationsdateien mit der Endung „.service“, die das Verhalten von Daemons oder Diensten steuern. Sie legen die Einstellungen und Parameter des Dienstes fest, etwa seinen Namen, seine Beschreibung, den Startbefehl, das Arbeitsverzeichnis, die Umgebungsvariablen und mehr.
So konfigurieren Sie den Babel Licensing Service unter Linux als Systemdienst:
Dienstdatei öffnen
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um die Dienstdatei anzulegen und zu bearbeiten:
sudo nano /etc/systemd/system/babel.licensing.serviceDienstkonfiguration einfügen
Fügen Sie die folgende Konfiguration in die Datei ein:
[Unit]
Description=Babel Licensing Service
[Service]
WorkingDirectory=/var/www/svc/babel/
ExecStart=/usr/bin/dotnet /var/www/svc/babel/Babel.Licensing.Service.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=babel-licensing-svc
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.targetDienstdatei speichern
Speichern Sie die Datei mit Ctrl+O und verlassen Sie den Editor mit Ctrl+X.
Dienst starten
Starten Sie den Babel Licensing Service mit dem folgenden Befehl:
sudo systemctl start babel.licensingStatus des Dienstes prüfen
Den Status des Dienstes prüfen Sie mit dem folgenden Befehl:
systemctl status babel.licensingDieser Befehl zeigt den aktuellen Status des Dienstes an, einschließlich etwaiger Fehlermeldungen und Warnungen:
● babel.service - Babel Licensing Service
Loaded: loaded (/etc/systemd/system/babel.licensing.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2023-05-19 09:24:53 UTC; 1s ago
Main PID: 2710499 (dotnet)
Tasks: 17 (limit: 4392)
Memory: 28.0M
CPU: 903ms
CGroup: /system.slice/babel.licensing
└─2710499 /usr/bin/dotnet /var/www/svc/babel/Babel.Licensing.Service.dll
May 19 09:24:57 babel-licensing-svc[2710499]: [09:24:57 DBG] Hosting startedAutomatischen Start einschalten
Standardmäßig startet der Dienst nicht automatisch mit dem Server. Um den automatischen Start einzuschalten, führen Sie den folgenden Befehl aus:
sudo systemctl enable babel.licensingDanach startet der Dienst nach jedem Neustart des Servers automatisch.
Mit diesen Schritten haben Sie den Babel Licensing Service unter Linux als systemd-Dienst konfiguriert. Der Dienst startet beim Hochfahren des Systems automatisch und lässt sich mit dem Befehl systemctl verwalten.