Symfony 5 | Instalación en Ubuntu 20.04 con Lando y WSL2 en Windows 11

     Aprovechando que poco a poco, nos estamos acostumbrando a trabajar en proyectos locales de Drupal, ejecutando Lando para nuestros servidores, por ser la forma más sencilla y rápida de comenzar a desarrollar, utilizando los contenedores de Docker sin tener que complicarnos la vida; en esta ocasión, te quiero mostrar la manera de comenzar con un proyecto de Symfony 5, en un entono Linux, con WSL2 y Windows 11, y así podrás comenzar a explorar otras alternativas para tus proyectos, además de conocer la estructura en la que está basado Drupal, a partir de la versión 8.

Prerrequisitos:

- Tener instalado en tu servidor local Lando. Si todavía no lo haz hecho y quieres aprender cómo hacerlo, Haz clic aquí

 

NOTA: Puedes acceder al repositorio listo para utlizar en este enlace  https://github.com/drupaladicto/symfony5-lando

 

Cómo instalar y comenzar un proyecto con Symfony usando Lando

     En realidad es mucho más sencillo de lo que pudieras imaginar, al igual que explicamos en el capítulo para instalar Drupal 10, solo necesitaremos colocarnos en la ubicación deseada para nuestro proyecto y una vez alli, creaemos el archivo al que llamaré configurador.sh, donde lo más importante es la extensión .sh, para que nos permita ejecutarlo dentro de nuestro servidor linux.

     A continaución, copiaremos el siguiente código, le daremos permisos totales, para evitar fallos durante el proceso de descarga e instalación y ya podremos comenzar a desarrollar casi de inmediato.

# Initialize a symfony recipe
mkdir symfony5-app \
  && cd symfony5-app \
  && lando init \
    --source cwd \
    --recipe symfony \
    --webroot public \
    --name symfony5-app

# Install symfony
lando composer create-project symfony/skeleton:"^5.4" tmp && cp -r tmp/. . && rm -rf tmp

# Install other Symfony dependencies you may like
lando composer require annotations asset doctrine encore form logger profiler security security-guard stof/doctrine-extensions-bundle twig validator var-dumper

# Start it up
lando start

# List information about this app.
lando info

# Run bin/console commands with: lando console
# Here is how to clear cache; 
lando console cache:clear

 

     Aclaración 24 de abril 2022: Poco después de haber subido el video y publicado la documentación, pude comprobar que el bundle Make, de Symfony se había actualizado para la versión 5 y daba fallos con la versión 5.4.6, por lo que decidí removerlo del archivo de instalación configurador.sh.

     No obstante, una vez terminada la instalación, podrás descargar la versión estable del bundle Make, ejecutando en tu consola el siguiente comando:

lando composer make

Explicación:

     En las primeras líneas, se creará la carpeta para nuestro proyecto y, a continuación, se moverá para añadir el arhivo de configuración de Lando, e iniciará el proceso de la descarga desde el repositorio oficial de Drupal. 

     Deberías sustituir, si lo prefieres, todas las líneas donde ves symfony5-app, que en este caso se refiere tanto al nombre de la carpeta donde estará alojado el proyecto de Symfony, como al nombre que dará Lando una vez instalado y que podrás comprobar si abres el archivo de cofiguración .lando.yml.

  # Initialize a symfony recipe
mkdir symfony5-app \
  && cd drupal10-app \
  && lando init \
    --source cwd \
    --recipe symfony \
    --webroot public \
    --name symfony5-app

     Las siguientes líneas son las encargadas de descargar el esqueleto para un proyecto Symfony, utilizando el comando de Lando Composer.

# Install symfony
lando composer create-project symfony/website-skeleton tmp && cp -r tmp/. . && rm -rf tmp

     En la siguiente línea, se descargarán las dependencias o paquetes, más comunes para comenzar a desarrollar nuestros proyectos, dentro de los que se incluyen doctrine, twig, entre otros, ahorrándonos tiempo considerablemente. El resto de paquetes podrás consultarlos y descargarlos desde la web: flex.symfony.com 

 # Install other Symfony dependencies you may like
lando composer require annotations asset doctrine encore form logger maker profiler security security-guard stof/doctrine-extensions-bundle twig validator var-dumper

     A continuación, se levantan nuevamente los servicios de Lando, para poner en funcionamiento la aplicación.

# Start it up
lando start

     Por último, se muestra la información del proyecto, gracias al comando Lando info y se limpia la consola, para que podamos acceder a nuestro proyecto y comenzar a trabajar en él.

# List information about this app.
lando info

# Run bin/console commands with: lando console
# Here is how to clear cache; 
lando console cache:clear

Curso Symfony | www.drupaladicto.com - Consultor especializado en drupal y symfony

Curso Symfony | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Si quieres explorar algo más de información antes del próximo artículo, puedes visitar la documentación oficial de Lando para Symfony

 

Symfony 5