Skip to Content
Nuova versione 12 disponibile 🎉
LicensingPer iniziareLinux Ubuntu e macOS

Linux Ubuntu

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

Seguendo queste istruzioni potrai installare e configurare il Babel Licensing Service sul tuo sistema Ubuntu.

Prerequisiti

Per installare correttamente il Babel Licensing Service su Linux Ubuntu LTS devi verificare che siano soddisfatti i prerequisiti seguenti.

  1. Linux Ubuntu 22.04 LTS
  2. MariaDB o MySQL (il servizio per .NET 10 è testato con MySQL 8.4 e MariaDB 11.4)
  3. Il runtime ASP.NET Core corrispondente al pacchetto del servizio (per esempio .NET 10 per babel_service_net100_x.y.z.w.zip)
  4. Pacchetto ZIP del Babel Licensing Service (babel_service_net100_x.y.z.w.zip). Lo stesso pacchetto serve entrambe le edizioni.
  5. File di licenza Babel Licensing Server o Data Center (babel.licenses)

Assicurati inoltre di avere a disposizione la password di root durante l’installazione. La password serve per le operazioni amministrative, come l’installazione dei file e la configurazione del sistema.

Ecco i comandi che puoi usare per controllare le versioni dei componenti installati sul tuo sistema Linux Ubuntu.

Controllare la versione di Ubuntu

lsb_release -a

Questo comando mostra informazioni dettagliate sulla tua distribuzione Ubuntu, compreso il numero di versione.

Controllare la versione di MariaDB

mariadb-admin --version

Questo comando restituisce le informazioni sulla versione del server MariaDB installato.

Controllare le versioni del runtime .NET

dotnet --list-runtimes

Questo comando elenca le versioni del runtime .NET installate sul tuo sistema.

Script di installazione

Lo script Bash BabelLicensingService.sh semplifica l’installazione e la configurazione del Babel Licensing Service negli ambienti Ubuntu Linux, descritte in questa sezione.

Prima di avviare l’installazione lo script verifica i prerequisiti, come i privilegi di root e la presenza degli strumenti necessari, tra cui il comando CLI di MariaDB e dotnet. Offre un’interfaccia intuitiva, con cui puoi installare il servizio e controllarne lo stato senza fatica.

Durante l’installazione lo script si occupa di varie operazioni: estrae l’archivio di installazione, copia il file di licenza, inizializza il database, adegua il file appsettings.json con le stringhe di connessione corrette e configura il servizio con le impostazioni giuste.

Per usare lo script BabelLicensingService.sh, segui questi passi:

Scarica lo script

Scarica lo script da questo collegamento .

Sposta lo script in una cartella temporanea

Sposta lo script scaricato in una cartella temporanea (la cartella home dell’utente).

Aggiungi lo zip del servizio e il file di licenza

Metti il file 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 i comandi seguenti per avviare l’installazione.

chmod +x ./BabelLicensingService.sh sudo <a data-footnote-ref href="#user-content-fn-1">./BabelLicensingService.sh</a>

Se preferisci non usare lo script BabelLicensingService.sh, passa alle sezioni successive, che contengono le istruzioni dettagliate per l’installazione manuale del servizio.

Preparare i file

Per installare il Babel Licensing Service, copia il file ZIP che contiene tutti gli assembly del servizio e il file di licenza nella cartella home dell’utente “babel” (/home/babel), poi estrai l’archivio, configura il servizio e prepara il database. Supponendo che tu sia nella cartella in cui si trova il file ZIP, segui questi passi:

Copia i file nella cartella home dell’utente babel

Apri un terminale ed esegui il comando seguente per copiare il file ZIP e il file di licenza nella posizione desiderata:

cp babel_service_net100_x.y.z.w.zip /home/babel/ cp babel.licenses /home/babel/

Ora il file ZIP con gli assembly del Babel Licensing Service è disponibile nella cartella home dell’utente “babel” (/home/babel). Puoi procedere con l’installazione e la configurazione del Babel Licensing Service usando i file di questa cartella.

Crea la cartella di installazione ed estrai l’archivio

Crea la cartella “svc/babel” in “/var/www” ed estrai il contenuto dell’archivio ZIP:

  1. Nella finestra del terminale esegui il comando seguente per creare la cartella “svc/babel” in “/var/www”
sudo mkdir -p /var/www/svc/babel

