instalacion

Drupal 9 | Copias de seguridad

Texto

Cuatro maneras para realizar una copia de tu base de datos Drupal

        Antes de realizar cualquier tipo de actualización en tu proyecto de Drupal, es altamente recomendable, sacar una copia de tu base de datos actual, para evitar posibles pérdidas de información durante el proceso. Tienes varias opciones para extraer esta copia de la base de datos.

  • Copia de la base de datos utilizando Drush.

       Para exportar la base de datos de tu proyecto Drupal, utilizando Drush, colócate en la carpeta raiz de tu proyecto, usando tu consola de comandos y a continuación, ejecuta el siguiente comando, sustituyendo el final, por el nombre que quieres para identificar tu copia de seguridad:

    drush sql:dump --result-file=../mi_backup.sql 

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony
  • Copia de la base de datos desde la interfaz PhpMyAdmin.

    Si tienes activado el administrador de Base de datos PhpMyAdmin, puedes exportar tu base de datos, a través de su interfaz. Para ello, sólo tienes que acceder a PhpMyAdmin, y a continuación seleccionar la base de datos que necesitas exportar; luego seleccionas el botón exportar, desde el menú superior de PhpMyAdmin y haces clic en continuar.

    El resultado será un archivo con la extensión .sql, que se descargará automáticamente.

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony
  • Exportar la base de datos utilizando la línea de comandos MySql.

     Para extraeer una copia de tu base de datos, a través de los comandos MySql, deberás ejecutar la siguiente línea, sustituyendo los datos del usuario root, y tu bases de datos y el archivo.sql resultante.

mysqldump -u usuario -p base_de_datos > archivo.sql

 

  • Exportar una copia de la base de datos, usando el módulo Backup and Migrate.

     Otra forma que nos ofrece Drupal, para exportar una copia de la base de datos, será a través del módulo Backup and Migrate, con el que podremos descargar, a través de la interfaz de Drupal, una copia completa de nuestro sitio web, en formato comprimido, que podremos importar en el entorno local o cualquier otro entorno que necesitemos.

     Si quieres aprender a configurar y utilizar el Módulo Backup and Migrate HAZ CLIC AQUI

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

Drupal Update | Actualizar Drupal usando Composer y Drush

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

Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush

     Si utilizas Drupal en tus proyectos, es casi seguro que te habrás encontrado con la necesidad de actualizarlo, ya sea para corregir fallos de seguridad, para implementar las mejoras en el código de algún módulo, o para obtener la versión más reciente de su núcleo.

     Por esta razón, en este curso, te enseñaré los pasos que deberías tener en cuenta, en caso de tener que realizar una actualización de tus proyectos Drupal.

   Requisitos:

  1. Tener configurado un entorno local, donde puedas poner en marcha tu proyecto Drupal.

    Si no sabes instalar un entorno local, HAZ CLIC AQUÍ
     
  2. Capacidad para ejecutar comandos de Composer y Drush en tu consola

            Si no tienes Composer instalado, HAZ CLIC AQUI


   Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush


     Paso 1 - Sacar una copia de la base de datos.

        Antes de realizar cualquier tipo de actualización en tus proyectos, es recomendable que hagan una copia de seguiridad, para evitar pérdidas de información durante el proceso, o para volver a la versión anterior, en caso de que no consigas el resultado esperado con la actualización de tus proyectos.

     Para saber cómo hacerlo HAZ CLIC AQUI

     Paso 2 - Verificar los módulos que necesitarán sera actualizados y la razón.

       Es muy recomendable revisar constantemente, el estado de tus proyectos, porque constantemente en Drupal, se añaden nuevas funcionalidades y optimizaciones en el código, y muchas de estas mejoras, están relacionadas con la corrección de fallos de seguridad. Por esta razón, es de vital importancia, que mantengas actualizados tus proyectos con Drupal, siempre que sea posible.

       Para conocer las actualizaciones pendientes en tus proyectos Drupal, puedes elegir entre dos opciones básicas.

     Informe de actualizaciones pendientes, através de la interfaz de Drupal.

       Puedes acceder al informe sobre las actualizaciones pendientes de Drupal, desde la interfaz de usuario, en la url

