Skip to Content
Nuova versione 12 disponibile 🎉

Windows

Questa sezione è una guida passo per passo all’installazione del Babel Licensing Service su Windows 11.

Segui queste istruzioni per installare e configurare il Babel Licensing Service su Windows 11.

Prerequisiti

Per installare correttamente il Babel Licensing Service su Windows 11 devi verificare che siano soddisfatti i prerequisiti seguenti.

  • Assicurati che Windows 11 sia aggiornato all’ultima versione
  • Microsoft SQL Server, oppure MySQL/MariaDB (il servizio per .NET 10 è testato con MySQL 8.4 e MariaDB 11.4)
  • Il runtime ASP.NET Core corrispondente al pacchetto del servizio (per esempio .NET 10 per babel_service_net100_x.y.z.w.zip)
  • Pacchetto ZIP del Babel Licensing Service (per esempio babel_service_net100_x.y.z.w.zip). Lo stesso pacchetto serve entrambe le edizioni.
  • File di licenza di Babel Licensing, edizione Server o Data Center (babel.licenses)
  • Se esegui lo script di installazione, è richiesto PowerShell versione 7 o successiva

Script di installazione

Lo script PowerShell BabelLicensingService.ps1 automatizza l’installazione e la configurazione del Babel Licensing Service negli ambienti Windows, descritte in questo paragrafo.

Prima di avviare l’installazione lo script verifica che siano soddisfatti i prerequisiti, come i privilegi amministrativi, la versione corretta di PowerShell e il comando CLI di MariaDB. Ti permette di installare il servizio e di interrogarne lo stato.

Durante l’installazione si occupa di operazioni come l’estrazione dello ZIP di installazione, la copia del file di licenza, la creazione del database, la modifica di appsettings.json con le stringhe di connessione corrette e l’installazione del servizio con la configurazione giusta, così eviti gli errori di un’installazione manuale.

Per usare lo script BabelLicensingService.ps1, segui i passi riportati di seguito:

Scarica lo script

Scarica lo script da questo collegamento .

Copia lo script in una cartella temporanea

Copia lo script scaricato in una cartella temporanea.

Aggiungi lo zip del servizio e il file di licenza

Metti l’archivio zip del servizio Babel (chiamato babel_service_net100_x.y.z.w.zip, dove x.y.z.w è la versione) e il file di licenza (babel.licenses) nella stessa cartella temporanea dello script.

Esegui lo script

Esegui lo script BabelLicensingService.ps1 dalla cartella temporanea per avviare l’installazione.

Quando provi a eseguire lo script, potresti ricevere l’errore seguente:

The file C:\Projects\BabelSvc\BabelLicensingService.ps1 is not digitally signed. You cannot run this script on the current system.

Per risolvere il problema puoi impostare un criterio di esecuzione meno restrittivo, che consenta l’esecuzione dello script, con il comando seguente:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Impostare il criterio di esecuzione su Unrestricted può esporre il sistema a rischi di sicurezza. Esegui solo script provenienti da fonti attendibili e valuta di riportare il criterio a un’impostazione più sicura quando lo script ha terminato.

Se preferisci non usare lo script BabelLicensingService.ps1, continua a leggere: troverai le istruzioni passo per passo per installare il servizio manualmente.

Preparare i file

Per installare il Babel Licensing Service devi estrarre gli assembly e i file di configurazione del servizio dal file ZIP fornito, babel_service_net100_x.y.z.w.zip, nella cartella appropriata del tuo computer Windows. Di seguito trovi le istruzioni passo per passo per estrarre il file ZIP con Esplora file nella cartella C:\BabelSvc.

In Esplora file vai alla cartella in cui è salvato babel_service_net100_x.y.z.w.zip.

Fai clic con il pulsante destro sull’archivio

Fai clic con il pulsante destro sul file babel_service_net100_x.y.z.w.zip.

Scegli Extract All

Seleziona Extract All... (Estrai tutto) dal menu contestuale.

Imposta la cartella di destinazione

Nella finestra di dialogo “Extract Compressed (Zipped) Folders” inserisci C:\BabelSvc come cartella di destinazione.

Estrai i file

Fai clic su Extract (Estrai).

I file del Babel Licensing Service contenuti in babel_service_net100_x.y.z.w.zip sono ora nella cartella C:\BabelSvc.

File di licenza

Copia il file di licenza babel.licenses nella cartella di estrazione. In questo modo il servizio può accedere alle informazioni di licenza necessarie.

Il file di licenza determina l’edizione. Con una licenza Data Center l’applicazione web è disponibile all’indirizzo del servizio. Con una licenza Server quell’indirizzo mostra una pagina di upgrade con un confronto tra le edizioni; il servizio, la sua API e Babel Desktop continuano a funzionare. Per fare l’upgrade, sostituisci babel.licenses e riavvia il servizio; non c’è nulla da reinstallare.

