Pasar al contenido principal

envirotment

Cómo instalar Drupal 9 usando Docker en Windows 10 Home 3ra Parte

  • URL de Video remoto
Aprende a configurar un entorno local usando Ddev y Docker con WSL2

Ahora que ya hemos aplicado todos los pasos descritos en la primera parte de este artículo Cómo instalar Drupal 9 usando Docker en Windows 10 Home,  y que además tenemos instalados y configurados los principales requisitos para que podamos poner en marcha nuestro Drupal utilizando Docker, tal y como está descrito en la segunda parte de este artículo, ha llegado el momento de pasar a la siguiente fase; así que sin más tiempo que perder comenzaremos con nuestra instalación final.

Cómo ya tenemos todo lo necesario para trabajar con Docker en nuestro ordenador, eres libre de elegir entre todos los métodos disponibles para aplicarlos en tus proyectos, pero yo he optado por la manera más sencilla y fácil de entender, ya que mi verdadero propósito es que puedas concentrarte en Drupal, en lugar de tratar de explicarte a fondo cómo funcionan los Contenedores de Docker, el Dockerfile o el Docker Compose, aunque si te apetece explorar puedes visitar la página oficial de Drupal donde podrás ver varias de las opciones disponibles y aplicar la que creas más conveniente.

 

Pasos para instalar Drupal 9 en tu servidor local usando Docker y DDEV
 

Paso 1: Instalar DDEV en nuestro Linux

    " DDEV es una herramienta de código abierto que simplifica enormemente la puesta en funcionamiento de entornos de desarrollo PHP locales en cuestión de minutos. Es potente y flexible como resultado de sus configuraciones de entorno por proyecto, que se pueden ampliar, controlar la versión y compartir. En resumen, DDEV tiene como objetivo permitir que los equipos de desarrollo utilicen Docker en su flujo de trabajo sin las complejidades de la configuración a medida".

DDEV incluye plantillas para WordPressLaravelMagentoTYPO3Drupal y mucho más.

En mi caso voy a utilizar la Terminal de Windows, con la pestaña de mi Ubuntu abierta para realizar todo el proceso, si todavía no la has instalado, te recomiendo hacerlo, porque te facilitará mucho el desarrollo de cualquier proyecto, ya que ahora podrás ejecutar comandos tanto de Windows como de Linux, dependiendo de tus necesidades.

En una distribución de Linux, podremos instalar DDEV usando Homebrew para Linux o usando la secuencia de comandos de instalación oficial. Como en este ejemplo hemos instalado Ubuntu, lo primero que tendríamos que hacer es actualizar la lista de paquetes en el administrador de paquetes apt (puede usar apt en Debian, de lo contrario utilice el administrador de paquetes equivalente asociado con su distribución Linux):

sudo apt update 

A continuación instalaremos algunos paquetes previos desde el repositorio oficial de Ubuntu:

sudo apt install build-essential apt-transport-https ca-certificates software-properties-common curl

Estos paquetes le permitirán descargar la secuencia de comandos de instalación de DDEV desde su repositorio oficial GitHub.

Y entonces podremos descargar la secuencia de comandos para la instalación de DDEV:

curl -O https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh

Antes de ejecutar la secuencia de comandos del archivo "install_ddev.sh", ábrelo con el notepad++ o el editor de texto que prefieras e inspecciona su contenido.

Después de haber revisado el contenido de la secuencia de comandos y estés satisfecho, guarda y cierra el archivo. Ahora está listo para ejecutar la secuencia de comandos de instalación.

Utiliza el comando chmod para hacer que la secuencia de comandos sea ejecutable:

chmod +x install_ddev.sh

Y Ahora sí podrás ejecutar la secuencia de comandos:

./install_ddev.sh

Es muy probable que durante el proceso de instalación te pida que confirmes algunos ajustes o que introduzcas tu contraseña sudo. Una vez completada la instalación, tendrás DDEV disponible en su sistema operativo Linux.

Puedes saber la versión que haz instalado ddev version ejecutando lo siguiente:

ddev version

Entonces verás en tu consola un resultado parecido a esto:

ddev version

DDEV incluye una potente CLI o interfaz de línea de comandos. Si ejecutas ddev sin nada más podrás aprender sobre estos comandos comunes:

Verá lo siguiente:

comandos ddev

Para obtener más información sobre cómo usar la CLI de DDEV, visita la documentación oficial de DDEV.

Con DDEV instalado en tu equipo local, ahora estás listo para instalar Drupal 9 y comenzar a desarrollar un sitio web.

 