"/admin/reports/updates"

   

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

     Comprobar actualizaciones pendientes mediante consola.

       Otra de las maneras de comprobar los módulos que necesitas actualizar en Drupal, es a través de la consola, gracias al gestor de paquetes Composer, recomendado para cualquier instalación de proyectos Drupal, desde la versión 8.

       En el caso de conocer las actualizaciones pendientes en nuestros proyectos Drupal, nos colocaremos en la carpeta raíz, que es el lugar desde donde podremos ejecutar, en la mayoría de los casos, tanto Composer como Drush. 

        Una vez colocados allí, utilizando nuestra consola de comandos, ejectaremos la siguiente línea de código:

composer outdated

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

     Tanto si realizamos la comprobación, por medio de la interfaz de Drupal, como si decidimos realizarlo por medio de la consola de comandos, el restultado debería ser el mismo; es decir, deberíamos obtener el listado de módulos pendientes de actualizar, con las versiones instaladas en el momento de realizar la comprobación, las posibles versiones recomendadas y las notas relacionadas con dichas nuevas versiones, en el caso específico de hacerlo mediante la interfaz de usuario.

     Pero si analizamos en profundidad ambos resultados, el informe resultante desde la consola, es mucho más extenso que el de la interfaz. Esto se debe, a que, además de los módulos de Drupal que requieren actualizarse, Composer nos muestras módulos de Symfony, ya que el núcleo de Drupal está basado en este Framework desde la versión 8.

   Cómo actualizar Drupal por medio de la consola

     Si optamos por actualizar nuestro proyecto de Drupal, por medio de su interfaz de usaurio, el proceso es bastante sencillo. Aunque desde la interfaz, sólo podremos realizar actualizaciones de los módulos, no del núcleo de Drupal.

     Para realizar una actualización de los módulos de Drupal, desde la interfaz, bastará con dirigrinos a la url: "/admin/reports/updates/update" , luego marcaremos el o los módulos que queremos actualizar, haciendo clic en el check que se muestra a la izquierda de cada módulo, y a continuación, haremos clic en el botón Descargar estas actualizaciones, que podremos encontrar la final de la misma página.

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

   Actualización mediante consola, utilizando Composer

     Para realizar la actualización de nuestro proyecto Drupal, a través de la consola, utilizaremos Composer y Drush. Composer se encargará de descargar todas las dependencias disponibles, tanto de módulos de Drupal y Núcleo, como de otros componentes relacionados con Symfony. Por esta razón, es recomendable elegir este método de actualización, ya que nos mostrará más información relacionada con todo el proceso y componentes que está actualizando durante el proceso.

     El comando para actualizar todos los módulos de Drupal y su Núcleo al mismo tiempo es el siguiente:

composer update "drupal/*" -W

     El asterísco que se muestra en la barra después de la palabra Drupal, indica que deseamos actualizar todo lo que esté disponible en este momento y la -W, es el sustitutivo para la opción "--with-all-dependencies", aunque puedes utilizarla si lo prefieres. 

     Una vez terminada la descarga de todos los módulos, ejecutaremos los comando de Drush, para borrar la cache de drupal y actualizar la base de datos.

drush cr

drush updb

     En el momento que ejecutemos los comando de Drush, podremos acceder nuevamente a la url "/admin/reports/updates", donde deberíamos ver todos los módulos y el núcleo en color VERDE, indicándonos que no tenemos ninguna actualización pendiente.

Drupal 9 Multisitio con Lando y WSL2 en Windows 11

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

