lando
Drupal 8 | Instalación con Lando

Next.js | Instalación con Lando

Next | Módulo Drupal

Drupal Commerce | Instalación con Lando

Instalar Drupal 9 en Ubuntu 20.04 con Lando y WSL2 en Windows 11
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
Con la llegada de Docker, se cambió por completo la forma en que podíamos configurar entornos de desarrollo para nuestros proyectos web; ya que el uso de contenedores, permite crear entornos a medida, que podremos compartir entre los miembros de cualquier equipo, asegurándonos de evitar errores de compatibilidad entre los sistemas operativos de cada uno o el típico cambio de version en los diferentes lenguajes.
Qué es Lando
Aunque el concepto de "Dockerizar" nuestros entornos vino para facilitarnos la vida a los desarrolladores, la verdad es que entender su configuración y aplicación, puede llegar a ser un poco más complicada de lo que parece, sobretodo para los que venimos de trabajar con soluciones "todo en uno" del tipo Xampp, Wamp o Mamp.
Es por esta razón que poco a poco han ido surgiendo plataformas, como Lando, basadas en el uso de Docker y sus contenedores, que nos permitirá una instalación sencilla, para que podamos poner en marcha nuestros proyectos rápidamente y sin complicaciones.
Prerrequisitos para instalar Lando con WSL2
- Tener instalado y configurado el WSL2 ( Aprende cómo hacerlo aquí )
- Tener instalado y configurado el Docker Desktop for Windows ( NO INSTALAR DOCKER DENTRO DEL WSL2 ) - Página Oficial de Docker
Cómo instalar Lando en Ubuntu 20.04 utilizando WSL2 en Windows 11
Como ya es costumbre, hemos creado un usuario "NOROOT", para ejecutar nuestros comandos SUDO, sin riesgos de cargarnos nada por error dentro de nuestra distribución de Ubuntu 20.04. Si todavía no sabes cómo Haz Clic aqui. Una vez iniciada la sesión con nuestro usuario ejecutaremos los siguientes comandos para realizar la instalación de Lando.
sudo wget https://files.lando.dev/installer/lando-x64-stable.deb
sudo dpkg -i lando-x64-stable.deb
Corrección de errores durante la instalación:

Instalar Docker-CE es uno de los requisitos para que Lando funcione correctamente, para saber cómo descargarlo e instalarlo en WSL2 Haz clic aquí
Es posible que tengas algún error durante el proceso de instalación relacionado con los permisos de instalación, para solucionarlo Haz clic aquí
Cómo instalar Drupal 9 utilizando Lando en Ubuntu con WSL2 y Windows 11
Una vez hemos descargados y configurados los prerrequisitos, para continuar con nuestra instalación de Drupal, tenemos que aclarar un para de puntos, para que entendamos el porqué procederemos de esta manera.
Si hacemos una búsqueda rápida de Cómo instalar Drupal 9 usando Composer, encontraremos un enlace a al Página Oficial de Drupal, donde nos recomienda que para hacerlo tendremos que emplear el gestor de paquetes Composer, para facilitar la descarga de todas las dependencias, así como para facilitar las actualziaciones tanto de Núcleo de Drupal, como de sus respectivos módulos.

El problema radica en que Composer tiene como dependencia el uso de PHP, y el propósito de utilizar Docker, es para que no tengamos la necesidad de instalar nada directamente en nuestros ordenadores. En nuestra distribución de Ubuntu 20.04 que hemos configurado con WSL2 no queremos instalar nada más que lo necesario.
Si vamos a la Página Oficial de Lando, donde nos explica los pasos para realizar una instalación de Drupal 9, veremos que en su propuesta nos habla de ejecutar varios comandos, entre los que destaca la descarga de un archivo comprimido de Drupal 9, pero esto entra en conflicto con la recomendación que vimos anteriorente de utilizar Composer como parte del proceso de instalación para Drupal.

Por suerte, dentro de los comandos disponibles en Lando está los que utilizan Composer, así que existe una forma de combinar ambas maneras y solucionar el conflicto.

