API – Instalación

(blue star) Índice

/**/

Introducción

En este documento se detallan los pasos a seguir para la correcta instalación tanto de la API cómo del servicio de actualización automática de versiones.

Antes de comenzar, nos vamos a asegurar que desde Grupo 10 hemos recibido la entrega .zip con todo lo necesario para la instalación tanto de la API como del servicio de actualización:

  • Carpeta “APIApiges”: Contiene todos los archivos necesarios para la instalación de la API.
  • Carpeta “UpdateService”: Contiene todos los archivos necesarios para la instalación del servicio automático de actualizaciones.
  • ActualizarApiges.sql: Script de actualización de la base de datos.

Nota: Si no hay ningún cambio adicional en la versión, no se adjuntará dicho script ya que es suficiente con la última versión de Apiges.

Una vez recibidos los ficheros, comenzamos:

 

Es importante tener instalada las siguientes librerías para la correcta instalación de los servicios:

  • .NET Runtime para (x86) y (x64). Se puede comprobar si existe la carpeta C:/Archivos de programa (x86)/dotnet

En caso de no existir, puedes descargarla desde el siguiente enlace: https://dotnet.microsoft.com/en-us/download/dotnet/6.0/runtime . Apartado: Run console apps > Download x86 y Download x64

  • ASP.NET Core Runtime 6.0.3 para (x64). Se puede comprobar si existe dentro de la carpeta C:/Archivos de programa/dotnet

En caso de no existir, puedes descargarla desde el siguiente enlace: https://dotnet.microsoft.com/en-us/download/dotnet/6.0

Si se prefiere, se puede descargar en el enlace https://dotnet.microsoft.com/en-us/download/dotnet/6.0 el SDK 6.0.201 que contiene ambos runtimes

Instalación API

1.- En primer lugar, vamos a copiar la carpeta “APIApiges” en la siguiente ruta:

C:/Grupo10

 

En caso de descomprimir el fichero en otra ruta, se deberá modificar el ejecutable Install_Service.bat, con un editor de texto, para cambiar la ruta.

Importante: debes tener permisos de lectura y escritura sobre la nueva ruta.

Dentro de la carpeta “APIApiges”, obtendremos la siguiente estructura de ficheros:

  • Carpeta “Certificados”: En esta carpeta se tienen que almacenar los certificados en caso de utilizar protocolo HTTPs (seguro).
  • Carpeta “Ejecutables”: En esta carpeta se encuentran cuatro archivos .bat (instalación, arranque, parada y desinstalación del servicio).
  • Apiges.API.exe: Ejecutable que contiene la API y la versión actual (en este ejemplo, 1.0.0.0).
  • Apiges.API.xml: Documento XML requerido para la documentación de Swagger.
  • appsettings.json: Fichero JSON de configuración del API. Este es el fichero que vamos a modificar para la instalación.
  • web.config: Fichero interno de configuración.

2.- Abrimos el fichero appsettings.json con un editor de texto:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "Apiges": "Server=<server>;Database=Apiges;UserId=XXXXX;Password=XXXXX;TrustServerCertificate=True"
  },
  "Kestrel": {
    "URLs": "<protocolo>://<dominio>:<puerto>",
    "Certificate": {
      "Path": "<name>",
      "Password": "<password>"
    }
  },
  "JWT": {
    "ApiKey": "IE38ru2I394U",
    "Issuer": "",
    "Audience": "",
    "Id_Contacto": -1
  },
  "Pagination": {
    "DefaultPageSize": 10,
    "DefaultPageNumber": 1
  },
  "Language": {
    "DefaultLanguage": "es"
  }
}
  • Ejemplo de fichero appsettings.json tras sustituir los parámetros:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "Apiges": "Server=LAPTOP-0232344AA4\\GRUPO10;Database=Apiges;UserId=XXXXX;Password=XXXXX;
        TrustServerCertificate=True"
  },
  "Kestrel": {
    "URLs": "https://192.168.45.63:8035",
    "Certificate": {
      "Path": "Prueba.pfx",
      "Password": "admin"
    }
  },
  "JWT": {
    "ApiKey": "IE38ru2I394U",
    "Issuer": "",
    "Audience": "",
    "Id_Contacto": -1
  },
  "Pagination": {
    "DefaultPageSize": 10,
    "DefaultPageNumber": 1
  },
  "Language": {
    "DefaultLanguage": "es"
  }
}
  • ConnectionStrings: En este bloque vamos a modificar los siguientes parámetros para la conexión a la base de datos:

Parámetro

Descripción

Obligatorio Ejemplo
<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><server>

Nombre del servidor de base de datos

LAPTOP-0232344AA4\\GRUPO10

 

Si el valor para el parámetro <server> contiene una \, remplazar por \\

  • Kestrel:

En el bloque “URLs” vamos a configurar el dominio, protocolo y puerto en el que queremos desplegar la API.