Ti verrà chiesta la password, perché “sudo” concede i privilegi amministrativi necessari per creare cartelle in una cartella di sistema.

  1. Passa alla cartella “babel” appena creata, che diventa la cartella di lavoro corrente:
cd /var/www/svc/babel
  1. Estrai il contenuto dell’archivio ZIP nella cartella corrente (“/var/www/svc/babel”):
sudo unzip /home/babel/babel_service_net100_x.y.z.w.zip

Con questi passi crei la struttura di cartelle necessaria ed estrai il contenuto dell’archivio ZIP nella cartella “/var/www/svc/babel”. Potrai così procedere con l’installazione e la configurazione del Babel Licensing Service nella posizione corretta.

Copia il file di licenza

Copia il file di licenza “babel.licenses” nella cartella “/var/www/svc/babel” con il comando seguente:

sudo cp /home/babel/babel.licenses /var/www/svc/babel/

Ora che il file di licenza “babel.licenses” è installato nella cartella “/var/www/svc/babel”, puoi procedere con la configurazione dell’utente che eseguirà il Babel Licensing Service.

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.

Imposta il proprietario dell’applicazione

Una volta installato il file di licenza “babel.licenses” nella cartella “/var/www/svc/babel”, il passo successivo è configurare l’utente che eseguirà il Babel Licensing Service. In questo caso usiamo l’utente “www-data”.

Per configurare l’utente, esegui nel terminale il comando seguente:

sudo chown www-data:www-data -R /var/www/svc/babel

Questo comando assegna la proprietà della cartella “/var/www/svc/babel” e del suo contenuto all’utente e al gruppo “www-data”. Con il proprietario corretto, il Babel Licensing Service può essere eseguito dall’utente appropriato, che può accedere ai file e alle cartelle necessari e operare su di essi.

Configura il servizio

Per configurare il Babel Licensing Service e inserire nel file appsettings.json le impostazioni di connessione al database e le altre configurazioni dell’applicazione, segui questi passi:

  1. In una finestra del terminale usa il comando seguente per aprire il file appsettings.json nell’editor di testo Nano
sudo nano /var/www/svc/babel/appsettings.json
  1. Nel file appsettings.json individua la sezione "Database". Imposta il valore di "Provider" su "MySQL" per indicare che usi MySQL come provider di database
"Database": { "Provider": "MySQL" },
  1. Individua la sezione "ConnectionStrings". Sotto la chiave "MySQL", modifica la stringa di connessione in base alla configurazione del tuo server MySQL. Aggiorna di conseguenza i valori server, User, Password e Database:
"ConnectionStrings": { "SQLServer": "", "MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses", "SQLite": "" },

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.

Ricorda di sostituire "YourUniquePassword" con una password robusta a tua scelta. Per creare una password sicura è vivamente consigliato combinare lettere maiuscole e minuscole, numeri e caratteri speciali. Conserva la password: ti servirà più avanti, durante la configurazione del database.

  1. Facoltativamente puoi personalizzare altre impostazioni dell’applicazione. Per esempio, nella sezione "Serilog" puoi configurare le impostazioni dei log e regolare il livello minimo di log:
"Serilog": { "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Debug", "System": "Debug", "Grpc": "Debug" } }, ... },

Per individuare i problemi di installazione può essere utile impostare il livello minimo di log su Debug. Quando il servizio è in esecuzione, puoi riportare il livello di log a Information o Warning.

  1. Più in basso, nella sezione "Application", puoi specificare "LicenseFile" (babel.licenses) e personalizzare i valori "SigningKey" e "TokenExpiration" in base alle tue esigenze:
"Application": { "AdminUsername": "your-admin-user", "AdminEmail": "admin@example.com", "AdminPassword": "<strong-initial-password>", "LicenseFile": "babel.licenses", "SigningKey": "Secret Token Key", "TokenExpiration": "00:30:00" },

Sostituisci Secret Token Key con una tua chiave univoca. Verrà usata per proteggere la comunicazione tra le applicazioni client e il Babel Licensing Service.

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).

  1. Per salvare le modifiche e uscire da Nano premi Ctrl + X, poi premi Y per confermare le modifiche e infine premi Enter per salvare il file.

Con questi passi hai configurato il servizio Babel modificando il file appsettings.json. La configurazione aggiornata contiene le impostazioni corrette di connessione al database e tutte le altre personalizzazioni che hai apportato.