Paso 2: Implementando un nuevo sitio Drupal 9 usando DDEV

Con DDEV en ejecución, ahora lo usaremos para crear un sistema de archivos de Drupal específicos para nuestro proyecto, instalaremos Drupal 9 e iniciaremos un proyecto de sitio web estándar.

Primero, crearemos un directorio raíz para nuestro proyecto y luego entraremos en él. A continuación ejecutaremos todos los comandos siguientes desde esta ubicación. Para este ejemplo voy a nombrar mi directorio como drupaladicto9, pero puedes el nombre que quieras a tu directorio. Evita el uso de guiones medios para la nomenclatura, ya que podría generar errores de ejecución. Evita usar nombres como "mi-proyecto" o "sitio-drupal-1".

Crea el directorio raíz para tu proyecto y a continuación entra en él:

mkdir drupaladicto9
cd drupaladicto9

DDEV sobresale a la hora de crear árboles de directorio que coinciden con plataformas CMS específicas. Si ejecutas el comando ddev config podrás crear una estructura de directorio específica para Drupal 9:

ddev config --project-type=drupal9 --docroot=web --create-docroot

Verás un resultado similar a este:

Como al ejecutar el comando ddev config pasamos como parámetro --project-type=drupal9, DDEV creó varios subdirectorios y archivos que representan la organización predeterminada para un sitio web Drupal. El árbol de directorio de su proyecto ahora tendrá este aspecto:

estructura de archivos

.ddev/ será la carpeta principal para la configuración ddev. web/ será el docroot o directorio raíz para nuestro proyecto drupal; y contendrá varios archivos de configuración específicos. Por lo tanto, en este momento tendremos todos los archivos que servirán de base para arrancar nuestro servidor local funcionando con Docker. 

El siguiente paso será arrancar el ddev, que creará los contenedores necesarios y las configuraciones de red. DDEV vincula los puertos 80 y 443, por lo que, si estamos ejecutando un servidor web como Apache, o cualquier otra aplicación que utilice esos puertos, tendremos que detenernos antes de continuar.

Utilice el comando ddev start para iniciar su plataforma:

ddev start

Esto creará todos los contenedores basados en Docker para tu proyecto, lo que incluye un contenedor web, un contenedor de base de datos y phpmyadmin. Cuando la inicialización esté completa, verás un resultado similar a este (el número de su puerto podría ser diferente):

ddev start

ddev start ha creado correctamente sus contenedores y nos ha dado un resultado con dos URL. Aunque este resultado dice que “puede llegar a su proyecto en http://drupaladicto9.ddev.site y http://127.0.0.1:32773, si visitamos estas URL ahora provocará un error. Debido a los cambios en la estructura de archivos de Drupal a partir de la versión 8, primero tendremos que terminar de instalar Drupal usando Composer, el administrador de paquetes para proyectos PHP antes de cargar nada en nuestro navegador web.

Una de las funciones más útiles de DDEV es que podremos pasar comandos Composer a través de la CLI de DDEV y en tu entorno en contenedores. Esto significa que podremos separar la configuración específica de nuestro equipo mientras nuestro entorno sea el de desarrollo. Ya no tendremos que administrar los diversos problemas de ruta de archivo, dependencias y versión que generalmente acompañan al desarrollo PHP local. Además, podremos cambiar de contexto rápidamente entre múltiples proyectos usando diferentes marcos y pilas tecnologías con un esfuerzo mínimo.

Si ahora mismo abrimos el explorador de archivos y buscamos dentro de la carpeta "drupaladicto9/web", veremos que sólo hay una carpeta sites dentro, por lo que nos faltarán todo el resto de carpetas y archivos con lo que funciona Drupal para que podamos arrancarlo:

dentro de web

Es por esta razón que ejecutaremos el comando ddev composer para descargar drupal/recommended-project. Esto descargará el núcleo de Drupal, sus bibliotecas y otros recursos relacionados y, luego, creará un proyecto predeterminado:

ddev composer create "drupal/recommended-project"

Veremos un mensaje en la consola avisándonos que a continuación se iniciará el proceso de descargas de todos los archivos necesarios para Drupal y tendremos que confirmar con un "Y" o "yes" para que empiecen a descargarse todos los archivos, el proceso tartar sólo un momento, dependiendo de la velocidad de conexión a internet que tienes.

descargando archivos

Una vez terminado el proceso de descarga, si volvemos a la carpeta "drupaladicto9/web" con el explorador de archivos, podremos comprobar que esta vez sí tendremos todos los archivos necesarios para continuar con la instalación:

archivos descargados

