# Despliegue e instalación de V12 ## Pre-requisitos * Devkron Applications Server * Servidor Web (Proxy) (p.e. Nginx) * Servidor de bases de datos (MySQL/MariaDB/MS SQL Server) - En MySQL | MariaDB Es indispensable establecer ```lower_case_table_names=1``` ## Paquetes El diseño de V12 es modular por lo que todo el sistema es una colección de paquetes. Vea: [Conceptos básicos](conceptos-basicos.md) No obstante, hay un conjunto de paquetes mínimos necesarios para que el sistema tenga sentido y pueda funcionar que deben ser desplegados. Paquetes mínimos indispensables de V12 * dkl-ddm. Devkron Data Definition Model (herramientas para definir datos relacionales y administrar la base de datos) * dkl-web. Marco para aplicaciones Web de Devkron * dbext. Bibliotecas de funcionas indispensables y aplicaciones de gestión de usuarios, permisos y variables globales. * v12. Plantilla de sitio Web y herramientas * webshell. Aplicación contenedora de la interfaz del usuario Web. ### Repositorio de V12 El repositorio de paquetes oficial de Induxsoft V12 se encuentra en: https://install-v12.induxsoft.net En este repositorio se encuentra un catálogo de los paquetes y "superpaquetes" disponibles que puede descargarse como un archivo JSON (catalog.json). Un superpaquete es un nombre asociado a una lista de paquetes, una forma de simplificar el despligue. #### Superpaquete: core El superpaquete core incluye todos los paquetes mínimos indispensables, por lo que al desplegarlo sería suficiente para instalar un sistema V12 operativo aunque sin aplicaciones. ## Procedimiento general Para la puesta en productivo de un sistema V12 siga los siguientes pasos: 1. Despliegue los paquetes que desea implementar. 2. Cree o establezca una conexión a la base de datos 3. Instale los paquetes que ha desplegado 4. Cree el sitio Web usando la plantilla de V12 5. Conecte el sitio Web a la base de datos en la que ha instalado los paquetes desplegados ### Despliegue Los paquetes se encuentran en archivos comprimidos en ZIP en el repositorio oficial de Induxsoft V12 Para simplificar esta tarea, descargue y use la herramienta de línea de comando (PowerShell / Shell) de despliegue de V12 ```deployv12``` ```shell # Descargar la herramienta en el directorio de binarios de la instalación de Devkron wget https://install-v12.induxsoft.net/deployv12.dkl ## Despliegue los paquetes a usar, si es una primera instalación no olvide desplegar al superpaquete 'core' ./dkl deployv12 "packs:core, cxp,cxp, inventario, compras" ``` ### Creación o conexión a la base de datos Use la herramienta dba para crear o conectarse a una base de datos existente. Utilidad de línea de comandos para administrar conexiones y crear bases de datos. ``` ./dkl dba [opción] [parámetros] ``` Opciones: * ```show all``` Muestra todas las conexiones en el repositorio * ```show``` Muestra la información de la conexión indicada en el parámetro ```qn``` * ```delete``` Elimina la conexión indicada en el parámetro ```qn``` * ```create database``` Crea una base de datos y su registro de conexión con la información de los parámetros ```qn``` y ```settings``` * ```create connection``` Crea un registro de conexión con la información de los parámetros ```qn``` y ```settings``` Parámetros * ```qn``` Indica un nombre cualificado de conexión (nombreconexion@grupodeaplicacion) * ```settings``` Indica un conjunto de valores para establecer una conexión a la base de datos, los pares clave valor deben delimitarse por comas y a su vez, cada clave y su valor se delimitan por dos puntos, para conocer las claves (parámetros de configuración conocidos) vea [Funciones de administración de conexiones](https://docs.induxsoft.net/es/devkron/Bibliotecas-de-funciones/dbr/dbr.md) Ejemplos ```shell # Mostrar todas las conexiones ./dkl dba show all # Mostrar información de una conexión ./dkl dba show qn=miconexion@grupoapps # Eliminar una conexión ./dkl dba delete qn=miconexion@grupoapps # Crear una conexión a una base de datos existente # Observe cómo está formado el parámetro settings para indicar los datos de la conexión ./dkl dba create connection qn=miconexion@grupoapps "settings=Engine:MY_SQL,Host:nombreoipdelhost,Port:3306,UserName:root, Password:12345,SslMode:0,DefaultSchema:nombrebasededatos" # Crear una base de datos y su registro de conexión ./dkl dba create database qn=miconexion@grupoapps "settings=Engine:MY_SQL,Host:nombreoipdelhost,Port:3306,UserName:root, Password:12345,SslMode:0,DefaultSchema:nombrebasededatos" ``` ### Instalación La mayoría de los paquetes funcionales requiren la creación de objetos en la base de datos relacional, carga de datos iniciales y otras tareas de instalación. Cada paquete como se detalla [aquí](paquetes.md), cuenta con un programa de instalación. Para simplificar el ejecutar manualmente el programa de instalación de cada paquete, use la herramienta ```installv12``` Es importante que la lista de paquetes a instalar debe indicar su nombre de carpeta (y no toma en cuenta superpaquetes como 'core' por ejemplo, por lo que deberá indicar los nombres explícitamente) ```shell # Instalar ./dkl installv12 "db=miconexion@grupoapps" "packs=dbext, webshell, cxc, cxp, inventarios" ``` Observe que de los paquetes mínimos indispensables incluidos en 'core', solo se requiere ejecutar el programa de instalación para webshell y dbext, los demás será paquetes con funcionalidad específica (cxc, cxc, inventarios,etc.). ### Creación del sitio Web Para crear el sitio Web a través del cual se accederá al sistema V12 use la herramienta 'createsite'. ```shell # Crear el sitio Web con la plantilla de sitio Web para V12 ./dkl createsite v12 "sudominio-o-host.com" ``` ### Conectar el sitio Web El último paso para poder usar el sistema V12 es indicarle al sitio Web cuál es la base de datos relacional correspondiente. ```shell # Conectar sitio Web V12 a la base de datos ./dkl connectv12 "db=miconexion@grupoapps" "host=sudominio-o-host.com" ```