Multisite con Drupal 9 | Configuración

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

     Consideraciones antes de instalar un Multisite Drupal 9

          En algunos proyectos web, se hace necesario la implementación de un sistema ágil y rápido, para que se puedan realizar actualizaciones, nuevas implementaciones o mejoras en el código, invirtiendo en ello el menor tiempo posible y sin la necesidad de un gran número de personas para dichas tareas. Por ejemplo, para un grupo de empresas, o en el caso de tener varias webs con las mismas funcionalidades, pero destinadas a distintos públicos.

        Una alternativa disponible en Drupal, es la posibilidad de usar la instalación Multisite, (Múltiples sitos compartiendo el mismo núcleo), esto signfica, que una vez realizadas las configuraciones principales, cada vez que se vaya a instalar un nuevo sito web, se requerirá de un mínimo de pasos, para obtener un resultado idéntico, o también disponer de una base de partida, para desarrollar nuevas funcionalidades específicas de ese sitio en concreto.

      Pros y Contras de una instalación Multisite Drupal 9

          Antes de optar por este tipo de instalación en un proyecto Drupal, es necesario que entiendas algunos puntos relacionados, en la mayoría de los casos, con las actualizaciones y nuevas implementaciones.

        Pros:

           - La instalación principal será la que controle todo el resto de webs, esto significa que todos los módulos y/o themes, podrán estar disponibles y activarse o no, según las necesidades individuales de cada sitio.

          - Algunas actualizaciones de módulos o themes, podrán realizarse con la ejecución de unos pocos comandos, para todos los sitios al mismo tiempo.

          - Podrás utlizar base de datos o un perfil de instalación, que sirva de base automáticamente para los nuevos sitios.

          - Ahorrarás espacio de disco, ya que todos los sitios comparten el mismo número de archivos del core de Drupal.

        - Todos los sitios comparten un dominio principal, por lo que, durante el desarrollo se utilizan subdominios de este, ej.: sitio1.midominio.com, sitio2.midominio.com; facilitando la instalación y configuración durante el desarrollo, luego cada uno podrá tener su propio Dominio independiente.

       Contras:

         - Al realizar actualizaciones del núcleo o de los módulos, deberás ejecutar comandos de borrado de Caché y Actualización para todos los sitios.

        - Si se crea e instala un módulo personalizado con errores, podría afectar al resto de sitios.

     Pasos para realizar una instalación Multisite Drupal 9

       Paso 1 - Descarga de los archivos de Drupal 9

           Antes de comenzar con el resto de configuraciones, lo primero que necesitarás hacer, al igual que con cualquier otra instalación de Drupal, será descargar los archivos correspodientes, utilizando el gestor de paquetes Composer. Aprende como instalar Drupal usando composer aquí.

       Paso 2 - Configuración de los dominios para cada sitio

          Para indicarle a Drupal, dónde deberá realizar la instalación de cada sitio, una vez descargados los archivos correspondientes, y configurado el servidor Apache, con cada uno de los dominios relacionados, puedes aprender cómo configurar dominios en Apache aquí, la única diferencia con relación a si realizáramos una instalación normal, en lugar de una multisite, es que en cada uno de los archivos de los dominios, el Document root deberá ser exactamente igual.

                # Web root
                DocumentRoot /var/www/multisite/web

 

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

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

        Paso 3 - Configuración del archivo sites.php de Drupal

           Tendremos que realizar algunos cambios dentro del Drupal; el primero de ellos será renombrar el archivo example.sites.php, ubicado dentro de la carpeta 'web/sites' y dejarlo como sites.php.

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

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

        A continuación deberíamos copiar el modelo que nos trae este archivo, para indicar en cada uno de los casos, el dominio correspondiente a cada una de las carpetas donde queremos realizar las instalaciones.

        El resultado final será algo parecido a las líneas que aprecen bajo la siguiente imagen, por cada uno de los dominios y sitios que estemos instalando. La primera parte indica el nombre del dominio y la segunda, el nombre de la carpeta a la que apuntará dicho dominio, una vez ejecutemos el instalador de Drupal.

