aBillander Tutorial (español)
  • aBillander
  • Instalación
    • El Instalador en Detalle
  • Primeros pasos
    • 1 Empezar desde cero
    • 1.1 Datos de la Empresa
    • 1.2 Configuración de aBillander
      • Claves de Configuración
      • Configuraciones Básicas
      • Copias de seguridad
      • Cálculo de Rentabilidad
    • 1.3 Datos básicos
      • Catálogo de Productos
        • Categorías de Productos
        • Listado de Productos
        • Generar automáticamente la Referencia (SKU)
      • Clientes
      • Proveedores
    • 2 Importar Datos
      • Importación de Categorías
      • Importación de Productos
      • Importación de Tarifas
      • Importación de Clientes
  • Almacén
    • Movimientos de Almacén
    • Inventario de Almacén
    • Regularización de Almacén
    • Transferencias entre Almacenes
    • Productos con Bajo Stock
    • Lotes
      • Operaciones con Lotes
  • Ventas
    • Documentos de Venta
      • Pedidos
      • Albaranes
      • Facturas
      • Presupuestos
      • Flujo de Documentos
    • Precio de Venta
    • Métodos de Envío
    • Clientes y Albaranes no facturables
    • Recibos y Cobros
      • Remesas Bancarias
      • Cheques
      • Agrupar Recibos de Clientes
  • Compras
    • Pedidos de Compra
      • Anticipos a Proveedores
  • Informes
    • Informes para Contabilidad
    • Modelo 347
  • Centro de Clientes
    • Campos de los Usuarios
    • Acceso ABCC
    • Portada
    • Importación CustomerUsers
  • Centro de Agentes Comerciales
    • Acceso ABSRC
    • Comisiones
  • Fabricación
    • Arquitectura de las Listas de Materiales (BOM)
  • Integración con WooCommerce
    • Preparar WooCommerce
    • Configuración del enlace
    • Categorías
    • Productos
    • Pedidos de Clientes
    • Clientes
  • aBillander para Desarrolladores
    • Configurar aBillander para diferentes Empresas o sub-Dominios
    • Plantillas PDF para documentos
    • Crear un tema personalizado
  • Traducciones
Con tecnología de GitBook
En esta página
  • Configuración por defecto (una Empresa)
  • Configuración multi-Empresa (multi-Tenant)
  • Explicación Técnica
  • Paso 1: Archivos de entorno
  • Paso 2: Cargar las variables de entorno

¿Te fue útil?

  1. aBillander para Desarrolladores

Configurar aBillander para diferentes Empresas o sub-Dominios

AnterioraBillander para DesarrolladoresSiguientePlantillas PDF para documentos

Última actualización hace 4 años

¿Te fue útil?

La instalación de aBillander por defecto es para una Empresa. Sin embargo puede configurar la aplicación para gestionar un número ilimitado de Empresas. Necesitará un subdominio y una Base de Datos para cada Empresa.

Configuración por defecto (una Empresa)

Esta configuración es la que resulta después del proceso de instalación, y generalmente no necesitará modificarla.

  • /public/.env: este fichero es necesario para que aBillander pueda iniciarse. Contiene la configuración básica de aBillander. Puede consultar las directivas de este fichero en . Hay dos directivas importantes, que han de tener los valores siguientes:

    • TENANT_ENABLED=false

    • TENANT_NAMES="localhost"

  • /storage/db_backups/localhost: esta carpeta contendrá las copias de seguridad de la Base de Datos.

  • /public/tenants/localhost: esta carpeta (y sub-carpetas) se proveen junto con el resto de ficheros de aBillander, y almacenarán contenido específico de la Empresa, como el logotipo, las imágenes de los Productos y otros. Algunas de estas sub-carpetas contienen ficheros.

Configuración multi-Empresa (multi-Tenant)

Para clarificar la operativa, supongamos que se desea crear una Empresa adicional, y acceder a ella a través del subdominio cocin.example.com. Los pasos a seguir son:

  1. Hacer que el subdominio cocin.example.com apunte a la carpeta /public.

  2. Crear una Base de Datos y cargar en ella las tablas de aBillander, por ejemplo a partir de una copia de seguridad de la Empresa principal, o a partir de la Base de Datos vacía que resulta después de la instalación de aBillander.

  3. Modificar el fichero /public/.env con:

    1. TENANT_ENABLED=true

    2. TENANT_NAMES="localhost,cocin"

  4. Crear el fichero /public/.env-cocin con las directivas específicas de la nueva Empresa (sólo las que cambian respecto al fichero /public/.env). Típicamente serán las correspondientes al subdominio, a la configuración de la Base de Datos y del Servidor de Correo saliente.

  5. Crear la carpeta /storage/db_backups/cocin: esta carpeta contendrá las copias de seguridad de la Base de Datos de la nueva Empresa.

  6. Crear la carpeta /public/tenants/cocin. El contenido de esta carpeta (sub-carpetas y ficheros) será idéntico a /public/tenants/localhost tal como se entrega en la distribución original de aBillander. En esta carpeta (y sub-carpetas) se almacenará contenido específico de la nueva Empresa.

El fichero /public/.env-cocin puede tener un contenido similar a:

Explicación Técnica

Laravel solo permite un archivo .env, así que lo que intentamos hacer es cambiar el archivo .env ANTES de que se cargue como configuraciones por Laravel.

Queremos definir los valores de entorno que son diferentes para cada sub-dominio, pero también permitir que las variables de entorno comunes se definan una vez.

Paso 1: Archivos de entorno

Los diferentes archivos env se colocarán en la carpeta raíz del proyecto, junto con el archivo .env que Laravel carga por defecto.

A continuación, asigne a cada archivo el nombre de sub-dominio que usaría para acceder a él. p.ej. .env-test, .env-dev, etc.

Dentro de cada archivo, defina los valores env que desea sobre-escribir cuando visite la aplicación a través de ese sub-dominio.

Paso 2: Cargar las variables de entorno

Lo que tenemos que hacer ahora es cargar primero las variables de entorno que corresponden al sub-dominio, y luego, cuando Laravel carga el archivo .env predeterminado, no sobrescribirá las variables ya establecidas.

Cargaremos el archivo correspondiente al sub-dominio después del “autoload”, de modo que tengamos acceso al paquete vlucas/phpdotenv, pero antes de que Laravel esté completamente cargado.

Así, en public/index.php después de la línea

require __DIR__.'/../bootstrap/autoload.php';

se ha agregado la siguiente linea

require __DIR__.'/../bootstrap/env.php';

En la carpeta bootstrap se encuentra el fichero env.php. En este fichero se encuentra la lógica para cargar el fichero de entorno correcto según la URL desde la que esté accediendo. Esta lógica puede cambiarse según necesidades.

Con estos añadidos, cualquier variable que desee sobrescribir, como la APP_URL, simplemente puede establecer en el archivo de configuración del sub-dominio.

laravel.com