Solución
Para poder realizar una instalación de nuestro proyecto Drupal 9, siguiendo las recomendaciones desde su página oficial y a la vez, beneficiarnos del uso correcto de Lando, sin tener que instalar nada fuera de los contenedores, tendremos que seguir los siguientes pasos:
Paso 1 - Descargar una distribución de Drupal con todo lo necesario
Vamos a descargar una instalación de Drupal 9, que cumpla con la estructura necesaria para que podamos realizar su instalación, ejecutando, una vez descargados los archivos, los comandos de Composer, desde dentro de los contenedores de Lando. Haz clic aquí para descargar el Drupal 9
O si lo prefieres, puedes clonar el repositorio directamente con este comando y además descargará todos los archivos dentro de la carpeta con el nombre drupal-gatsby:
git clone https://github.com/drupal-composer/drupal-project.git/ drupal-gatsby

Paso 2 - Descomprimir los archivos e iniciar el Lando
Una vez iniciemos sesión con nuestro usuario "NOROOT", colocaremos los archivos descargados y descomprimidos en esta ruta
/home/username/projects/yourproject
A continuación nos moveremos dentro de la carpeta y luego ejecutaremos el comando de inicia Lando
lando init
Esto creará el archivo de configuración de Lando llamado " .lando.yml ", que es donde podremos realizar cualquier cambio relacionado con la versión de PHP, servidores NGINX o Apache, Proxy, entre otras opciones.
Una vez ejecutado el comando, se nos irán presenando varias preguntas para realizar las respectivas modificaciones antes de arrancar Lando, en la primera de ella tendremos que especificar el lugar donde tenemos alojado nuestro codigo, ya que estamos dentro de la carpeta con nuestro Drupal 9, seleccionaremos la primera opción.

La siguiente pregunta está relacionada directamente con la versión del proyecto, en este caso, como queremos arrancar un Drupal 9, moveremos las flechas del teclado hasta encontrarla y luego haremos clic en ENTER.

En la siguiente pregunta tendremos que especificar la ubicación de nuestro archivo "webroot" o principal de Drupal; aunque todavía no existe, ya sabemos que al realizar una instalación de Drupal con Composer, estos archivos se colocarán dentro de la carpeta "web", así que especificaremos este nombre.

A continuación tendremos que especificar el nombre para nuestra Aplicación, de esta forma, Lando podrá generar el identificador específico. Podremos poner el mismo que en nuestra carpeta o cualquier otro.

ERROR DE PERMISOS
Con el anterior comando, en nuestro caso, necesitaremos otorgarle permisos de escritura a la carpeta, para poder crear la configuración necesaria o de lo contrario nos devolverá el siguiente errror.


Si estás utilizando el usuario NOROOT, tendrás que darle permisos a Docker desde tu usuario ROOT, Haz clic aqui para saber cómo
Una vez hayamos modificado los permisos de la carpeta, podremos ejecutar nuevamente el comando Lando init y completar el proceso de configuración para nuestro proyecto.

Cómo arrancar nuestro proyecto con Lando
Llegados a este punto, ya nos falta muy poco para poder comenzar a trabajar con nuestro Drupal, RECORDEMOS QUE NOS FALTAN ARCHIVOS POR GENERAR, pero antes de esto, vamos a ejecutar el siguiente comando para arrancar Lando.
lando start
Con esta acción, Lando comenzará el proceso de creació y configuración de los contenedores para nuestro proyecto, tomando los datos que definimos en los pasos anteriores. Además ya tendremos la posibilidad de comenzar a ejecutar los comandos de Lando disponibles, para completar las tareas que nos falten, como la de generar los archivos de Drupal 9 por medio de Composer.

Una vez ejecutado el comando anterior, veremos que se han generados varios contenenedores, además de algunos datos relacionados con nuestro proyecto, coo por ejemplo los enlaces para acceder a nuestro dominio.
El problema en este momento, es que si intentáramos acceder a cualquiera de estas urls, el resultado será Página No Encontrada, ya que todavía tendremos que completar los archivos de Drupal necesarios para que este funcione.
Como vimos al principio del artículo, podremos ejecutar el siguiente comando disponible en lando, para que se descarguen todos los archivos que nos hacen falta.
lando composer install
Y de inmediato comenzarán a descargarse todos los archivos definidos en el composer.json, dentro del Drupal.