Creare il database

Quando installi il Babel Licensing Service è indispensabile creare un database e un utente dedicati. Di seguito trovi le istruzioni passo per passo per creare il database di Babel Licensing con Microsoft SQL Server e con MySQL MariaDB.

Microsoft SQL Server

Per gestire le licenze del Babel Licensing Service con SQL Server è indispensabile preparare un database dedicato. Questa guida indica i passi per configurare il database in modo che tutto funzioni senza intoppi.

Avvia SQL Server Management Studio (SSMS).

  1. Connettiti alla tua istanza di SQL Server.
  2. Apri una nuova finestra di query per eseguire i comandi SQL.

Esegui i comandi SQL seguenti per creare il database e configurare l’utente

-- 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; GO

MySQL MariaDB

HeidiSQL, uno strumento open source per la gestione dei database potente e facile da usare, può essere usato insieme a MariaDB per semplificare questa operazione. Di seguito trovi le istruzioni passo per passo per creare un database con HeidiSQL e MariaDB.

Per cominciare avvia HeidiSQL e passa alla scheda SQL per eseguire i comandi SQL seguenti:

CREATE DATABASE licenses; CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword'; GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost; FLUSH PRIVILEGES;

Dopo aver eseguito questi passi, verifica che il database licenses sia stato creato correttamente e che all’utente babel siano stati assegnati i privilegi corretti. Puoi farlo accedendo con le credenziali dell’utente babel e provando ad aprire il database licenses.

Configurare il Babel Licensing Service

La configurazione del Babel Licensing Service è un passo fondamentale perché il servizio funzioni correttamente e si integri con il tuo ambiente. Consiste nel modificare il file appsettings.json che si trova nella cartella estratta e nell’adeguare varie impostazioni alle tue esigenze.

Modificare appsettings.json

Vai alla cartella estratta e individua il file appsettings.json. Apri il file con il tuo editor di testo preferito e aggiorna la configurazione del database in base al server di database che hai scelto per il database di Babel Licensing.

Microsoft SQL Server

Per usare il database di Babel Licensing su Microsoft SQL Server, configura il valore Database Provider e la stringa di connessione SQLServer come segue:

"Database": { "Provider": "SQLServer" }, "ConnectionStrings": { "SQLServer": "Data Source=SQLSERVER_INSTANCE_NAME;User Id=babel;Password=YourUniquePassword;Encrypt=false;Initial Catalog=licenses", "MySQL": "", "SQLite": "" },

Sostituisci SQLSERVER_INSTANCE_NAME con il nome della tua istanza di SQL Server, come appare in SQL Server Object Explorer o nella connessione di SQL Server Management Studio (SSMS).

Al posto di YourUniquePassword usa la password che hai impostato per l’account di accesso babel in Microsoft SQL Server.

MySQL MariaDB

Se per il database di Babel Licensing hai scelto MySQL o MariaDB, configura il provider di database e la stringa di connessione MySQL come segue:

"Database": { "Provider": "MySQL" }, "ConnectionStrings": { "SQLServer": "", "MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses", "SQLite": "" },

Qui verifica che Provider, sotto Database, sia impostato su MySQL e che la stringa di connessione MySQL contenga l’indirizzo del server, l’utente, la password e il nome del database corretti. Sostituisci YourUniquePassword con la password che hai effettivamente impostato per l’utente babel in MariaDB.

Su .NET 10 il servizio usa il provider Microting.EntityFrameworkCore.MySql, un fork di Pomelo con licenza MIT che supporta Entity Framework Core 10. I framework precedenti usano Pomelo. Il nome del provider MySQL, la stringa di connessione e lo schema sono gli stessi su tutti i framework.

Configurare Kestrel

Nella sezione EndpointDefaults, Protocols è impostato su Http1AndHttp2: il server può così comunicare sia con il protocollo HTTP1 sia con HTTP2, il che offre flessibilità e compatibilità con diversi tipi di client.

"Kestrel": { "EndpointDefaults": { "Protocols": "Http1AndHttp2" }, "Endpoints": { "gRPC": { "Url": "http://*:5005", "Protocols": "Http2" } } },

Nella sezione Endpoints definisci gli endpoint specifici del servizio. Qui è configurato un endpoint chiamato gRPC con Url impostato su http://*:5005, così il servizio è in ascolto su tutte le interfacce di rete disponibili, sulla porta 5005. Per questo endpoint Protocols è impostato espressamente su Http2, che lo ottimizza per la comunicazione gRPC.

Quando configuri Kestrel, verifica che gli URL e i protocolli specificati corrispondano ai requisiti del tuo servizio e al tuo ambiente di rete, e modificali se necessario per ottenere dal servizio il comportamento e le prestazioni che desideri.

Configurare Serilog