Multisite Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony
$sites['sitio1.midominio.com'] = 'sitio1';
$sites['sitio2.midominio.com'] = 'sitio2';

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

     Paso 4 - Crear y configurar Bases de datos y usuarios para cada sitio

        Como habrás imáginado, se recomienda que cada una de las instalaciones, deberá tener una base de datos individual, con su respectivo usuario administrador específico, para evitar fallos de todo tipo, que podrían repercutir en el resto de sitios, provocándonos grandes dolores de cabeza. Una vez crada la base de datos, podremos comenzar con la instalación de cualquiera de los sitios. Puedes aprender a crear usuario y bases de datos aquí 

     Paso 5 - Copia y creación de Settings.php y Files

        Existe un último paso antes de comenzar con nuestras instalaciones de Drupal Multisitio, para cada uno de ellos drupal necesitará encontrar el archivo "settings.php", donde guardará las configuraciones relacionadas con la conexión a la base de datos, archivos de configuración, temporales, privados, etc. y por otro lado la carpeta "files", donde guardará todos los archivos relacionados con imágens, css, javascript, entre otros.

        Por esta razón, antes de ejecutar el instalador para el primero de nuestros dominios, copiaremos y renombraremos el archivo default.settings.php, dejándolo como settings.php dentro de cada una de las carpetas correspondientes a cada sitio que instalaremos y, a continuación, también en cada una de ellas, crearemos una carpeta files.

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

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

        Paso 6 - Acceder al navegador y accionar el instalador

          De aquí en adelante, no hay nada nuevo, por cada una de las webs que quieras instalar, escribirás en el navegador el dominio correspondiente y a continuación, una vez activado el instalador de Drupal, lo único que tendrás que hacer es clic en siguiente hasta finalizar el proceso y repetir los pasos por cada uno de tus sitios.

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

    Comandos para realizar cambios en tu Multisite Drupal 9

             Como hemos utlizado Composer para descargar todos los archivos necesarios de nuestras instalaciones, además de contar con Drush, como parte de las herramientas que podremos emplear, significa que ambas opciones estarán disponibles para cada uno de nuestros sitios, sólo habrá que tener en cuenta unos pequeños cambios en su ejecución:

            Para comprobar los módulos o el núcleo desactualizado

composer outdated drupal/*

          Para ejecutar la actualización de todos los módulos y el core

composer update drupal/*

          Para descargar módulos

composer require drupal/MIMODULO

          Para activarlo en un sitio específico

drush en drupal/MIMODULO --uri=sitio1.midominio.com

          Para borrar la caché de un sitio específico

drush cr --uri=sitio1.midominio.com

          Para actualizar la base de datos en un sitio específico

drush updb --uri=sitio1.midominio.com

Añadir librerías y animaciones en Subtheme en Drupal 9

Video de Youtube
URL de Video remoto

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

     Lo mejor de todo proyecto es revisar los detalles, corregir fallos e implementar nuevas opciones, que lo hagan más atractivo a nuestros usuarios y/o clientes, por eso, en este pequeño artículo, te voy a enseñar cómo activar las librerías que permitirán aplicar animaciones, dentro de nuestro subtema de Drupal,  para que puedas aplicar efectos visuales que llevarán tus trabajos a otro nivel de cara a tus usuarios.

     Cómo añadir animaciones con css en tema personalizado

          Lo primero que debes tener en cuenta, es que las librerías en Drupal 9 se podrán añadir dentro de la carpeta libraries, para que estén accesibles desde cualquier lugar del proyecto, pero también podrían ser añadidas, como haré en este ejemplo, directamente en los archivos correspondientes que forman la estructura de nuestro tema, esto facilitará la aplicación del mismo subtheme en otros proyectos, así como la corrección de posibles fallos o mejoras, relacionadas directamente con la apariencia de nuestro proyecto.

         Puedes revisar la guía paso a paso, para poder implementar animaciones dentro de un Subtheme, está en este enlace: Cómo añadir animaciones con css en tema personalizado, o si lo prefieres, puedes ver el video desde el botón que está en la parte inferior de este articulo.