Skip to Content
Nueva versión 12 disponible 🎉

Windows

En esta sección se explica paso a paso cómo instalar el Babel Licensing Service en Windows 11.

Siga estas instrucciones para instalar y configurar el Babel Licensing Service en Windows 11.

Requisitos previos

Para instalar correctamente el Babel Licensing Service en Windows 11, compruebe que se cumplen los requisitos previos siguientes.

  • Compruebe que Windows 11 está actualizado a la última versión
  • Microsoft SQL Server, o MySQL/MariaDB (el servicio para .NET 10 se ha probado con MySQL 8.4 y MariaDB 11.4)
  • El entorno de ejecución de ASP.NET Core que corresponda al paquete del servicio (por ejemplo, .NET 10 para babel_service_net100_x.y.z.w.zip)
  • Paquete ZIP del Babel Licensing Service (por ejemplo, babel_service_net100_x.y.z.w.zip). El mismo paquete sirve para las dos ediciones.
  • Archivo de licencia de Babel Licensing, edición Server o Data Center (babel.licenses)
  • Para ejecutar el script de instalación se necesita PowerShell 7 o posterior

Script de instalación

El script de PowerShell BabelLicensingService.ps1 automatiza la instalación y la configuración del Babel Licensing Service en entornos Windows que se describen en este apartado.

Antes de empezar la instalación, el script comprueba que se cumplen los requisitos previos, como los privilegios de administrador, la versión correcta de PowerShell y el comando de la CLI de MariaDB. Permite instalar el servicio y consultar su estado.

Durante la instalación se ocupa de tareas como extraer el ZIP de instalación, copiar el archivo de licencia, crear la base de datos, modificar las cadenas de conexión en appsettings.json e instalar el servicio con la configuración correcta, de modo que se evitan los errores de una instalación manual.

Para usar el script BabelLicensingService.ps1, siga los pasos que se indican a continuación:

Descargar el script

Descargue el script desde este vínculo .

Copiar el script en una carpeta temporal

Copie el script descargado en una carpeta temporal.

Añadir el zip del servicio y el archivo de licencia

Coloque el archivo zip del servicio de Babel (llamado babel_service_net100_x.y.z.w.zip, donde x.y.z.w es la versión) y el archivo de licencia (babel.licenses) en la misma carpeta temporal que el script.

Ejecutar el script

Ejecute el script BabelLicensingService.ps1 desde la carpeta temporal para iniciar la instalación.

Al intentar ejecutar el script, puede aparecer el error siguiente:

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

Para resolverlo, puede cambiar la directiva de ejecución por una menos restrictiva, que permita ejecutar el script, con el comando siguiente:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Establecer la directiva de ejecución en Unrestricted puede exponer el sistema a riesgos de seguridad. Ejecute solo scripts de orígenes de confianza y considere la posibilidad de restablecer una directiva más segura cuando el script haya terminado.

Si prefiere no usar el script BabelLicensingService.ps1, siga leyendo para ver las instrucciones paso a paso para configurar el servicio manualmente.

Archivos de instalación

Para instalar el Babel Licensing Service hay que extraer los ensamblados y las configuraciones del servicio del archivo ZIP proporcionado, babel_service_net100_x.y.z.w.zip, en el directorio adecuado de su equipo Windows. A continuación se indica paso a paso cómo extraer el archivo ZIP en el directorio C:\BabelSvc con el Explorador de Windows.

En el Explorador de Windows, vaya a la carpeta en la que está guardado babel_service_net100_x.y.z.w.zip.

Hacer clic con el botón derecho en el archivo

Haga clic con el botón derecho en el archivo babel_service_net100_x.y.z.w.zip.

Elegir Extract All

Seleccione Extract All... (extraer todo) en el menú contextual.

Establecer la carpeta de destino

En el cuadro de diálogo «Extract Compressed (Zipped) Folders» (extraer carpetas comprimidas), escriba C:\BabelSvc como carpeta de destino.

Extraer los archivos

Haga clic en Extract (extraer).

Los archivos del Babel Licensing Service de babel_service_net100_x.y.z.w.zip están ahora en el directorio C:\BabelSvc.

Archivo de licencia

Copie el archivo de licencia babel.licenses en la carpeta de extracción. Así el servicio puede acceder a la información de licencia que necesita.