Parámetro

Descripción

Obligatorio Ejemplo
<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><protocolo>

Protocolo de transferencia a utilizar

http ó https

<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><dominio>

IP del servidor o de la máquina

192.168.45.63

<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><puerto>

Puerto API

8080

 

Es importante comprobar que el puerto no esté ya en uso, en tal caso no arrancará el servicio.

Se puede comprobar, a partir del monitor de recursos de Windows:

Pestaña “Red” > Apartado “Puertos de escucha” > Columna “Puerto”.

En caso de que el protocolo elegido sea https (seguro), se debe configurar el bloque “Certificate”.

Parámetro

Descripción

Obligatorio Ejemplo
<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><name>

Nombre del certificado a utilizar

Sí al elegir https

Prueba.pfx

<h3 id=”src-30638130_API-Instalación-” data-scroll-heading-rank=”3″ data-scroll-original-heading-rank=”5″ data-scroll-relative-heading-rank=”3″ class=”scroll-original-h5 scroll-non-section-heading scroll-h3 scroll-relative-h3″><password>

Contraseña del certificado

Sí al elegir https

admin

 

Si se va a utilizar el protocolo https hay que copiar el certificado a utilizar en la carpeta:

C:/Grupo10/APIApiges/Certificados

Si no se encuentra el certificado, no arrancará el servicio

Otros parámetros que se pueden modificar:

  • Dentro del bloque “Logging” se puede cambiar la configuración por defecto para volcar más o menos información al fichero de log.

 

El fichero de log es un fichero .txt que se genera en la carpeta ./Logs, y sigue la siguiente nomenclatura:

Apiges-añomesdia.txt

Ejemplo: Apiges-20220221.txt

  • Dentro del bloque de “Pagination” se puede establecer el número y la página a mostrar para las búsquedas.
  • Dentro del bloque “Language” se puede modificar el idioma por defecto que se va a utilizar en las peticiones.

3.- Guardar los cambios de la configuración.

4.- Entramos dentro de la carpeta “Ejecutables” y ejecutamos el archivo “Install_Service” con botón derecho “Ejecutar como administrador”:

Se abrirá una terminal con la instalación, presionamos cualquier tecla para salir.

5.- Comprobaciones:

  • Comprobar que no ha dado ningún error en la salida al ejecutar el .bat.
    • En caso de error, comprobar el Visor de Eventos de Windows para más información.
  • Comprobar que el servicio está correctamente arrancado en los servicios de Windows.
  • Comprobar si está la API desplegada en la ruta:
http://<dominio>:<puerto>/swagger/index.html

Si la API se instala en un servidor y se quiere dar salida a equipos fuera del mismo, se debe realizar un ajuste adicional (ya que el Firewall, por defecto, bloquea las peticiones):

Para ello abrimos “Windows Defender Firewall con seguridad avanzada” y en el apartado “Reglas de entrada” creamos una entrada nueva con el puerto que hemos configurado anteriormente.

 

En caso de error, ir al apartado Soporte para contactar con Grupo 10

Instalación servicio actualización

Vamos a repetir los pasos anteriores pero, en este caso, con el servicio de actualización automática.

1.- En primer lugar, vamos a copiar la carpeta “UpdateService” en la siguiente ruta recomendada:

C:/Grupo10

 

En caso de descomprimir el fichero en otra ruta, se deberá modificar el ejecutable Install_Service.bat, con un editor de texto, para cambiar la ruta.

Importante: se deben tener permisos de lectura y escritura sobre la nueva ruta

Dentro de la carpeta “UpdateService”, obtendremos la siguiente estructura de ficheros:

  • Carpeta “Ejecutables”: En esta carpeta se encuentran cuatro archivos .bat (instalación, arranque, parada y desinstalación del servicio).
  • Apiges.UpdateService.exe: Ejecutable que contiene el servicio de actualización.
  • appsettings.json: Fichero JSON de configuración del servicio de actualización.

En este caso, no vamos a necesitar modificar el fichero de configuración, ya que desde Grupo 10 ya lo enviamos personalizado para cada cliente.

2.- Entramos dentro de la carpeta “Ejecutables” y ejecutamos el archivo “Install_Service” con botón derecho “Ejecutar como administrador”:

Se abrirá una terminal con la instalación, presionamos cualquier tecla para salir

3.- Comprobaciones:

  • Comprobar que no ha dado ningún error en la salida al ejecutar el .bat
    • En caso de error, comprobar el Visor de Eventos de Windows para más información.
  • Comprobar que el servicio está correctamente arrancado en los servicios de Windows.

 

Para finalizar, es importante lanzar el script de actualización de la base de datos proporcionado por Grupo 10 antes de ir al apartado de Peticiones

 

En caso de error, ir al apartado Soporte para contactar con Grupo 10

Artículo Anterior

Qué es API

Artículo siguiente

Flujo de peticiones