Ahora descargaremos un componente final llamado Drush, o Drupal Shell. Esta vez solo usaremos un comando drush, y contaremos con una alternativa, pero drush es una CLI potente para el desarrollo de Drupal que puede mejorar su eficiencia y ahorrarnos mucho tiempo durante el proceso de desarrollo.

Ejecuta el comando ddev-composer para instalar drush:

ddev composer require "drush/drush"

Por fin, ya se ha creado un proyecto Drupal 9 predeterminado y hemos instalado drush. Así que si abrimos el navegador con la url que vimos cuando ejecutamos ddev start podremos ver el instalador de drupal.

Paso 3: Configurar su proyecto Drupal 9

Ahora que instaló Drupal 9 puede visitar su nuevo proyecto en su navegador. Para hacer esto, puede volver a ejecutar ddev start y copiar una de las dos URL que produce, o puede usar el siguiente comando, que abrirá su sitio automáticamente en una nueva ventana del navegador.

ddev launch

Encontrará el asistente estándar de instalación de Drupal.

Aquí tienes dos opciones. Puedes usar esta UI y seguir el asistente durante la instalación, o puedes volver a la terminal y pasar un comando drush a través de ddev. Si decides utilizar la consola se automatizará el proceso de instalación y establecerá admin como tu nombre de usuario y contraseña.

Opción 1: Con el asistente de instalación de Drupal

Vuelve al asistente en tu navegador. Bajo Choose language (Seleccionar idioma), seleccione un idioma en el menú desplegable y haz clic en Save and continue (Guardar y continuar). Luego selecciona un perfil de instalación. Puede elegir entre Standard (Estándar), Minimal (Mínima) y Demo. Selecciona la opción que quieras y haz clic en Save and continue (Guardar y continuar). Drupal verificará automáticamente sus requisitos, configurará una base de datos e instalará tu sitio. Tu último paso es personalizar algunas configuraciones. Añade un nombre de sitio y una dirección de correo electrónico que termine en tu dominio. Después, elije un nombre de usuario y una contraseña. Elije una contraseña segura y mantenga sus credenciales en algún lugar seguro. Por último, añade una dirección de correo electrónico privada que compruebe regularmente, complete los ajustes regionales y pulse Save and continue (Guardar y continuar).

 

bienvenida drupal

 

Al finalizar la instalación verás un mensaje de bienvenida.

Opción 2: Con la línea de comandos

Desde el directorio raíz de tu proyecto, ejecuta este comando ddev exec para instalar un sitio de Drupal predeterminado usando drush:

ddev exec drush site:install --account-name=admin --account-pass=admin

Esto creará su sitio de la misma manera que el asistente lo hará pero con algunas configuraciones de texto estándar. Su nombre de usuario y contraseña serán admin.

Ahora abra el sitio para verlo en su navegador:

ddev launch

Ahora está listo para comenzar a crear su sitio web, pero se considera una buena práctica comprobar que sus permisos son correctos para el directorio /sites/web/default. Aunque está trabajando localmente, esto no es un problema significativo, pero si transfiere estos permisos a un servidor de producción, supondrán un riesgo de seguridad.

Paso 4: Comprobar sus permisos

Durante la instalación del asistente, o cuando se cargue por primera vez su página de bienvenida, es posible que vea una advertencia sobre los ajustes de los permisos en su directorio /sites/web/default y un archivo dentro de ese directorio: settings.php.

Tras ejecutarse la secuencia de comandos de instalación, Drupal intentará configurar los permisos del directorio web/sites/default a read (lectura) y execute (ejecutar) para todos los grupos: este es un ajuste de permisos 555. También intentará configurar permisos para default/settings.php a solo lectura o 444. Si aparece esta advertencia, ejecute estos dos comandos chmod desde el directorio raíz de su proyecto. No hacerlo plantea un riesgo de seguridad:

chmod 555 web/sites/default
chmod 444 web/sites/default/settings.php

Para verificar que tienes los permisos correctos, ejecuta este comando ls con los conmutadores alh y d:

ls -alhd web/sites/default web/sites/default/settings.php

Ahora estás listo para desarrollar un sitio web Drupal 9 en tu equipo local.

Extras:

Como estamos trabajando con Docker y DDEV podremos ejecutar los siguientes comandos para manipular los contenedores desde cualquier lugar, ya que ddev está disponible globalmente:

ddev stop   Si lo ejecutamos desde nuestro directorio raiz, detendrá los contenedores del proyecto sin perder información.

ddev stop drupaladicto9 Aunque no estemos en la carpeta raíz del proyecto, detendrá los contenedores relacionados con el proyecto, porque estamos especificando el nombre del proyecto relacionado

