Drupal 9 Multisitio con Lando y WSL2 en Windows 11

Contenidos
Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

         Desde que conocí Lando, se abrió para mi un mundo de posibilidades, que quiero compartir con todos ustedes; ya que simplifica considerablemente la configuracion de cualquier entorno local, sin la necesidad de grandes cambios, ni correr el riesgo de perder, más tiempo del necesario, cuando queremos realizar algún traspaso de archivos, o compartir las mismas confirguraciones con el resto del equipo, ya que una vez subidos los archivos al respositorio, descargarlos y arrancar el proyecto en cualquier lugar será tan fácil como prepararnos un café en la maquina de la oficina o en la de casa, ahora que trabajamos en remoto.

     Instalar un Drupal 9 Multisitio utilizando Lando en Windows 11 

        Prerequisitos

           - Tener descargado y configurado lando en tu entorno local. (Haz clic aquí para saber cómo)

           - Tener descargados los archivos Base de Drupal para la instalación con Lando. (Sigue las instrucciones de Instalar Drupal 9 en Ubuntu 20.04 hasta el Paso 1)

     Paso 1 - Configuración del archivo lando.config

        Lando funciona con un archivo de configuración, que nos permitirá arrancar diferentes servicios para que nuestra aplicación funcione correctamente. Por defecto, en una instalación Drupal 9 normal, sólo tendríamos que ejecutar el comando lando init, y se generaría este archivo de configuración, con todo lo necesario para ejecutar lando y Drupal 9 sin problemas.

        Sin embargo, en el caso de una instalación Drupal 9 Multisitio, tendremos que crear y nuestro propio archivo de configuración para lando y modificarlo de acuerdo a nuestras necesidades; por ejemplo, las urls para nuestros sub-dominios, los datos de acceso para cada base de datos, etc.

        Aunque puedes añadir otras muchas configuraciones en un proyecto de este tipo, a continuación te daré el archivo básico, con la explicación de cada apartado importante, para que puedas arrancar varios sitios Drupal 9, con Lando.

        Colócate en la carpeta donde haz descargado los archivos Base, de Drupal, que tienes explicado en el artículo de los prerrequisitos y, a continuación, crea un archivo llamado .lando.yml con el siguiente código:

name: drupal-multi
recipe: drupal9
config:
  webroot: web
  php: '8.0'
  composer_version: '2.0.7'
  via: apache
  drush: false
  xdebug: false

proxy:
  appserver:
    - main.lndo.site
    - sitio1.lndo.site
    - sitio2.lndo.site

services:
  # The database service used for the `main` site.
  database:
    type: mariadb:10.4
    portforward: true
    creds:
      user: drupal
      password: drupal
      database: main
  sitio1:
    type: mariadb
    portforward: true
    creds:
      user: sitio1
      password: sitio1
      database: sitio1
  sitio2:
      type: mariadb
      portforward: true
      creds:
        user: sitio2
        password: sitio2
        database: sitio2

     Explicación:

         En la primera parte del archivo de configuración, además del nombre del proyecto, tenemos las principales configuraciones, relacionadas con la versión de PHP, de gestor de paquetes Composer, el tipo de servidor, que en este caso es Apache, ya que Ngnix me dio varios errores y el drush y xdebug como false, pero podrás ejecutar comandos tanto de composer como de drush, usando la estructura que te contaré más adelante, ya que se trata de una instalación Drupal 9 Multisitio.

name: drupal-multi
recipe: drupal9
config:
  webroot: web
  php: '8.0'
  composer_version: '2.0.7'
  via: apache
  drush: false
  xdebug: false

     En la sección de Proxy, es donde definiremos los diferentes dominios para nuestos sitios Drupal, todos deberán terminar en " .lando.site" y el nombre principal deberá corresponder con su respectiva carpeta de instalación, tal y como sucede en una instalación Drupal 9 Multisitio tradicional. 

proxy:
  appserver:
    - main.lndo.site
    - sitio1.lndo.site
    - sitio2.lndo.site

     La última parte del archivo de configuración, es en la que definiremos todos los datos relacionados con nuestras bases de datos, recuerda que puedes confirmar toda la información, una vez arrancado lando, usando el comando de información:

lando info

     Paso 2 - Configuración del Drupal principal y los multisitios

        Llegados a este punto, antes de arrancar nuestro proyecto de Drupal, tendremos que hacer varios ajustes:

     1.- Renombrar el archivo example.sites.php y dejarlo como sites.php, luego dentro tendremos que añadir los diferentes dominios y las carpetas a las que apuntará cada uno de ellos.

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

     2.- Crear las carpetas que corresponden con los nombres de los dominios que haz declarado en el archivo de configuración. el nombre de las carpeta deberá coincidir tanto con el nombre que haz puesto en el archivo de configuración de lando, como en el sites.php de la imagen anterior.

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

     3.- Añadir archivos de configuración en los multisitios. Toda instalación de Drupal require de al menos dos archivos para su configuración, el archivo donde estarán definidos todos los datos de acceso a su base de datos, llamado settings.php y la carpeta files, donde alojará todos los archivos, imágenes, caché, etc.
Así que tendrás que copiar el modelo del archivo default.settings.php que está dentro de la carpeta sites/default y una vez dentro de cada carpeta de tus multisitios, renombrarlo a settings.php. A continuación crearás una carpeta files, dentro de cada carpeta. 

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

      Arrancando los Multisitios Drupal 9

        Ya que tenemos todos los archivos necesarios, para comenzar a instalar cada uno de nuestros Multisitios de Drupal 9, deberíamos ejecutar los siguientes comandos en este orden, para evitar sorpresas:

lando start

lando composer install

lando rebuild

lando info

     Con el comando "lando start ", nos aseguraremos de que Lando arranque correctamente, utilizando la configuración que hemos definido en el archivo de configuración .lando.yml.

     El comando "lando composer install", iniciará la descarga del resto de dependencias necesarios, para que podamos instalar nuestro Drupal, ya que dentro de los archivos nos faltarán carpetas principales como Vendor.

     El comando "lando rebuild", sirve para realizar un repaso general de la aplicación, una vez descargados los archivos con Composer, al final de la ejecución el comando nos debería mostar en pantalla, las diferentes urls disponibles para cada uno de los Multisitios.

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

     El comando "lando info", nos servirá para confirmar los datos de acceso a las bases de datos, con sus respectivos usuarios y contraseñas. 

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Una vez ejecutados todos los comandos anteriores, podremos comenzar con el proceso de instalación de cada uno de los multisitios, escribiendo el dominio correspondiente, que hemos definido en el archivo de cofiguración de lando y que confirmamos al ejecutar el comando "lando info".

     Recuerda, que en el caso de instalar Drupal 9 utilizando Lando, deberás cambiar el localhost del servidor de base de datos, por el que aparece en la consola.

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony

Drupal Lando Multisite | www.drupaladicto.com - Consultor especializado en drupal y symfony
Categoría