Skip to Content
Nueva versión 12 disponible 🎉
LicensingPrimeros pasosLinux Ubuntu y macOS

Linux Ubuntu

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

Con estas instrucciones podrá instalar y configurar el Babel Licensing Service en su sistema Ubuntu.

Requisitos previos

Para instalar correctamente el Babel Licensing Service en Linux Ubuntu LTS, compruebe que se cumplen los requisitos previos siguientes.

  1. Linux Ubuntu 22.04 LTS
  2. MariaDB o MySQL (el servicio para .NET 10 se ha probado con MySQL 8.4 y MariaDB 11.4)
  3. 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)
  4. Paquete ZIP del Babel Licensing Service (babel_service_net100_x.y.z.w.zip). El mismo paquete sirve para las dos ediciones.
  5. Archivo de licencia de Babel Licensing Server o Data Center (babel.licenses)

Además, tenga a mano la contraseña de root durante la instalación. Esta contraseña es necesaria para realizar tareas administrativas, como instalar archivos y configurar el sistema.

Estos son los comandos con los que puede comprobar las versiones de los componentes instalados en su sistema Linux Ubuntu.

Comprobar la versión de Ubuntu

lsb_release -a

Este comando muestra información detallada sobre su distribución de Ubuntu, incluido el número de versión.

Comprobar la versión de MariaDB

mariadb-admin --version

Este comando muestra la información de versión del servidor MariaDB instalado.

Comprobar las versiones del entorno de ejecución de .NET

dotnet --list-runtimes

Este comando enumera las versiones del entorno de ejecución de .NET instaladas en su sistema.

Script de instalación

El script de Bash BabelLicensingService.sh está pensado para simplificar la instalación y la configuración del Babel Licensing Service en entornos Ubuntu Linux, tal como se describe en esta sección.

Antes de empezar la instalación, el script comprueba los requisitos previos, como los privilegios de root y la presencia de las herramientas necesarias, entre ellas el comando de la CLI de MariaDB y dotnet. Ofrece una interfaz intuitiva con la que se puede instalar el servicio y consultar su estado sin esfuerzo.

Durante la instalación, el script se ocupa de varias tareas: descomprimir el archivo de instalación, copiar el archivo de licencia, inicializar la base de datos, ajustar las cadenas de conexión en appsettings.json y configurar el servicio con los valores adecuados.

Para usar el script BabelLicensingService.sh, siga estos pasos:

Descargar el script

Descargue el script desde el vínculo  indicado.

Mover el script a un directorio temporal

Mueva el script descargado a un directorio temporal (el directorio personal del usuario).

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 el mismo directorio temporal que el script.

Ejecutar el script

Ejecute los comandos siguientes para iniciar la instalación.

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

Si prefiere no usar el script BabelLicensingService.sh, pase a las secciones siguientes, que contienen instrucciones detalladas para configurar el servicio manualmente.

Archivos de instalación

Para instalar el Babel Licensing Service, copie el archivo ZIP que contiene todos los ensamblados del servicio y el archivo de licencia en el directorio personal del usuario «babel» (/home/babel) y, después, extraiga el archivo, configure el servicio y prepare la base de datos. Suponiendo que se encuentra en el directorio en el que está el archivo ZIP, siga estos pasos:

Copiar los archivos al directorio personal del usuario babel

Abra un terminal y ejecute el comando siguiente para copiar el archivo ZIP y el archivo de licencia en la ubicación deseada:

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

Ahora el archivo ZIP que contiene los ensamblados del Babel Licensing Service está disponible en el directorio personal del usuario «babel» (/home/babel). Puede continuar con la instalación y la configuración del Babel Licensing Service con los archivos de este directorio.

Crear la carpeta de instalación y extraer el archivo

Cree la carpeta «svc/babel» en «/var/www» y extraiga el contenido del archivo ZIP:

  1. En la ventana del terminal, ejecute el comando siguiente para crear la carpeta «svc/babel» en «/var/www»
sudo mkdir -p /var/www/svc/babel

Se le pedirá la contraseña, ya que «sudo» concede los privilegios administrativos necesarios para crear directorios en el directorio del sistema.

  1. Cambie el directorio de trabajo actual a la carpeta «babel» recién creada:
cd /var/www/svc/babel
  1. Extraiga el contenido del archivo ZIP en el directorio actual («/var/www/svc/babel»):