Si ahora ejecutamos nuevamente el comando " lando start " podremos comprobar que accederemos a nuestro drupal sin ningún error.


Cómo puedo saber los datos de mis servidores (Base de datos, versión de Nginx, etc)
Si has llegado a este paso sin complicaciones, lo siguiente que necesitarás serán los datos de acceso para decirle a Drupal el nombre de la base de datos, usuario, etc. esto podrás optenerlo con el comando siguiente
lando info
Con esto podrás comprobar todas las informaciones relacionadas que necesitarás para continuar con tu instalación de Drupal 9. Como la versión de PHP, los nombre de los Host (Atención al host database para tu instalación en lugar de localhost)

Al instalar Drupal, por defecto nos coloca "localhost", como nombre del servidor, en este caso, tendremos que modificarlo por el nombre generado por Lando para que podamos continuar con dicha instalación.

Cómo modificar la configuración por defecto de Lando
Si estamos trabajando con un proyecto Drupal 9 desde cero, todo lo anterior nos viene de maravilla, ya que por defecto contamos con lo necesario para configurar, arrancar o incluso ampliar nuestro Drupal 9 descargando y activando nuevo módulos. Pero ¿qué pasa si en lugar de un proyecto nuevo, es un proyecto que ya existe y que nos acaban de adjudicar?, ¿podremos modificar la configuración por defecto, para adaptar la versión de PHP, o activar xdebug?
Es posible modificar cualquier configuración por defecto de Lando, gracias al archivo " .lando.yml ", que se genera al ejecutar el comando de inicialización lando init.
Sólo tendremos que abrir nuestro proyecto con el IDE que prefieras y buscarlo, para editarlo. Sólo ten en cuenta, que al tratarse de un archivo con la extensión ".yml", es muy importante guardar los espacios adecuados para que todo funcione de manera correcta.
En la siguiente imagen, he modificado la versión del PHP a "5.6" en lugar de "7.4" que se descargó por defecto.

Para que los cambios se realicen, será necesario detener y volver a arrancar lando con los comandos
lando stop lando start
Una vez arrancado lando nuevamente, si ejecutamos el comando lando info, podremos comprobar que, efectivamente, se ha realizado la modificacion en la versión de PHP que venía por defecto.

Si quieres saber otro comando que ofrece Lando, por ejemplo, para acceder a tus bases de datos, puedes ejecutar el siguiente comando
lando
Commandos: lando composer Ejecuta comando de composer lando config Muestra la configuración de lando lando db-export [file] Exporta base de datos hacia un archivo lando db-import <file> Importa un archivo dump dentro de un servicio de base de datos lando destroy Destruye tu aplicación lando drush Ejecuta comandos de drush lando info Imprime en pantalla información de tu aplicación lando init Inicializa el código con lando lando list Muestra el listado de contenedores ejecutándose lando logs Despliega logs para tu aplicación lando mysql Drops into a MySQL shell on a database service lando php Ejecuta comandos PHP lando poweroff Spins down all lando related containers lando rebuild Reconstruye tu aplicación desde el principio, manteniendo los datos lando restart Restaura tu aplicación lando share Comparte tu entorno local lando ssh Drops into a shell on a service, runs commands lando start Arranca tu aplicación lando stop Detiene tu aplicación lando version Muestra la versión de lando
Drupal 9 Multisitio con Lando y WSL2 en Windows 11
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:
- 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.
- 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.
- 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.
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.

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

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.


Categoría
Cómo ejecutar Docker-CE en WSL2 - Running Docker-CE in WSL2
Cuando trabajamos con Lando, utilizando el Subsitema de Windows (WSL2), uno de los requerimientos que nos encontraremos es el de instalar el Docker-CE, como parte del proceso.
Para evitar econtrarnos con el error durante la instalación de Lando, vamos a descargar y activar Docker-CE antes de proceder con la instalación de Lando.
The metadata storage is not up to date, please run the sync-metadata-storage command to fix this issue
A partir de la versión 5 de Symfony, cuando utilizamos el motor de base de datos con MariaDB, nos encontraremos con un error de actualización de datos, generalemente después de ejecutar los comandos para generar las entidades (console make:entity / console doctrine:migrations:migrate). Para corregir el error sigue los siguientes pasos.