Linux Ubuntu
Cette section explique pas Ă pas comment installer le Babel Licensing Service sous Linux Ubuntu.
En suivant ces instructions, vous pourrez installer et configurer le Babel Licensing Service sur votre système Ubuntu.
Prérequis
Pour installer le Babel Licensing Service sous Linux Ubuntu LTS, vous devez vous assurer que les prérequis suivants sont remplis.
- Linux Ubuntu 22.04 LTS
- MariaDB ou MySQL (le service .NET 10 est testé avec MySQL 8.4 et MariaDB 11.4)
- Le runtime ASP.NET Core correspondant au paquet du service (par exemple .NET 10 pour
babel_service_net100_x.y.z.w.zip) - Paquet ZIP du Babel Licensing Service (
babel_service_net100_x.y.z.w.zip). Le même paquet sert les deux éditions. - Fichier de licence Babel Licensing Server ou Data Center (
babel.licenses)
Assurez-vous aussi de disposer du mot de passe root pendant l’installation. Ce mot de passe est nécessaire aux tâches d’administration, comme l’installation des fichiers et la configuration du système.
Voici les commandes qui permettent de vérifier les versions des composants installés sur votre système Linux Ubuntu.
Vérifier la version d’Ubuntu
lsb_release -aCette commande affiche des informations détaillées sur votre distribution Ubuntu, dont le numéro de version.
Vérifier la version de MariaDB
mariadb-admin --versionCette commande affiche la version du serveur MariaDB installé.
Vérifier les versions du runtime .NET
dotnet --list-runtimesCette commande liste les versions du runtime .NET installées sur votre système.
Script d’installation
Le script Bash BabelLicensingService.sh est conçu pour simplifier l’installation et la configuration du Babel Licensing Service dans les environnements Ubuntu Linux, telles que les décrit cette section.
Avant de lancer la procédure d’installation, ce script vérifie les prérequis, comme les privilèges root et la présence des outils requis, tels que la commande CLI de MariaDB et dotnet. Il propose une interface simple, qui permet d’installer le service et d’en vérifier l’état sans difficulté.
Tout au long de l’installation, le script prend en charge différentes tâches : décompression de l’archive d’installation, transfert du fichier de licence, initialisation de la base de données, modification de appsettings.json pour y inscrire les chaînes de connexion correctes et installation du service avec la configuration adéquate.
Pour utiliser le script BabelLicensingService.sh, procédez comme suit :
Télécharger le script
Téléchargez le script à partir de ce lien .
Déplacer le script dans un répertoire temporaire
Déplacez le script téléchargé dans un répertoire temporaire (le répertoire personnel de l’utilisateur).
Ajouter l’archive zip du service et le fichier de licence
Placez l’archive zip du service Babel (nommée babel_service_net100_x.y.z.w.zip, où x.y.z.w est la version) et le fichier de licence (babel.licenses) dans le même répertoire temporaire que le script.
Exécuter le script
Exécutez les commandes suivantes pour lancer l’installation.
chmod +x ./BabelLicensingService.sh
sudo <a data-footnote-ref href="#user-content-fn-1">./BabelLicensingService.sh</a>Si vous choisissez de ne pas utiliser le script BabelLicensingService.sh, les sections suivantes donnent des instructions détaillées pour installer le service manuellement.
Fichiers d’installation
Pour installer le Babel Licensing Service, copiez dans le répertoire personnel de l’utilisateur « babel » (/home/babel) le fichier ZIP qui contient tous les assemblies du service ainsi que le fichier de licence, puis procédez à l’extraction, à la configuration et à la création de la base de données. En partant du répertoire où se trouve le fichier ZIP, procédez comme suit :
Copier les fichiers dans le répertoire personnel de l’utilisateur babel
Ouvrez un terminal et exécutez la commande suivante pour copier le fichier ZIP et le fichier de licence à l’emplacement voulu :
cp babel_service_net100_x.y.z.w.zip /home/babel/
cp babel.licenses /home/babel/Le fichier ZIP qui contient les assemblies du Babel Licensing Service est maintenant disponible dans le répertoire personnel de l’utilisateur « babel » (/home/babel). Vous pouvez poursuivre l’installation et la configuration du Babel Licensing Service à partir des fichiers de ce répertoire.
Créer le dossier d’installation et extraire l’archive
Créez le dossier « svc/babel » sous « /var/www » et extrayez le contenu de l’archive ZIP :
- Dans la fenêtre du terminal, exécutez la commande suivante pour créer le dossier « svc/babel » sous « /var/www »
sudo mkdir -p /var/www/svc/babelVotre mot de passe vous est demandé, car « sudo » accorde les privilèges d’administration nécessaires pour créer des répertoires dans le répertoire système.
- Faites du dossier « babel » qui vient d’être créé le répertoire de travail courant :
cd /var/www/svc/babel- Extrayez le contenu de l’archive ZIP dans le répertoire courant (« /var/www/svc/babel ») :
sudo unzip /home/babel/babel_service_net100_x.y.z.w.zipCes étapes créent l’arborescence de dossiers nécessaire et extraient le contenu de l’archive ZIP dans le répertoire « /var/www/svc/babel ». Vous pouvez ainsi poursuivre l’installation et la configuration du Babel Licensing Service à l’emplacement approprié.
Copier le fichier de licence
Copiez le fichier de licence « babel.licenses » dans le répertoire « /var/www/svc/babel » avec la commande suivante :
sudo cp /home/babel/babel.licenses /var/www/svc/babel/Le fichier de licence « babel.licenses » est maintenant installé dans le répertoire « /var/www/svc/babel » ; vous pouvez passer à la configuration de l’utilisateur qui exécutera le Babel Licensing Service.
Le fichier de licence détermine l’édition. Avec une licence Data Center, l’application web est servie à l’adresse du service. Avec une licence Server, cette adresse affiche une page de mise à niveau avec une comparaison des éditions ; le service, son API et Babel Desktop continuent de fonctionner. Pour effectuer la mise à niveau, remplacez babel.licenses et redémarrez le service ; il n’y a rien à réinstaller.
Définir le propriétaire de l’application
Une fois le fichier de licence « babel.licenses » installé dans le répertoire « /var/www/svc/babel », l’étape suivante consiste à configurer l’utilisateur qui exécutera le Babel Licensing Service. Ici, cet utilisateur est « www-data ».
Pour configurer l’utilisateur, exécutez la commande suivante dans le terminal :
sudo chown www-data:www-data -R /var/www/svc/babelCette commande attribue la propriété du répertoire « /var/www/svc/babel » et de son contenu à l’utilisateur et au groupe « www-data ». Avec le bon propriétaire, le Babel Licensing Service peut être exécuté par l’utilisateur approprié, qui peut ainsi accéder aux fichiers et aux répertoires nécessaires et y travailler.
Configurer le service
Pour configurer le Babel Licensing Service et inscrire dans le fichier appsettings.json les paramètres de connexion à la base de données et les autres configurations de l’application, procédez comme suit :
- Dans une fenĂŞtre de terminal, utilisez la commande suivante pour ouvrir le fichier
appsettings.jsondans l’éditeur de texte Nano
sudo nano /var/www/svc/babel/appsettings.json- Dans le fichier
appsettings.json, repérez la section"Database". Réglez la valeur"Provider"sur"MySQL"pour indiquer que vous utilisez MySQL comme fournisseur de base de données
"Database": {
"Provider": "MySQL"
},- Repérez la section
"ConnectionStrings". Sous la clé"MySQL", modifiez la chaîne de connexion pour qu’elle corresponde à la configuration de votre serveur MySQL. Mettez à jour les valeursserver,User,PasswordetDatabaseen conséquence :
"ConnectionStrings": {
"SQLServer": "",
"MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses",
"SQLite": ""
},Sur .NET 10, le service utilise le fournisseur Microting.EntityFrameworkCore.MySql, un fork de Pomelo sous licence MIT qui prend en charge Entity Framework Core 10. Les frameworks antérieurs utilisent Pomelo. Le nom du fournisseur MySQL, la chaîne de connexion et le schéma sont les mêmes sur tous les frameworks.
N’oubliez pas de remplacer "YourUniquePassword" par un mot de passe fort de votre choix. Il est vivement recommandé de combiner majuscules, minuscules, chiffres et caractères spéciaux pour créer un mot de passe sûr. Conservez ce mot de passe : il vous servira plus tard, lors de la configuration de la base de données.
- Si vous le souhaitez, vous pouvez personnaliser d’autres paramètres de l’application. Par exemple, dans la section
"Serilog", vous pouvez configurer la journalisation et ajuster le niveau de journalisation minimal :
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Debug",
"System": "Debug",
"Grpc": "Debug"
}
},
...
},Pour déboguer des problèmes d’installation, il peut être utile de régler le niveau de journalisation minimal sur Debug. Une fois le service en fonctionnement, vous pouvez revenir au niveau Information ou Warning.
- Plus bas, dans la section
"Application", vous pouvez indiquer le"LicenseFile"(babel.licenses) et personnaliser les valeurs"SigningKey"et"TokenExpiration"selon vos besoins :
"Application": {
"AdminUsername": "your-admin-user",
"AdminEmail": "admin@example.com",
"AdminPassword": "<strong-initial-password>",
"LicenseFile": "babel.licenses",
"SigningKey": "Secret Token Key",
"TokenExpiration": "00:30:00"
},Remplacez Secret Token Key par votre propre clé. Elle sert à sécuriser la communication entre les applications clientes et le Babel Licensing Service.
Depuis la version 11.7.0 : le service n’est plus livré avec les identifiants par défaut admin / admin, et SigningKey n’est plus prérempli. Renseignez AdminUsername et AdminPassword avant le premier démarrage pour créer le compte administrateur initial (AdminEmail est facultatif mais recommandé) ; si l’une des deux valeurs obligatoires est vide, le service démarre tout de même, mais aucun utilisateur administrateur n’est créé : l’application web (Data Center) ne peut donc pas se connecter avec ce compte et Babel Desktop ne dispose d’aucune clé API d’administrateur pour se connecter, tant que vous n’avez pas défini ces valeurs et redémarré le service. Si SigningKey reste vide, une clé aléatoire est générée au démarrage, mais elle est régénérée à chaque redémarrage et n’est pas partagée entre les instances ; en production, définissez toujours une valeur explicite (par exemple au moyen de la variable d’environnement BABEL_SERVICE_APPLICATION__SIGNINGKEY).
- Pour enregistrer les modifications et quitter Nano, appuyez sur
Ctrl + X, puis surYpour confirmer les modifications, et enfin surEnterpour enregistrer le fichier.
Ces étapes configurent le service Babel au moyen du fichier appsettings.json. La configuration mise à jour contient les paramètres de connexion à la base de données et toutes les autres personnalisations que vous avez apportées.
Pour en savoir plus sur le fichier de configuration du Babel Licensing Service, consultez la section Configuration.
Créer la base de données
Il faut créer la base de données « licenses » indiquée dans la chaîne de connexion définie pour le Babel Licensing Service, puis créer l’utilisateur « babel », lui accorder les privilèges sur la base de données et vérifier ses autorisations.
- Ouvrez un terminal.
- Connectez-vous à la console MariaDB en tant qu’utilisateur root avec la commande suivante :
sudo mariadb -u root -pLe mot de passe root vous est demandé.
- Une fois connecté à la console MariaDB, vous pouvez lister toutes les bases de données existantes avec la commande :
SHOW DATABASES;- Pour lister tous les utilisateurs existants, exécutez la requête suivante :
SELECT User FROM mysql.user;- Créez la base de données « licenses » avec la commande :
CREATE DATABASE licenses;- Créez l’utilisateur « babel » et accordez-lui tous les privilèges sur la base de données « licenses » en exécutant les commandes suivantes :
CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword';
GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost;
FLUSH PRIVILEGES;Remplacez 'YourUniquePassword' par le mot de passe que vous avez défini dans la chaîne de connexion MySQL du Babel Licensing Service.
- Pour vérifier que l’utilisateur « babel » dispose des autorisations appropriées, vous pouvez utiliser l’instruction suivante :
SHOW GRANTS FOR babel@localhost;Vous pouvez maintenant quitter la console MariaDB en saisissant la commande quit, puis ENTER.
Au terme de ces étapes, la base de données « licenses » et l’utilisateur « babel » sont créés, les privilèges sur la base de données sont accordés et les autorisations de l’utilisateur sont vérifiées.
Démarrer le Babel Licensing Service
Pour démarrer le Babel Licensing Service, procédez comme suit :
Ouvrir un terminal
Ouvrez une fenĂŞtre de terminal.
Accéder au répertoire du service
Accédez au répertoire où se trouve le Babel Licensing Service. Par exemple :
cd /var/www/svc/babelExécuter le service
Exécutez la commande suivante pour démarrer le Babel Licensing Service :
dotnet Babel.Licensing.Service.dllSi tout est correctement configuré, vous voyez le service démarrer. Le journal du terminal affiche des informations sur l’initialisation du service, dont la création des tables dans la base de données, selon le niveau de journalisation choisi dans le fichier appsettings.json.
Surveillez le journal du terminal pour repérer d’éventuels avertissements ou erreurs. En cas de problème, vérifiez que la configuration, les paramètres de connexion à la base de données et les autorisations sont corrects.
Si le Babel Licensing Service démarre correctement, il est prêt à traiter les opérations de licence et à fournir ses services de licences à vos applications.
Il est recommandé d’exécuter le Babel Licensing Service en tant que processus d’arrière-plan ou de configurer un gestionnaire de services, afin qu’il continue de s’exécuter après la fermeture du terminal.
Configurer comme processus d’arrière-plan
Sous Linux, les fichiers de service, aussi appelés fichiers d’unité de service, sont des fichiers de configuration portant l’extension « .service » qui contrôlent le comportement des démons ou des services. Ces fichiers définissent divers paramètres du service, tels que son nom, sa description, sa commande d’exécution, son répertoire de travail, ses variables d’environnement, etc.
Pour configurer le Babel Licensing Service comme service système sous Linux, procédez comme suit :
Ouvrir le fichier de service
Ouvrez un terminal et exécutez la commande suivante pour créer et modifier le fichier de service :
sudo nano /etc/systemd/system/babel.licensing.serviceColler la configuration du service
Collez la configuration suivante dans le fichier :
[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.targetEnregistrer le fichier de service
Enregistrez le fichier en appuyant sur Ctrl+O, puis quittez l’éditeur en appuyant sur Ctrl+X.
Démarrer le service
Démarrez le Babel Licensing Service en exécutant la commande suivante :
sudo systemctl start babel.licensingVérifier l’état du service
Pour vérifier l’état du service, utilisez la commande suivante :
systemctl status babel.licensingCette commande affiche l’état actuel du service, avec les éventuels messages d’erreur ou avertissements :
â—Ź 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 startedActiver le démarrage automatique
Par défaut, le service n’est pas configuré pour démarrer automatiquement au démarrage du serveur. Pour qu’il démarre automatiquement, exécutez la commande suivante :
sudo systemctl enable babel.licensingUne fois activé, le service démarre automatiquement après un redémarrage du serveur.
Avec ces étapes, vous avez configuré le Babel Licensing Service comme service systemd sous Linux. Le service démarre automatiquement au démarrage du système et se gère avec la commande systemctl.