El archivo de licencia determina la edición. Con una licencia Data Center, la aplicación web se sirve en la dirección del servicio. Con una licencia Server, esa dirección muestra una página de actualización con una comparación de ediciones; el servicio, su API y Babel Desktop siguen funcionando. Para actualizar, sustituya babel.licenses y reinicie el servicio; no hay que reinstalar nada.

Crear la base de datos

Al instalar el Babel Licensing Service es imprescindible crear una base de datos y un usuario dedicados. A continuación se indica paso a paso cómo crear la base de datos de Babel Licensing con Microsoft SQL Server y con MySQL MariaDB.

Microsoft SQL Server

Para gestionar las licencias del Babel Licensing Service con SQL Server es imprescindible preparar una base de datos dedicada. Esta guía indica los pasos para configurar la base de datos de modo que funcione sin problemas.

Iniciar SQL Server Management Studio (SSMS)

  1. Conéctese a su instancia de SQL Server.
  2. Abra una ventana de consulta nueva para ejecutar los comandos SQL.

Ejecutar los comandos SQL siguientes para crear la base de datos y configurar el usuario

-- 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, una herramienta de administración de bases de datos de código abierto, potente y fácil de usar, puede emplearse junto con MariaDB para facilitar este proceso. A continuación se indica paso a paso cómo crear una base de datos con HeidiSQL y MariaDB.

Para empezar, inicie HeidiSQL y cambie a la pestaña SQL para ejecutar los comandos SQL siguientes:

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

Después de ejecutar los pasos anteriores, compruebe que la base de datos licenses se ha creado correctamente y que el usuario babel tiene asignados los privilegios correctos. Para ello, inicie sesión con las credenciales del usuario babel e intente acceder a la base de datos licenses.

Configurar el Babel Licensing Service

La configuración del Babel Licensing Service es un paso fundamental para que funcione correctamente y se integre en su entorno. Consiste en modificar el archivo appsettings.json, situado en la carpeta de extracción, y adaptar varios ajustes a sus necesidades.

Editar appsettings.json

Vaya a la carpeta de extracción y busque el archivo appsettings.json. Ábralo con su editor de texto preferido y actualice la configuración de la base de datos para que corresponda al servidor de base de datos que eligió al preparar la base de datos de Babel Licensing.

Microsoft SQL Server

Para preparar la base de datos de Babel Licensing en Microsoft SQL Server, configure Database Provider y la cadena de conexión SQLServer como sigue:

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

Sustituya SQLSERVER_INSTANCE_NAME por el nombre de su instancia de SQL Server, tal como aparece en SQL Server Object Explorer o en su conexión de SQL Server Management Studio (SSMS).

Use como YourUniquePassword la contraseña que estableció para el inicio de sesión babel en Microsoft SQL Server.

MySQL MariaDB

Si eligió MySQL y MariaDB al crear la base de datos de Babel Licensing, configure Database Provider y la cadena de conexión MySQL como sigue:

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

Compruebe aquí que Provider, en Database, tiene el valor MySQL y que la cadena de conexión MySQL está configurada con la dirección del servidor, el usuario, la contraseña y el nombre de la base de datos correctos. Sustituya YourUniquePassword por la contraseña real que estableció para el usuario babel en MariaDB.

En .NET 10 el servicio usa el proveedor Microting.EntityFrameworkCore.MySql, una bifurcación de Pomelo con licencia MIT compatible con Entity Framework Core 10. Los frameworks anteriores usan Pomelo. El nombre del proveedor MySQL, la cadena de conexión y el esquema son los mismos en todos los frameworks.

Configurar Kestrel

En la sección EndpointDefaults, Protocols tiene el valor Http1AndHttp2, lo que permite al servidor comunicarse con los protocolos HTTP1 y HTTP2 y aporta flexibilidad y compatibilidad con distintos tipos de clientes.

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

En la sección Endpoints se definen los puntos de acceso concretos del servicio. Aquí se configura un punto de acceso llamado gRPC con Url establecida en http://*:5005, lo que permite al servicio escuchar en todas las interfaces de red disponibles, en el puerto 5005. El valor de Protocols de este punto de acceso es Http2, que lo optimiza para la comunicación gRPC.

Al configurar Kestrel, compruebe que las URL y los protocolos indicados se ajustan a los requisitos de su servicio y a su entorno de red, y modifíquelos según sea necesario para obtener el comportamiento y el rendimiento deseados.

Configurar Serilog

A continuación, configure la sección Serilog para definir las preferencias de registro:

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