sudo unzip /home/babel/babel_service_net100_x.y.z.w.zip

Con estos pasos se crea la estructura de carpetas necesaria y se extrae el contenido del archivo ZIP en el directorio «/var/www/svc/babel». Así puede continuar con la instalación y la configuración del Babel Licensing Service en la ubicación adecuada.

Copiar el archivo de licencia

Copie el archivo de licencia «babel.licenses» en el directorio «/var/www/svc/babel» con el comando siguiente:

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

Ahora que el archivo de licencia «babel.licenses» está instalado en el directorio «/var/www/svc/babel», puede continuar con la configuración del usuario que ejecutará el Babel Licensing Service.

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.

Establecer el propietario de la aplicación

Con el archivo de licencia «babel.licenses» instalado en el directorio «/var/www/svc/babel», el paso siguiente es configurar el usuario que ejecutará el Babel Licensing Service. En este caso, el usuario será «www-data».

Para configurar el usuario, ejecute el comando siguiente en el terminal:

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

Este comando cambia el propietario del directorio «/var/www/svc/babel» y de su contenido al usuario y al grupo «www-data». Con el propietario correcto, el Babel Licensing Service puede ejecutarse con el usuario adecuado, que podrá acceder a los archivos y directorios necesarios y trabajar con ellos.

Configurar el servicio

Para configurar el Babel Licensing Service y editar el archivo appsettings.json con los ajustes de conexión a la base de datos y el resto de la configuración de la aplicación, siga estos pasos:

  1. En una ventana de terminal, use el comando siguiente para abrir el archivo appsettings.json en el editor de texto Nano
sudo nano /var/www/svc/babel/appsettings.json
  1. En el archivo appsettings.json, busque la sección "Database". Establezca el valor de "Provider" en "MySQL" para indicar que usa MySQL como proveedor de base de datos
"Database": { "Provider": "MySQL" },
  1. Busque la sección "ConnectionStrings". En la clave "MySQL", modifique la cadena de conexión para que corresponda a la configuración de su servidor MySQL. Actualice los valores de server, User, Password y Database según corresponda:
"ConnectionStrings": { "SQLServer": "", "MySQL": "Server=127.0.0.1;User=babel;Password=YourUniquePassword;Database=licenses", "SQLite": "" },

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.

Recuerde sustituir "YourUniquePassword" por una contraseña segura de su elección. Se recomienda encarecidamente combinar letras mayúsculas y minúsculas, números y caracteres especiales para crear una contraseña segura. Conserve la contraseña, porque la necesitará más adelante al configurar la base de datos.

  1. De forma opcional, puede personalizar otros ajustes de la aplicación. Por ejemplo, en la sección "Serilog" puede configurar el registro y ajustar el nivel de registro mínimo:
"Serilog": { "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Debug", "System": "Debug", "Grpc": "Debug" } }, ... },

Para depurar problemas de instalación puede ser útil establecer el nivel de registro mínimo en Debug. Cuando el servicio esté en funcionamiento, se puede volver al nivel Information o Warning.

  1. Más abajo, en la sección "Application", puede indicar el "LicenseFile" (babel.licenses) y personalizar los valores de "SigningKey" y "TokenExpiration" según sus necesidades:
"Application": { "AdminUsername": "your-admin-user", "AdminEmail": "admin@example.com", "AdminPassword": "<strong-initial-password>", "LicenseFile": "babel.licenses", "SigningKey": "Secret Token Key", "TokenExpiration": "00:30:00" },

Sustituya Secret Token Key por su propia clave única. Se usará para proteger la comunicación entre las aplicaciones cliente y el Babel Licensing Service.

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

  1. Para guardar los cambios y salir de Nano, pulse Ctrl + X, después pulse Y para confirmar los cambios y, por último, pulse Enter para guardar el archivo.

Con estos pasos habrá configurado el servicio de Babel mediante la edición del archivo appsettings.json. La configuración actualizada incluye los ajustes correctos de conexión a la base de datos y las demás personalizaciones que haya hecho.

Para saber más sobre el archivo de configuración del Babel Licensing Service, consulte el apartado Configuración.

Crear la base de datos

Hay que crear la base de datos «licenses» configurada en la cadena de conexión establecida para el Babel Licensing Service. Después se crea el usuario «babel», se le conceden privilegios sobre la base de datos y se comprueban sus permisos.

  1. Abra un terminal.
  2. Inicie sesión en la consola de MariaDB como usuario root con el comando siguiente:
sudo mariadb -u root -p

Se le pedirá la contraseña de root.

  1. Una vez iniciada la sesión en la consola de MariaDB, puede enumerar todas las bases de datos existentes con el comando:
SHOW DATABASES;
  1. Para enumerar todos los usuarios existentes, ejecute la consulta siguiente:
SELECT User FROM mysql.user;
  1. Cree la base de datos «licenses» con el comando:
CREATE DATABASE licenses;
  1. Cree el usuario «babel» y concédale todos los privilegios sobre la base de datos «licenses» con los comandos siguientes:
CREATE USER babel@localhost IDENTIFIED BY 'YourUniquePassword'; GRANT ALL PRIVILEGES ON licenses.* TO babel@localhost; FLUSH PRIVILEGES;

Sustituya 'YourUniquePassword' por la contraseña que estableció en la cadena de conexión MySQL del Babel Licensing Service.

  1. Para comprobar que el usuario «babel» tiene los permisos adecuados, puede usar la instrucción siguiente:
SHOW GRANTS FOR babel@localhost;

Ya puede salir de la consola de MariaDB escribiendo el comando quit y pulsando ENTER.

Con estos pasos habrá creado la base de datos «licenses» y el usuario «babel», le habrá concedido privilegios sobre la base de datos y habrá comprobado sus permisos.

Iniciar el Babel Licensing Service

Para iniciar el Babel Licensing Service, siga estos pasos:

Abrir un terminal

Abra una ventana de terminal.

Vaya al directorio en el que se encuentra el Babel Licensing Service. Por ejemplo:

cd /var/www/svc/babel

Ejecutar el servicio

Ejecute el comando siguiente para iniciar el Babel Licensing Service:

dotnet Babel.Licensing.Service.dll

Si todo está configurado correctamente, verá cómo arranca el servicio. El registro del terminal muestra información sobre la inicialización del servicio, incluida la creación de las tablas en la base de datos, según el nivel de registro elegido en el archivo appsettings.json.

Esté atento a los errores o advertencias que aparezcan en el registro del terminal. Si hay algún problema, revise la configuración, los ajustes de conexión a la base de datos y los permisos para comprobar que son correctos.

Si el Babel Licensing Service arranca correctamente, queda listo para atender las operaciones de licencias y prestar servicios de licencias a sus aplicaciones.

Se recomienda ejecutar el Babel Licensing Service como proceso en segundo plano o configurar un administrador de servicios para que siga en ejecución después de cerrar el terminal.

Configurar como proceso en segundo plano

En Linux, los archivos de servicio, también llamados archivos de unidad de servicio, son archivos de configuración con la extensión «.service» que controlan el comportamiento de los demonios o servicios. Estos archivos definen distintos ajustes y parámetros del servicio, como su nombre, su descripción, el comando de ejecución, el directorio de trabajo, las variables de entorno y otros.

Para configurar el Babel Licensing Service como servicio del sistema en Linux, siga estos pasos:

Abrir el archivo de servicio

Abra un terminal y ejecute el comando siguiente para crear y editar el archivo de servicio:

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

Pegar la configuración del servicio

Pegue la configuración siguiente en el archivo:

[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

Guardar el archivo de servicio

Guarde el archivo pulsando Ctrl+O y, después, salga del editor pulsando Ctrl+X.

Iniciar el servicio

Inicie el Babel Licensing Service con el comando siguiente:

sudo systemctl start babel.licensing

Comprobar el estado del servicio

Para comprobar el estado del servicio, use el comando siguiente:

systemctl status babel.licensing

Este comando muestra el estado actual del servicio, incluidos los mensajes de error o las advertencias:

● 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

Habilitar el inicio automático

De forma predeterminada, el servicio no está configurado para iniciarse automáticamente al arrancar el servidor. Para que el servicio se inicie automáticamente, ejecute el comando siguiente:

sudo systemctl enable babel.licensing

Al habilitar el servicio, este se inicia automáticamente después de reiniciar el servidor.

Con estos pasos habrá configurado el Babel Licensing Service como servicio de systemd en Linux. El servicio se inicia automáticamente al arrancar el sistema y puede administrarse con el comando systemctl.

Last updated on