Configura poi la sezione Serilog per impostare le preferenze dei log:

"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" } } ] },

In questa sezione specifica il percorso completo del file di log, soprattutto quando esegui il Babel Licensing Service come servizio Windows, per evitare problemi con i log. Per esempio, "path": "C:\\BabelSvc\\log.txt" fa sì che il file di log venga salvato nella cartella C:\BabelSvc.

Impostazioni dell’applicazione

Infine, nella sezione Application, specifica i valori LicenseFile, SigningKey e TokenExpiration:

"Application": { "AdminUsername": "your-admin-user", "AdminEmail": "admin@example.com", "AdminPassword": "<strong-initial-password>", "LicenseFile": "babel.licenses", "SigningKey": "Secret Token Key", "TokenExpiration": "00:30:00" },

Qui LicenseFile va impostato su babel.licenses. Personalizza SigningKey sostituendo Secret Token Key con una tua chiave univoca, che proteggerĂ  la comunicazione tra le applicazioni client e il Babel Licensing Service. Regola il valore di TokenExpiration in base alle tue esigenze per impostare la durata di validitĂ  del token.

Dalla versione 11.7.0: il servizio non viene più distribuito con le credenziali predefinite admin / admin, e SigningKey non è più precompilata. Compila AdminUsername e AdminPassword prima del primo avvio per creare l’account dell’amministratore iniziale (AdminEmail è facoltativo ma consigliato); se uno dei due valori obbligatori è vuoto il servizio si avvia comunque, ma non viene creato alcun utente amministratore: non è quindi possibile accedere all’applicazione web (Data Center) con quell’account e Babel Desktop non ha una chiave API di amministratore con cui connettersi, finché non li imposti e riavvii il servizio. Se SigningKey resta vuota, all’avvio viene generata una chiave casuale, che però viene rigenerata a ogni riavvio e non è condivisa tra le istanze: in produzione imposta sempre un valore esplicito (per esempio con la variabile d’ambiente BABEL_SERVICE_APPLICATION__SIGNINGKEY).

Avviare il Babel Licensing Service

Per avviare il Babel Licensing Service con PowerShell, segui questi passi:

Apri PowerShell

Apri PowerShell dal menu Start.

Vai alla cartella in cui si trova Babel.Licensing.Service.exe con il comando cd, di solito:

cd C:\BabelSvc

Avvia l’eseguibile del servizio

Avvia l’eseguibile con il comando seguente:

.\Babel.Licensing.Service.exe

Controlla i messaggi di output per verificare che il servizio si avvii senza errori. Se qualcosa non funziona, consulta la documentazione del servizio per la risoluzione dei problemi.

All’avvio del servizio può comparire una finestra di Windows Firewall che chiede di autorizzare il servizio a comunicare in rete. Scegli “Allow access” (Consenti accesso), altrimenti il servizio non può comunicare con gli altri sistemi della rete o con Internet.

Eseguire come servizio Windows

Perché il Babel Licensing Service funzioni in modo efficiente in background e sia disponibile a ogni avvio del sistema, è consigliabile eseguirlo come servizio Windows. Eseguito come servizio, il Babel Licensing Service funziona indipendentemente dalle sessioni utente e resta disponibile e operativo senza interruzioni.

A questo scopo puoi usare il comando New-Service di PowerShell, che crea una nuova voce per un servizio Windows nel Registro di sistema e nel database dei servizi. Ecco il comando adattato, che usa New-Service in PowerShell:

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 questo comando:

  • -Name "Babel.Licensing" specifica il nome del servizio.
  • -BinaryPathName ".\Babel.Licensing.Service.exe" definisce il percorso del file eseguibile del servizio, indicando la cartella corrente.
  • -DisplayName "Babel Licensing" assegna al servizio un nome visualizzato, cioè quello con cui appare nell’applicazione Servizi o in altre interfacce utente.
  • -StartupType "Automatic" configura il servizio perchĂ© si avvii automaticamente con il sistema.
  • -Description "Babel licensing and reporting network services." fornisce una descrizione, che chiarisce il ruolo e le funzioni del servizio.

Esegui questo comando in una sessione di PowerShell con privilegi amministrativi, perché il servizio venga creato e configurato correttamente. Dopo l’esecuzione del comando, il Babel Licensing Service è configurato come servizio Windows, pronto a funzionare in modo continuo e a restare disponibile sul sistema.

Avviare il servizio

Start-Service -Name "Babel.Licensing"

Arrestare il servizio

Stop-Service -Name "Babel.Licensing"

Ottenere lo stato del servizio

Get-Service -Name "Babel.Licensing"

Disinstallare il servizio

Get-Service -Name "Babel.Licensing" | Remove-Service

Ricorda di eseguire questi comandi in una sessione di PowerShell con privilegi amministrativi, perché vengano eseguiti correttamente.

Last updated on