En esta sección, indique la ruta completa del archivo de registro, sobre todo cuando el Babel Licensing Service se ejecuta como servicio de Windows, para evitar problemas con el registro. Por ejemplo, "path": "C:\\BabelSvc\\log.txt" hace que el archivo de registro se guarde en el directorio C:\BabelSvc.

Ajustes de la aplicación

Por último, en la sección Application, indique los valores de LicenseFile, SigningKey y 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" },

Aquí, LicenseFile debe tener el valor babel.licenses. Personalice SigningKey sustituyendo Secret Token Key por su propia clave única, que protegerá la comunicación entre las aplicaciones cliente y el Babel Licensing Service. Ajuste el valor de TokenExpiration según sus necesidades para establecer el tiempo de validez del token.

Desde la versión 11.7.0: el servicio ya no se distribuye con las credenciales predeterminadas admin / admin, y SigningKey ya no viene rellenada. Rellene AdminUsername y AdminPassword antes del primer arranque para crear la cuenta del administrador inicial (AdminEmail es opcional, pero se recomienda); si alguno de los dos valores obligatorios está vacío, el servicio arranca igualmente, pero no se crea ningún usuario administrador, de modo que no es posible iniciar sesión en la aplicación web (Data Center) con esa cuenta y Babel Desktop no dispone de una clave API de administrador con la que conectarse, hasta que los establezca y reinicie el servicio. Si SigningKey se deja vacía, se genera una clave aleatoria al arrancar, pero se vuelve a generar en cada reinicio y no se comparte entre instancias; en producción, establezca siempre un valor explícito (por ejemplo, mediante la variable de entorno BABEL_SERVICE_APPLICATION__SIGNINGKEY).

Iniciar el Babel Licensing Service

Para iniciar el Babel Licensing Service con PowerShell, siga estos pasos:

Abrir PowerShell

Abra PowerShell desde el menú Inicio.

Vaya con el comando cd al directorio en el que se encuentra Babel.Licensing.Service.exe, que suele ser:

cd C:\BabelSvc

Iniciar el ejecutable del servicio

Inicie el ejecutable con el comando siguiente:

.\Babel.Licensing.Service.exe

Revise los mensajes de salida para confirmar que el servicio arranca sin errores. Si algo falla, consulte la solución de problemas en la documentación del servicio.

Al iniciar el servicio puede aparecer una ventana emergente del Firewall de Windows que pide permiso para que el servicio se comunique a través de la red. Elija «Allow access» (permitir acceso); de lo contrario, el servicio no podrá comunicarse con otros sistemas de la red ni con Internet.

Ejecutar como servicio de Windows

Para que el Babel Licensing Service funcione de forma eficiente en segundo plano y esté disponible al arrancar el sistema, se recomienda ejecutarlo como servicio de Windows. Como servicio, el Babel Licensing Service funciona con independencia de las sesiones de usuario, con disponibilidad y funcionamiento ininterrumpidos.

Para ello puede usar el comando New-Service de PowerShell, que crea una entrada nueva para un servicio de Windows en el Registro y en la base de datos de servicios. A continuación se muestra el comando adaptado con New-Service en 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."

En este comando:

  • -Name "Babel.Licensing" indica el nombre del servicio.
  • -BinaryPathName ".\Babel.Licensing.Service.exe" define la ruta del archivo ejecutable del servicio, que indica el directorio actual.
  • -DisplayName "Babel Licensing" asigna al servicio un nombre para mostrar, que es como aparecerá en la aplicación Servicios y en otras interfaces de usuario.
  • -StartupType "Automatic" configura el servicio para que se inicie automáticamente con el sistema.
  • -Description "Babel licensing and reporting network services." proporciona una descripción que explica la función y el cometido del servicio.

Este comando debe ejecutarse en una sesión de PowerShell con privilegios de administrador para que el servicio se cree y se configure correctamente. Después de ejecutarlo, el Babel Licensing Service queda configurado como servicio de Windows, listo para funcionar de forma continua y estar disponible en el sistema.

Iniciar el servicio

Start-Service -Name "Babel.Licensing"

Detener el servicio

Stop-Service -Name "Babel.Licensing"

Consultar el estado del servicio

Get-Service -Name "Babel.Licensing"

Desinstalar el servicio

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

Recuerde ejecutar estos comandos en una sesión de PowerShell con privilegios de administrador para que se ejecuten correctamente.

Last updated on