Il paragrafo Configurazione spiega in dettaglio il file di configurazione del Babel Licensing Service.

Crea il database

Devi creare il database “licenses” configurato nella stringa di connessione impostata per il Babel Licensing Service. Poi crea l’utente “babel”, concedigli i privilegi sul database e verificane i permessi.

  1. Apri un terminale.
  2. Accedi alla console di MariaDB come utente root con il comando seguente:
sudo mariadb -u root -p

Ti verrà chiesta la password di root.

  1. Una volta effettuato l’accesso alla console di MariaDB, puoi elencare tutti i database esistenti con il comando:
SHOW DATABASES;
  1. Per elencare tutti gli utenti esistenti, esegui la query seguente:
SELECT User FROM mysql.user;
  1. Crea il database “licenses” con il comando:
CREATE DATABASE licenses;
  1. Crea l’utente “babel” e concedigli tutti i privilegi sul database “licenses” eseguendo i comandi seguenti:
CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword'; GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost; FLUSH PRIVILEGES;

Sostituisci 'YourUniquePassword' con la password che hai impostato nella stringa di connessione MySQL del Babel Licensing Service.

  1. Per verificare che l’utente “babel” abbia i permessi corretti, puoi usare l’istruzione seguente:
SHOW GRANTS FOR babel@localhost;

Ora puoi uscire dalla console di MariaDB digitando il comando quit seguito da ENTER.

Con questi passi hai creato il database “licenses”, creato l’utente “babel”, concesso i privilegi sul database e verificato i permessi dell’utente.

Avviare il Babel Licensing Service

Per avviare il Babel Licensing Service, segui questi passi:

Apri un terminale

Apri una finestra del terminale.

Vai alla cartella in cui si trova il Babel Licensing Service. Per esempio:

cd /var/www/svc/babel

Esegui il servizio

Esegui il comando seguente per avviare il Babel Licensing Service:

dotnet Babel.Licensing.Service.dll

Se tutto è configurato correttamente, vedrai il servizio avviarsi. Il log del terminale mostra le informazioni sull’inizializzazione del servizio, compresa la creazione delle tabelle nel database, in base al livello di log scelto nel file appsettings.json.

Tieni d’occhio il log del terminale per individuare eventuali errori o avvisi. In caso di problemi, ricontrolla la configurazione, le impostazioni di connessione al database e i permessi per accertarti che siano corretti.

Se il Babel Licensing Service si avvia correttamente, è pronto a gestire le operazioni sulle licenze e a fornire i servizi di licenza alle tue applicazioni.

È consigliabile eseguire il Babel Licensing Service come processo in background, oppure configurare un gestore di servizi, in modo che continui a funzionare anche dopo la chiusura del terminale.

Configurare come processo in background

In Linux i file di servizio, detti anche file unit di servizio, sono file di configurazione con estensione “.service” usati per controllare il comportamento dei daemon o dei servizi. Questi file definiscono varie impostazioni e parametri del servizio, come il nome, la descrizione, il comando di esecuzione, la cartella di lavoro, le variabili d’ambiente e altro ancora.

Per configurare il Babel Licensing Service come servizio di sistema in Linux, segui questi passi:

Apri il file di servizio

Apri un terminale ed esegui il comando seguente per creare e modificare il file di servizio:

sudo nano /etc/systemd/system/babel.licensing.service

Incolla la configurazione del servizio

Incolla nel file la configurazione seguente:

[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.target

Salva il file di servizio

Salva il file premendo Ctrl+O, poi esci dall’editor premendo Ctrl+X.

Avvia il servizio

Avvia il Babel Licensing Service eseguendo il comando seguente:

sudo systemctl start babel.licensing

Controlla lo stato del servizio

Per controllare lo stato del servizio, usa il comando seguente:

systemctl status babel.licensing

Questo comando mostra lo stato corrente del servizio, compresi eventuali messaggi di errore o avvisi:

● 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 started

Abilita l’avvio automatico

Per impostazione predefinita il servizio non viene avviato automaticamente all’avvio del server. Per abilitare l’avvio automatico del servizio, esegui il comando seguente:

sudo systemctl enable babel.licensing

Una volta abilitato, il servizio si avvia automaticamente dopo ogni riavvio del server.

Con questi passi hai configurato il Babel Licensing Service come servizio systemd in Linux. Il servizio si avvia automaticamente all’avvio del sistema e può essere gestito con il comando systemctl.

Last updated on