ddev list Mostrará todos los proyectos que tenemos en marcha

ddev import-db --target-db=midb --src=midb.sql Importa una base de datos desde un archivo .sql

ddev composer require pathauto  Para descargar y añadir módulos usando Composer (En este caso Pathauto)

ddev exec drush cr  Para limpiar caché de drupal usando drush

ddev exec drush en pathauto -y   Para activar el módulo pathauto y sus dependencias usando drush

DDEV incluye muchos otros comandos útiles.

Puede reiniciar DDEV y continuar desarrollando localmente en cualquier momento.

 

Cómo instalar Drupal 9 usando Docker en Windows 10 Home

  • URL de Video remoto
Aprende a configurar un entorno local usando Ddev y Docker con WSL2

Cómo instalar Drupal 9 usando Docker en Windows 10 Home (1era Parte)

Si te dedicas al desarrollo o maquetación de páginas web, utilizas Windows  y además prefieres Drupal para tus proyectos, en lugar de otras opciones, es casi seguro que habrás escuchado al igual que yo, sobre el uso de Docker y sus contenedores; pero por diferentes razones, como falta de tiempo o documentación detallada en español, haz preferido mantenerte trabajando, en tu entorno local, empleando los métodos más habituales como la instalación de paquetes tipo Xampp, Mamp o Wamp. o a lo mejor te haz atrevido a montar un servidor apache con php y mysql, descargándote los recursos necesarios desde sus páginas oficiales, con la respectiva activación de librerías o configuraciones extras que te permitirán cumplir con los requerimientos para tu proyecto.

Pero uno de los inconvenientes más frecuentes, es que al intentar realizar cambios de entorno o trabajar con varias personas compartiendo el mismo proyecto, solemos encontrar problemas de incompatibilidad y nos agarramos al argumento  "EN MI LOCAL FUNCIONA". Estos fallos suelen ser provocados porque no hemos activado bien alguna librería de php o la versión de mysql no es la misma en ambos entornos. 

Trabajar con Docker, ofrece la posibilidad de establecer una única configuración que podrás "empaquetar" y exportar a cualquier entorno manteniendo las mismas características, para que todo funcione de forma correcta siempre. Pero para los usuarios de Windows esto representa alguno que otro inconveniente, ya que Docker está pensado para trabajar en Linux y así sacar mayor provecho de él. 

Por esta razón, a continuación quiero compartir contigo como instalar Linux en tu Windows 10 Home utilizando el WSL 2 "Windows Subsystem Linux" en lugar de máquinas virtuales como Virtual Box y luego pasaremos a instalar Drupal 9 utilizando Docker para que puedas evaluar en primera persona el cambio que representa.

Manual de instalación del Subsistema de Windows para Linux en Windows 10 Home

Requisitos

Lo primero que deberías comprobar es si tu versión de Windows 10 Home es compatible, para ello escribirás en el buscador de la parte inferior "winver", sin las comillas y al pulsar enter se abrirá la ventana que te indicará la versión de tu Windows Home.

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

Si estás ejecutando Windows 10, versión 1903 o 1909, abre "Configuración" en el menú de Windows, dirígete a "Actualización y seguridad" y selecciona "Buscar actualizaciones". El número de compilación debe ser 18362.1049 o posterior o 18363.1049 o posterior, con la compilación secundaria posterior a .1049. Leer más: La compatibilidad con WSL 2 estará disponible en breve para las versiones 1903 y 1909 de Windows 10. Consulte las instrucciones de solución de problemas.

Paso 1: Habilitar del Subsistema de Windows para Linux

Ahora que ya hemos comprobado que tenemos una versión compatible de Windows 10 home, debemos activar el "Subsitema windows para linux", podemos hacerlo de forma manual si escribimos "Features" o "Caracteristicas" para que se nos abra la ventana de Características de Windows, y allí activaremos las opciones "Plataforma de máquina virtual" y "Plataforma de hipervisor de windows", como se ven en las siguientes imágenes, o si lo prefieres, puedes abrir el PowerShell como administrador y ejecutar:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

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

Una vez activado, tendrás que reiniciar para que se realice el cambio correspondiente.

Paso 2: Descarga del paquete de actualización del kernel de Linux

Comprueba qué tipo de máquina tienes abriendo el PowerShell como administrador y escribiendo systeminfo | find "System Type"

Si tu sistema es x64 

Si tu sistema es ARM64

Una vez descargado el archivo de actualización haces doble clic y lo ejecutas, te pedirá permisos de administrador.

 

Paso 3: Define WSL 2 como versión predeterminada

Abre el PowerShell y ejecuta este comando para establecer WSL 2 como versión predeterminada al instalar una nueva distribución de Linux:

wsl --set-default-version 2

 

Paso 4: Instala la distribución de Linux que quieras

Abre Microsoft Store y selecciona tu distribución de Linux favorita. 

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

Si selecciona Ubuntu y después de instalar ejecutas en la cosola "sudo apt update" te lo actualizará a la versión más reciente de la distribución.

 

En los vínculos siguientes se abrirá la página de Microsoft Store para cada distribución:

La primera vez que inicies una distribución de Linux recién instalada, se abrirá una ventana de la consola y se te pedirá que esperes un minuto o dos para que los archivos se descompriman y se almacenen en tu equipo. Todos los inicios posteriores deberían tardar menos de un segundo en completarse.

Tendrás que crear una cuenta de usuario y una contraseña para la nueva distribución de Linux.

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

Felicidades!!!. Has instalado y configurado correctamente una distribución de Linux completamente integrada con el sistema operativo Windows 10 Home.

Categorias

Cómo instalar Drupal 9 usando Docker en Windows 10 Home 2da Parte

  • URL de Video remoto
Aprende a configurar un entorno local usando Ddev y Docker con WSL2

 Cómo instalar Drupal 9 usando Docker en Windows 10 Home (2da Parte)

Ahora que ya hemos aprendido Cómo instalar Linux utilizando el WSL 2 en Windows 10 Home, y que ya lo tenemos funcionando correctamente en nuestro ordenador, vamos a seguir con el verdadero objetivo de esta serie de artículos, que es poder trabajar con Drupal 8 ó 9 utilizando Docker, en lugar de los métodos tradicionales que habíamos conocido hasta ahora. 

Antes de continuar, debemos tener claro que, aunque trabajaremos con un entorno de Linux, el sistema operativo principal de nuestro ordenador sigue siendo Windows 10 Home, por lo que la versión de Docker que tendremos que descargarnos e instalar en nuestro ordenador será Docker para Windows, así que descárgalo desde el enlace y, como el resto de programas que se instalan en Windows, sólo tendrás que hacer doble clic para que comience el instalador y a continuación presionar el botón siguiente hasta que termine todo el proceso. Tienes varias imágenes sobre la instalación en la misma página del enlace, por lo que no voy a duplicarlo en este contenido para ahorrarnos espacio.

Una vez instalado y puesto en marcha el Docker para Windows, tendremos que ir al apartado Settings y activar la distribución de Linux que hemos instalado para que podamos ejecutar los Comando del Docker  en nuestra consola.

configuracion de docker

Instalación de Terminal Windows (opcional)

Ya que trabajas habitualmente con Windows, puedes aprovechar para sacar partido a la nueva Terminal Windows que permite habilitar varias pestañas (cambiar rápidamente entre varias líneas de comandos de Linux, el símbolo del sistema de Windows, PowerShell, la CLI de Azure, etc.), crear enlaces de teclado personalizados (teclas de método abreviado para abrir o cerrar pestañas, copiar y pegar, etc.), usar la característica de búsqueda y configurar temas personalizados (esquemas de colores, estilos y tamaños de fuente, imagen de fondo/desenfoque/transparencia). Más información.

Instalación de Terminal Windows.

windows terminal

Antes de comenzar a realizar nuestras instalaciones de Drupal 8 ó 9 utilizando Docker, es conveniente que realicemos varias comprobaciones e instalemos, si es necesario, algunos requisitos fundamentales para evitar problemas futuros de compatibilidad, comprueba que lo tienes todo en la siguiente lista y ya podrás empezar de lleno con tus proyectos.

  1. Instalación de Php 7.4 para Ubuntu en nuestro caso
     
  2. Instalación de Composer para windows, al igual que sucede con Docker, aunque trabajaremos en Linux, necesitará el Composer de Windows
     
  3. Asegúrate de que al arrancar Docker no tienes ningún otro servidor en funcionamiento, ej.: Apache o Mysql Server.
     
  4. Comprueba si alguna otra aplicación está utilizando el puerto 80 que usa Docker por defecto

 

Ahora que ya haz aprendido a configurar Docker en Windows 10 y haz repasado los requisitos que necesitarás para que funcione Drupal 8 ó 9 cuando lo instalemos con Docker, sólo me queda enseñarte las diferentes opciones con las que contarás, para que puedas elegir la que consideres más apropiada según tus conocimientos, experiencia y tipo de proyecto en el que quieres aventurarte.

Hasta la próxima!!